VARIABLE:TB1=0,TB2=0,TS1=0,TS2=0;
手数:=SS;
昨高:=CALLSTOCK(stklabel,VTHIGH,6,-1);//昨高ref(HIGH,1);
昨低:=CALLSTOCK(stklabel,VTLOW,6,-1);//昨低C;ref(low,1);
昨收:=CALLSTOCK(stklabel,VTCLOSE,6,-1);//昨收ref(close,1);
枢纽价:=(昨高+昨低+昨收)/3;
//IF N>=1 THEN BEGIN今高:=A;//今高今低:=B;//今低END*/
//反转买入价
Revbuy:2*枢纽价-昨高;
//观察买入价
Setupbuy:枢纽价-(昨高-昨低);
//反转卖出价
Revsell:2*枢纽价-昨低;
//观察卖出价
Setupsell:枢纽价+(昨高-昨低);
//开多单条件1,小于观察买入价
if ref(LOW,1)<Setupbuy THEN
TB1:=1;
//开多单条件2,大于反转买入价
IF REF(HIGH,1)>Revbuy and TB1 then
TB2:=1;
//开空单条件1,大于观察卖出价
if REF(HIGH,1)>Setupsell tHEN
TS1:=1;
//开空单条件2,小于反转卖出价
IF REF(LOW,1)<Revsell and TS1 THEN
TS2:=1;
//反转开多
if TB1 AND TB2 then BEGIN
TB1:=0;
TB2:=0;
BUY(HOLDING<=0,手数,NEXTOPEN);
end
//反转开空
IF TS1 AND TS2 THEN BEGIN
TS1:=0;
TS2:=0;
BUYSHORT(HOLDING>=0,手数,NEXTOPEN);
END
sell(ref(HIGH,1)>Setupsell OR REF(LOW,1)<Setupbuy,手数,NEXTOPEN);// 多单止盈及止损
SELLSHORT(ref(low,1)<Setupbuy or REF(LOW,1)>Setupsell,手数,NEXTOPEN);//空单止盈及止损
IF TIME>=145500 and time<=150000 OR TIME>=225500 AND TIME<=230000 THEN BEGIN //日内平仓
收盘平多:SELL(1,手数,nextopen);
收盘平空:SELLSHORT(1,手数,nextopen);
END
请问以上代码在进行测试的时候为什么不下单?谢谢
BUYSHORT(HOLDING>=0,手数,NEXTOPEN);
图表策略不能在有反向虚拟仓位的时候开仓。必须先平后开。你这里的开仓如上面这样都无法操作的。