第一个问题是出现信号进场两次,当根一分钟线进去一次,接着第二根又进去一次,
第二,图表上面出现开仓信号,但是模拟账户没有委托没有成交
sellshort(H>JSJ OR (H>ma60 AND H>ma100 ) OR (C-ENTERPRICE)/C>0.006 OR ((C-LL)/C>0.006 AND H>ENTERPRICE AND time>=1600 ) OR time=1900 OR ZS=0 and holding<0,7,marketr);
buy( ((ZS>=1 AND ZB>=1 ) OR (ZS=1 AND ZB>=1) ) and VALUEWHEN(ZS=1,TIME)>1400 and H>HH and LL1000>LL and C>MA60 and FD>0.012 and H>O and holding=0 and (TIME>1400 AND TIME<1859 ) ,7,marketr);
sell(L<JSJ OR (L<ma100 AND L<ma60) OR (ENTERPRICE-C)/C>0.006 OR ((HH-C)/C>0.006 AND L<ENTERPRICE AND time>=1600 ) OR ZS=0 OR time=1900 and holding>0,7,marketr);
buyshort( ((ZS<=-1 AND ZB<=-1 ) OR (ZS=-1 AND ZB<=-1) ) and VALUEWHEN(ZS=-1,TIME)>1400 and L<LL and HH1000<HH and C<MA60 and FD<-0.012 and L<O and holding=0 and (TIME>1400 AND TIME<1859 ) ,7,marketr);
sellshort(H>JSJ OR (H>ma60 AND H>ma100 ) OR (C-ENTERPRICE)/C>0.006 OR ((C-LL)/C>0.006 AND H>ENTERPRICE AND time>=1600 ) OR time=CLOSETIME(1) OR time=1900 OR ZS=0 and holding<0,7,marketr);
buy( ((ZS>=1 AND ZB>=1 ) OR (ZS=1 AND ZB>=1) ) and H>HH and C>MA60 and FD>0.012 and H>O and holding=0 and (TIME>0105 AND TIME<0729 ) ,7,marketr);
sell(L<JSJ OR (L<ma100 AND L<ma60) OR (ENTERPRICE-C)/C>0.006 OR ((HH-C)/C>0.006 AND L<ENTERPRICE AND time>=1600 ) OR time=CLOSETIME(1) OR ZS=0 OR time=1900 and holding>0,7,marketr);
buyshort( ((ZS<=-1 AND ZB<=-1 ) OR (ZS=-1 AND ZB<=-1) ) and L<LL and C<MA60 and FD<-0.012 and L<O and holding=0 and (TIME>0105 AND TIME<0729 ) ,7,marketr);
1.看下是第一个开仓K 是否有触发了平仓信号。因为你代码有holding限制,除非平仓了,否则不应该再出信号的了
2.有信号没下单的,请在查看-交易日志 里面找到相应时间点的日志记录,看下有没有触发信号的记录,每次下单日志都会详细记录的。如果没有触发的记录,说明那个信号要么是闪烁的信号要么是轮询时间比较大,导致错过了信号。
日志里面没有看到相关的记录,固定轮序时间是一秒,请问为何出现信号不进场,这个很不正常啊,或者那里的代码设置有问题
我用的都是H,L,跨品种函数里面的也都是H,L,这样的应该不会产生信号闪烁的问题吧,没有跨周期,只有同周期的跨品种函数调用
如何解决信号闪烁的问题,我要的就是只要出现信号就进场,不用去管最后收盘是不是符合进场条件
需要完整代码才能判断代码上是否有 可能导致闪烁的逻辑。上面代码还不足以进行这个判断。
此外还需要更详细的信息,如是开多还是开空没有执行,信号的K线时间是什么,以及相应的品种和周期。以便于我们本地加载查看。
没有跨周期,我感觉没有造成信号闪烁的原因,而且事实上的确出现信号了,为什么不发出委托,你们没有一个函数来解决出现信号不发出委托的吗
没有处理出信号不委托的函数。也可能是其他原因导致的信号闪烁,没有详细代码暂时不好下结论。代码不方便发论坛,请在官方群发给客服。此外贴下那段时间的日志记录吧 以及图标信号的截图。