老师 我不知道什么地方错误 麻烦给修改一下 谢谢 ! CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
CALLSTOCK(STKLABEL,VTHIGH,6,-1);
CALLSTOCK(STKLABEL,VTLOW,6,-1);
CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(昨高,N);//N日HIGH的最高价
HC:=HHV(昨收,N);//N日CLOSE的最高价
LC:=LLV(昨收,N);//N日CLOSE的最低价
LL:=LLV(昨低,N);//N日LOW的最低价
浮动区间:=MAX(HH-LL,HC-LL);//RANGE
上轨:开盘价+K1*浮动区间;
下轨:开盘价-K2*浮动区间;
手数:=SS;
开多条件:=C>上轨 AND HOLDING=0;
开空条件:=C<下轨 AND HOLDING=0;
if C>上轨 AND HOLDING=0, then begin
sellshort(1,holding,thisclose),orderqueue;
buy(holding=0,ss,thisclose),orderqueue;
end
if C<下轨 AND HOLDING=0, then begin
sell(1,holding,thisclose),orderqueue;
buyshort(holding=0,ss,thisclose),orderqueue;
end
=VALUEWHEN(CYC=1,OPEN);
这个写变量名,你改过了吗?
改过后再看下
INPUT:N(1,1,100,1),K1(1,1,100,1),K2(1,1,80.1),NMIN(1,1,100,1),SS(1,1,10000,1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
开盘价:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(昨高,N);
HC:=HHV(昨收,N);
LC:=LLV(昨收,N);
LL:=LLV(昨低,N);
浮动区间:=MAX(HH-LL,HC-LL);//RANGE
上轨:开盘价+K1*浮动区间;
下轨:开盘价-K2*浮动区间;
手数:=SS;
C>上轨 AND HOLDING=0;
C<下轨 AND HOLDING=0;
if C>上轨 AND HOLDING=0, then begin
sellshort(1,holding,thisclose),orderqueue;
buy(holding=0,ss,thisclose),orderqueue;
end
if C<下轨 AND HOLDING=0, then begin
sell(1,holding,thisclose),orderqueue;
buyshort(holding=0,ss,thisclose),orderqueue;
end
aa:C>上轨 AND HOLDING=0;
bb:C<下轨 AND HOLDING=0;
条件基本恒不成了,你把这两句话输出看下就知道了。
首先要先判断其运行结果是否符合你的交易思路。
其次,不符合的情况下,请表述你的条件逻辑。
而不是为了成交而成交,,那条件是1恒成立,都可以开