你好,策略是单品种多周期的,全部在最小周期(data0)上操作,使用小周期low和全局变量作为判断条件,可是实盘中经常出现信号闪烁(在消息中心log看到的),回测都是正常的,但是实盘跑起来,有时候下单,有时候不下单,而且发现程序没有下单的情况,经常出现在刚开盘,行情变化比较快的时段,代码格式如下:
之所以在sell中使用data0.open,是考虑到向下跳空情况
请老师解答,谢谢
急,在线等。。。
代码太少,不能确定问题
这种情况开了自动同步就比较好调试,可以根据信号时间,对应监控器补单的时间,找到闪烁的问题
比如图上是10点出信号 ,但由于信号是闪烁的 程序没能正常下单
最后监控器在10:30补上,那就说明信号只能在10:30出现
那请问,我上面截图的这部分代码,这种处理方式,有问题吗?
您这段代码是有问题的。这样会导致满足交易条件后,下一个Tick信号就消失了。您对TB的Buy/Sell指令体系理解有误。
请问换成这种方式呢?我还是没明白您说的,TB的Buy/Sell指令体系,是什么?具体在哪能了解到呀?您是指程序执行过程中下单指令是异步执行的吗?麻烦进一步解释一下呗
因为在盘中的最新bar上,每一次tick驱动都会跑一遍公式。
第一遍,全局变量满足条件,buy语句执行,在图上标上记号。全局变量修改值。
第二遍运行,首先重置上一次运行的所有结果,当前bar所有信号,画线抹除。由于全局变量被修改,不满足条件,buy语句不执行,图上没有信号,图表上就没有信号。
您的意思是不能用全局变量吗?像我上面那种写法可以吗?拿到Sell()执行后的返回结果,然后再修改全局变量,这种。1、每次tick执行一遍公式,程序是同步执行吗?上一个tick调用公式执行完,再执行下一次tick调用吗?2、公式里的Sell方法,也是同步的吗?如果是,是不是我在拿到Sell()返回值再修改全局变量,就可以了
麻烦有老师解答一下我的问题呗
接到sell()返回值,再执行更新全局变量的方式,可行吗?目前情况是,实盘开平仓总是闪烁,到了价格实盘账户开平仓不能正常执行,K线上的信号显示都是次要的