请问:
C-O>10;//开多,
C-O<10;//开空,
DD:=C-O>10;
KK:=C-O<10;
SELLSHORT(DD,1,THISCLOSE); //平空信号
BUY(DD AND HOLDING=0,1,THISCLOSE); //开多信号
SELL(KK,1,THISCLOSE); //平多信号
BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
要求即时开仓,并且在一根K线上(只要满足条件)就能正反开仓,能实现吗?
是这样的,当C-O>10时开多,当C-O<10时,先平多,再开空,要求每K线都能正反开仓,交易模型不要过滤,
用固定轮询可以实现,不过会存在信号闪烁的情况导致漏单。
SELLSHORT(DD,1,THISCLOSE); //平空信号
BUY(DD AND HOLDING=0,1,THISCLOSE); //开多信号
SELL(KK,1,THISCLOSE); //平多信号
BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
SELL(DP,1,THISCLOSE );//多平
SELLSHORT(KP,1,THISCLOSE);//平空
如果这7段程序能各自独立运行,那么信号的闪烁就无所谓了,轮到那段程序就执行那段,只要符合自已的要求就可,并不一定要去判断前一个信号是什么,
如:当前无持仓,当轮到多平或平空程序时,无任是否有持仓都触发一次,这样就不可能有漏单了,这样就太好了,
实时代码那段满足就执行那段,问题您图表的HOLDING是依据历史记录的。
看个简单的例子,去掉
HOLDING,在5分钟周期中,BUY(DD,1,THISCLOSE); //开多信号
BUYSHORT(KK,1,THISCLOSE); //开空信号
如果能单独运行的话,为什么不同时显示呢?只显示空开,而且是很久以前的信号,
如果是实时双向都应该有信号,其实我们不要对称的交易法则,如:有多必有空,或有空必有多,需要的是真正的单独运行,