在回测环境下,请问如果挂单的话,是按照下一个 tick 的价格成交么?还是下一分钟Bar 的开盘价格?
在回测环境下,请问如果挂单的话,是按照下一个 tick 的价格成交么?还是下一分钟Bar 的开盘价格?
可以自己结合自己的数据对照就知道了。
如果是基于tick交易就是tick,如果是基于bar交易就是bar
charlesttt wrote:
在回测环境下,请问如果挂单的话,是按照下一个 tick 的价格成交么?还是下一分钟Bar 的开盘价格?
另外在回测过程中出现了明明我的limit price 比市场价格低很多,但依然short 指令发出去不能trade 的情况。这种情况应该检查哪里呢?
回测的停止单的话,可以去vnpy.app.cta_strategy.backtesting下的cross_limit_order函数中打印排查看看
xiaohe wrote:
回测的停止单的话,可以去vnpy.app.cta_strategy.backtesting下的cross_limit_order函数中打印排查看看
如果单看下面这个code。在回测的时候,short 的的单,是在下1min 还是下5min 还是下个tick 执行呀?
def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
""""""
super().__init__(cta_engine, strategy_name, vt_symbol, setting)
self.bg5 = BarGenerator(self.on_bar, window = 5, on_window_bar = self.on_5min_bar, interval = Interval.MINUTE)
def on_tick(self, tick: TickData):
"""
Callback of new tick data update.
"""
self.bg5.update_tick(tick)
def on_bar(self, bar: BarData):
"""
Callback of new bar data update.
"""
self.bg5.update_bar(bar)
def on_5min_bar(self, bar: BarData):
am = self.am
am.update_bar(bar)
if *** some logic ***:
self.short(bar.close_price+10, 5)
5min。交易逻辑写在哪个函数下就在哪个频率下执行。
是的