gui onclick timestamp enhancements
This commit is contained in:
@ -59,7 +59,11 @@ chart.subscribeCrosshairMove((param) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
firstRow.innerText += ' vwap' + ' ' + vwap.toFixed(2) + " O" + bars.open + " H" + bars.high + " L" + bars.low + " C" + bars.close + " V" + volumes.value + "";
|
firstRow.innerText += ' vwap' + ' ' + vwap.toFixed(2) + " O" + bars.open + " H" + bars.high + " L" + bars.low + " C" + bars.close + " V" + volumes.value + "";
|
||||||
}
|
|
||||||
|
//display timestamp in trade-timestamp input field
|
||||||
|
$('#trade-timestamp').val(param.time)
|
||||||
|
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
firstRow.innerText = '-';
|
firstRow.innerText = '-';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,11 @@ function findCommonElements3(arr1, arr2) {
|
|||||||
return arr1.some(item => arr2.includes(item))
|
return arr1.some(item => arr2.includes(item))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function set_timestamp(timestamp) {
|
||||||
|
//console.log(timestamp);
|
||||||
|
$('#trade-timestamp').val(timestamp);
|
||||||
|
}
|
||||||
|
|
||||||
//KEY shortcuts
|
//KEY shortcuts
|
||||||
Mousetrap.bind('e', function() {
|
Mousetrap.bind('e', function() {
|
||||||
$( "#button_edit" ).trigger( "click" );
|
$( "#button_edit" ).trigger( "click" );
|
||||||
@ -222,6 +227,14 @@ $(document).ready(function () {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//on hover of each logline move timestamp to trade history input field
|
||||||
|
// $('.line').click(function () {
|
||||||
|
// timestamp = $(this).data("timestamp");
|
||||||
|
// console.log(timestamp);
|
||||||
|
// $('#trade-timestamp').val(timestamp);
|
||||||
|
// })
|
||||||
|
|
||||||
|
|
||||||
//button refresh
|
//button refresh
|
||||||
$('#button_refresh').click(function () {
|
$('#button_refresh').click(function () {
|
||||||
runnerRecords.ajax.reload();
|
runnerRecords.ajax.reload();
|
||||||
|
|||||||
@ -82,7 +82,7 @@ function connect(event) {
|
|||||||
|
|
||||||
|
|
||||||
logcnt++;
|
logcnt++;
|
||||||
row = '<div data-toggle="collapse" data-target="#rec'+logcnt+'">'+logLine.time + " " + logLine.event + ' - '+ (logLine.message == undefined ? "" : logLine.message) +'</div>'
|
row = '<div data-toggle="collapse" onclick="set_timestamp(' + logLine.time + ')" data-target="#rec'+logcnt+'">'+logLine.time + " " + logLine.event + ' - '+ (logLine.message == undefined ? "" : logLine.message) +'</div>'
|
||||||
str_row = JSON.stringify(logLine.details, null, 2)
|
str_row = JSON.stringify(logLine.details, null, 2)
|
||||||
//row_detail = '<div id="rec'+logcnt+'" data-toggle="collapse" data-target="#rec'+logcnt+'"class="collapse pidi"><pre>' + str_row + '</pre></div>'
|
//row_detail = '<div id="rec'+logcnt+'" data-toggle="collapse" data-target="#rec'+logcnt+'"class="collapse pidi"><pre>' + str_row + '</pre></div>'
|
||||||
|
|
||||||
@ -91,6 +91,7 @@ function connect(event) {
|
|||||||
var lines = document.getElementById('lines')
|
var lines = document.getElementById('lines')
|
||||||
var line = document.createElement('div')
|
var line = document.createElement('div')
|
||||||
line.classList.add("line")
|
line.classList.add("line")
|
||||||
|
line.dataset.timestamp = logLine.time
|
||||||
|
|
||||||
line.insertAdjacentHTML( 'beforeend', row );
|
line.insertAdjacentHTML( 'beforeend', row );
|
||||||
line.insertAdjacentHTML( 'beforeend', row_detail );
|
line.insertAdjacentHTML( 'beforeend', row_detail );
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -106,7 +106,7 @@ class Strategy:
|
|||||||
#propojujeme notifice s interfacem (pro callback)
|
#propojujeme notifice s interfacem (pro callback)
|
||||||
self.order_notifs.connect_callback(self)
|
self.order_notifs.connect_callback(self)
|
||||||
self.state = StrategyState(name=self.name, symbol = self.symbol, stratvars = self.stratvars, interface=self.interface, rectype=self.rectype)
|
self.state = StrategyState(name=self.name, symbol = self.symbol, stratvars = self.stratvars, interface=self.interface, rectype=self.rectype)
|
||||||
|
|
||||||
elif mode == Mode.BT:
|
elif mode == Mode.BT:
|
||||||
self.dataloader = Trade_Offline_Streamer(start, end, btdata=self.btdata)
|
self.dataloader = Trade_Offline_Streamer(start, end, btdata=self.btdata)
|
||||||
self.bt = Backtester(symbol = self.symbol, order_fill_callback= self.order_updates, btdata=self.btdata, cash=cash, bp_from=start, bp_to=end)
|
self.bt = Backtester(symbol = self.symbol, order_fill_callback= self.order_updates, btdata=self.btdata, cash=cash, bp_from=start, bp_to=end)
|
||||||
@ -121,6 +121,7 @@ class Strategy:
|
|||||||
return -1
|
return -1
|
||||||
|
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
|
self.state.mode = self.mode
|
||||||
|
|
||||||
"""SAVE record to respective STATE variables (bar or trades)
|
"""SAVE record to respective STATE variables (bar or trades)
|
||||||
ukládáme i index pro případné indikátory - pro zobrazení v grafu
|
ukládáme i index pro případné indikátory - pro zobrazení v grafu
|
||||||
@ -517,8 +518,12 @@ class StrategyState:
|
|||||||
self.iter_log_list = []
|
self.iter_log_list = []
|
||||||
self.profit = 0
|
self.profit = 0
|
||||||
self.tradeList = []
|
self.tradeList = []
|
||||||
|
self.mode = None
|
||||||
|
|
||||||
def ilog(self, e: str = None, msg: str = None, **kwargs):
|
def ilog(self, e: str = None, msg: str = None, **kwargs):
|
||||||
|
if self.mode == Mode.LIVE or self.mode == Mode.PAPER:
|
||||||
|
self.time = datetime.now().timestamp()
|
||||||
|
|
||||||
if e is None:
|
if e is None:
|
||||||
if msg is None:
|
if msg is None:
|
||||||
row = dict(time=self.time, details=kwargs)
|
row = dict(time=self.time, details=kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user