请教:
F TYPE(-1)=3 THEN BEGIN
平空:SELLSHORT(PK,ss,limitr,MAX(aaa,O));
END
IF TYPE(-1)=4 && HOLDING=0 THEN BEGIN //平空信号
开多:BUY(KD ,ss,limitr,MAX(aaa,O));
END
IF TYPE(-1)= 1 THEN BEGIN
平多:SELL(PD,ss,limitr,MIN(bbb,O));
END
IF TYPE(-1)=2 AND HOLDING=0 THEN BEGIN
开空:BUYSHORT(KK ,ss,limitr,MIN(bbb,O)); //开空信号
END
平多后只开空,平空后只开多,上面的方法能实现吗?
上次信号类型用1不是-1:TYPE(1)
这样写有个问题,就是第一个开仓信号之前是没有平仓信号的,开仓条件总是不成立
平空:SELLSHORT(PK and holding<0,ss,limitr,MAX(aaa,O)); //平空用holding<0就能判断之前是开空了,因为每次开平手数是一样的
IF TYPE(1)=4 or TYPE(1)=0 and HOLDING=0 THEN BEGIN //开多之前是平空或者之前无信号
开多:BUY(KD ,ss,limitr,MAX(aaa,O));
END
平多:SELL(PD and holding>0,ss,limitr,MIN(bbb,O)); //平多用holding>0就能判断之前是开多了,因为每次开平手数是一样的
IF TYPE(1)=2 or TYPE(1)=0 AND HOLDING=0 THEN BEGIN//开空之前是平多或者之前无信号
开空:BUYSHORT(KK ,ss,limitr,MIN(bbb,O)); //开空信号
END