HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
//交易条件
VARIABLE:nb=0,mb=0,ns=0,ms=0;
h1:=hhv(h,enterbars+1);
l1:=llv(l,enterbars+1);
zuidab:=h1-enterprice;
zuidas:=enterprice-l1;
if zuidab>=10*mindiff and zuidab<20*mindiff then nb:=1;
if nb=1 and 2*(h1-c)>=zuidab and holding>0 then begin
sell(1,0.75*holding,marketr);
nb:=0;
end
if zuidab>20*mindiff then mb:=1;
if mb=1 and 5*(h1-c)>=2*zuidab and holding>0 then begin
sell(1,0.75*holding,marketr);
mb:=0;
end
if zuidas>=10*mindiff and zuidas<20*mindiff then ns:=1;
if ns=1 and 2*(c-l1)>=zuidas and holding>0 then begin
sellshort(1,0.75*holding,marketr);
ns:=0;
end
if zuidas>20*mindiff then ms:=1;
if ms=1 and 5*(c-l1)>=2*zuidas and holding>0 then begin
sellshort(1,0.75*holding,marketr);
ms:=0;
end
if ref(K2,1)<=0 then begin
sellshort(holding<0,holding,marketr);
buy(holding=0,holding,marketr);
end
if ref(K2,1)>0 then begin
sell(holding>0,holding,marketr);
buyshort(holding=0,holding,marketr);
end