我用全局变量,象以下这样写怎么测试不了呢?
=========================
variable: n:=0 ;
IF n=1 and KDA1 AND HOLDING<0 THEN BEGIN
平空:sellshort(1,0,marketr);
n:=0;
END
IF n=0 AND KDA1 AND HOLDING=0 THEN BEGIN
开多: BUY( 1 ,1,MARKETR);
n:=1;
END
IF n=1 and KKA1 AND HOLDING>0 THEN BEGIN
平多: SELL(1,0,MARKETR);
n:=0;
END
IF n=0 and KKA1 and HOLDING=0 THEN BEGIN
开空:BUYSHORT( 1 ,1,MARKETR);
n:=1;
END
在入场规则中勾上严格使用时间断数据测试,再试试
最简单的方法就是把代码叠到K线图上看下,超过一个月有没有信号!
1,如果有,则原因可能是您本地没有以前测试品种的历史数据,补充下即可
2,如果没有,则对应您代码有限制,自行查看下编写代码部分
帮我看看下面这段有没问题,谢谢了
input:s(6,3,50,5);
m:=NUMTOSTR(s,0);
ADXQ:=STKINDI(STKLABEL,'DMI.ADX('&m&')',0,5,-1),coloryellow,noaxis;
ADXQQ:=STKINDI(STKLABEL,'DMI.ADX',0,5,-2);
ADXXS:=ADXQ>ADXQQ AND ADXq>15 and ADXq<85;
ADXXX:=ADXQ<ADXQQ ;
INPUT:BOLLM(50,5,300,30),BOLLN(1.25,0.1,10,0.1);
MID : MA(CLOSE,BOLLM);
UPPER: MID + BOLLN*STD(CLOSE,BOLLM);
LOWER: MID - BOLLN*STD(CLOSE,BOLLM);
A1:=C<LOWER;COLORRED;// 平空开多
A2:=C>UPPER;COLORGREEN;//平多开空
//交易系统
variable:m1=0;
IF m1=1 and A2 AND HOLDING>0 THEN BEGIN
平多2:SELL( 1 ,0,MARKETR);
m1=0;
end
if m1=1 and A1 AND holding<0 then begin
平空2:SELLSHORT(1 ,0,MARKETR);
M1:=0;
END
IF holding=0 and m1=0 AND A1 THEN BEGIN
开多2:BUY( 1 , 1,MARKETR);
M1:=1;
END
IF holding=0 and m1=0 AND A2 THEN BEGIN
开空2:buyshort( 1 ,1,MARKETR);
M1:=1;
END