如果真有这么多,也没什么合理不合理的。就一句句写了,如果是满足其一就平仓,那就把这些条件用or关联下。
条件a:....;
条件b:....;
平仓条件:条件a or 条件b;
平空‘IF ( PK1 OR PK2 OR PK3 OR PK4 OR PK5 OR PK6 OR PK7 OR PK8 OR PK9 ) THEN SELLSHORT(HOLDING>0,HOLDING,MARKET);
IF ( PK10 OR PK11 OR PK12 OR PK13 OR PK14 OR PK15 OR PK16 OR PK17) THEN SELLSHORT(HOLDING>0,HOLDING,MARKET);
开多;
BUY(KD1 AND HOLDING=0,1,THISCLOSE);//实际交易中按照对手价开仓,回测中是本周起收盘价。
BUY(KD2 AND HOLDING=0,1,THISCLOSE);
BUY(KD3 AND HOLDING=0,1,THISCLOSE);
平多;
IF (PD1 OR PD2 OR PD3 OR PD4 OR PD5 OR PD6 OR PD6 OR PD7 OR PD8 OR PD9 OR PD10) THEN SELL(HOLDING>0,HOLDING,MARKET);
IF (PD11 OR PD12 OR PD13 OR PD14 OR PD15 OR PD16 OR PD17 ) THEN SELL(HOLDING>0,HOLDING,MARKET);
开空;
BUYSHORT(KK1 AND HOLDING=0,1,THISCLOSE);
BUYSHORT(KK2 AND HOLDING=0,1,THISCLOSE);
BUYSHORT(KK3 AND HOLDING=0,1,THISCLOSE);
我这样写信号执行有问题吗。老师指导一下
SELLSHORT(HOLDING<0,HOLDING,MARKET); //空头时候 holding是负数,这里判断仓位是小于0的判断。另外就是如果没有需要和平仓一起进行的其他操作,如给全局变量赋值之类的,那么平仓时候其实可以不用做仓位判断的。
其他地方 没啥问题什么的。
“
SELLSHORT(HOLDING<0,HOLDING,MARKET);
//空头时候
holding是负数,这里判断仓位是小于0的判断。另外就是如果没有需要和平仓一起进行的其他操作,如给全局变量赋值之类的,那么平仓时候其实可以不用做仓位判断的。
”
直接照抄下就行了。
IF ( PK1 OR PK2 OR PK3 OR PK4 OR PK5 OR PK6 OR PK7 OR PK8 OR PK9 ) THEN SELLSHORT(
HOLDING<0,HOLDING,MARKET);
IF ( PK10 OR PK11 OR PK12 OR PK13 OR PK14 OR PK15 OR PK16 OR PK17) THEN SELLSHORT(
HOLDING<0,HOLDING,MARKET);
BUY(KD1 AND HOLDING=0,1,THISCLOSE);//实际交易中按照对手价开仓,回测中是本周起收盘价。
BUY(KD2 AND HOLDING=0,1,THISCLOSE);
BUY(KD3 AND HOLDING=0,1,THISCLOSE);
IF (PD1 OR PD2 OR PD3 OR PD4 OR PD5 OR PD6 OR PD6 OR PD7 OR PD8 OR PD9 OR PD10) THEN SELL(HOLDING>0,HOLDING,MARKET);
IF (PD11 OR PD12 OR PD13 OR PD14 OR PD15 OR PD16 OR PD17 ) THEN SELL(HOLDING>0,HOLDING,MARKET);
开空;
BUYSHORT(KK1 AND HOLDING=0,1,THISCLOSE);
BUYSHORT(KK2 AND HOLDING=0,1,THISCLOSE);
BUYSHORT(KK3 AND HOLDING=0,1,THISCLOSE);
红色地方就是改了的地方。