N:RAND(2);
IF N=1 AND HOLDING=0 THEN BEGIN
BUY(1,20%,LIMIT,CLOSE);
DRAWTEXT(1 ,LOW ,"开多" ,1 );
END
IF (CLOSE-AVGENTERPRICE)/AVGENTERPRICE>=0.1 OR (AVGENTERPRICE-CLOSE)/AVGENTERPRICE<=-0.1 AND HOLDING>0 THEN BEGIN
SELL(1,HOLDING,MARKET);
DRAWTEXT(1 ,LOW ,"平多" ,1 );
END
IF N=2 AND HOLDING=0 THEN BEGIN
BUYSHORT(1,20%,LIMIT,CLOSE);
DRAWTEXT(1 ,LOW ,"开空" ,1 );
END
IF (AVGENTERPRICE-CLOSE)/AVGENTERPRICE<=-0.1 AND (AVGENTERPRICE-CLOSE)/AVGENTERPRICE>=0.1 AND HOLDING<0 THEN BEGIN
SELLSHORT(1,HOLDING,MARKET);
DRAWTEXT(1 ,LOW ,"平空" ,1 );
END
这段代码是想表达随机开仓,止盈止损都是10%,开始好像写出来在图上显示的信号不一致,出错在那个环节?
N:RAND(2);
IF N=1 AND HOLDING=0 THEN BEGIN
BUY(1,20%,LIMIT,CLOSE);
DRAWTEXT(1 ,LOW ,"开多" ,1 );
END
Q:(CLOSE-AVGENTERPRICE)/AVGENTERPRICE;
IF ((CLOSE-AVGENTERPRICE)/AVGENTERPRICE>=0.1 OR (AVGENTERPRICE-CLOSE)/AVGENTERPRICE
>=0.1) AND HOLDING>0 THEN BEGIN
SELL(1,HOLDING,MARKET);
DRAWTEXT(1 ,LOW ,"平多" ,1 );
END
IF N=2 AND HOLDING=0 THEN BEGIN
BUYSHORT(1,20%,LIMIT,CLOSE);
DRAWTEXT(1 ,LOW ,"开空" ,1 );
END
IF ((AVGENTERPRICE-CLOSE)/AVGENTERPRICE<=-0.1 or (AVGENTERPRICE-CLOSE)/AVGENTERPRICE>=0.1 )AND HOLDING<0 THEN BEGIN
SELLSHORT(1,HOLDING,MARKET);
DRAWTEXT(1 ,LOW ,"平空" ,1 );
END
上面这个红色部分,应该改下。因为你这里计算是按照 AVGENTERPRICE-CLOSE来的。