不同周期都是系统定义的周期,用户能自定义k线周期行情吗?例如2分钟或4分钟?
只是需要2分钟或者4分钟响应一次k线事件的话,可以通过代码如下实现。
def OnStart(context): print("I\'m starting...") g.code = GetMainContract('CFFEX','IF',20) #设置全局交易品种,获取主力合约 g.count = 0 #记录Bar数,设置每2分钟执行一次OnBar事件 SubscribeBar(g.code, BarType.Min) #订阅行情,触发OnBar事件 context.myacc = None if "回测期货" in context.accounts : print("登录交易账号[回测期货]") if context.accounts["回测期货"].Login() : context.myacc = context.accounts["回测期货"] #开盘事件 def OnExchangeOpen(context, accountname, exchangecode, productcode): if exchangecode == 'CFFEX': #过滤交易所 UnsubscribeBar(g.code, BarType.Min) #取消行情订阅,避免重复触发OnBar事件 g.code = GetMainContract('CFFEX','IF',20) SubscribeBar(g.code, BarType.Min) #订阅分钟行情 g.count = 0 #初始化Bar数 #行情事件 def OnBar(context,code, type): if g.count % 2 == 0: #每2分钟执行一次 print("调用到OnBar事件")
完整策略可以参考: https://quant.pobo.net.cn/forum-portal/post/postDetail/753
只是需要2分钟或者4分钟响应一次k线事件的话,可以通过代码如下实现。
完整策略可以参考: https://quant.pobo.net.cn/forum-portal/post/postDetail/753