INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.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);//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*浮动区间; IF LOW<=下轨 THEN BEGIN SELL(HOLDING>0 AND ENTERBARS>0,0,market); BUYSHORT(HOLDING=0,1,market); END IF HIGH>=上轨 THEN BEGIN SELLSHORT(HOLDING<0 AND ENTERBARS>0,0,market); BUY(HOLDING=0,1,market); END 如何加入当开空头,达到30点止盈,当日不在开空单,如第二日空头条件达成,则开新仓 |
VARIABLE:x=0;
INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.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);//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*浮动区间;
IF LOW<=下轨 and x=0 THEN BEGIN
SELL(HOLDING>0 AND ENTERBARS>0,0,market);
BUYSHORT(HOLDING=0,1,market);
END
IF HIGH>=上轨 THEN BEGIN
SELLSHORT(HOLDING<0 AND ENTERBARS>0,0,market);
BUY(HOLDING=0,1,market);
END
//30点空头止盈
if enterprice-l>=30 then begin
sellshort(holding<0,holding,market);
x:=1;
end
if time=closetime(0) then x:=0;