KD:=DK>=18; //开多条件
PD:= //平多条件
KK:=DK<=10; //开空条件
PK:=; //平空条件
平多条件和平空条件都设为盈利10点,平仓。该怎么写?
sell((c-ENTERPRICE)>=10*MINDIFF and holding>0,holding,market);
sellshort((ENTERPRICE-c)>=10*MINDIFF and holding<0,holding,market);
可以参考下这里的思路:
http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=173541&replyID=&skin=1
用2个全局变量,各种分别控制下。
VARIABLE:NUM1:=0,NUM2:=0; // 全局变量,来控制当天交易次数
CS:=1; //限定一天多空最多各交易1次
MA5:=MA(CLOSE, 5);
MA20:=MA(CLOSE, 20);
COND1:=CROSS(MA5,MA20);
COND2:=CROSS(MA20,MA5);
IF COND2 AND HOLDING>0 THEN SELL(1,1,MARKET);
IF COND2 AND HOLDING=0 AND NUM2<CS THEN
BEGIN
BUYSHORT(1,1,MARKET);
NUM2:=NUM2+1;
END
IF COND1 AND HOLDING<0 THEN SELLSHORT(1,1,MARKET);
IF COND1 AND HOLDING=0 AND NUM1<CS THEN
BEGIN
BUY(1,1,MARKET);
NUM1:=NUM1+1;
END
IF TIME=CLOSETIME(0) THEN // CLOSETIME(0)是取商品期货最后一节的交易时间,收盘的同时,NUM赋值为0。
BEGIN
NUM1:=0;
NUM2:=0;
END