runmode:0;
input:V1(1,1,100,1);
input:f1(0.4);
input:f2(0.07);
input:f3(0.18);
input:m(0.9);
input:x(3,1,10,1);
variable:up=0;
variable:bsetup=0;
variable:senter=0;
variable:benter=0;
variable:bbreak=0;
variable:sbreak=0;
variable:ltoday=0;
variable:h0=999999;
variable:sn=0;
variable:div=0;
variable:rf=false;
i:=m*(callstock(stklabel,vtopen,6,0)/100);
if barpos=1 then begin
sn:=0;
div:=max(x,1);//xdiv
end
hh:ref(h0,1),noaxis;
cc:=ref(close,1);
ll:=ref(ltoday,1);
if date>ref(date,1) then begin
sn:=sn+1;
up:=hh+f1*(cc-ll);
senter:=((1+f2)/2)*(hh+cc)-f2*ll;
benter:=((1+f2)/2)*(ll+cc)-f2*hh;
bsetup:=ll-f1*(hh-cc);
bbreak:=up+f3*(up-bsetup);
sbreak:=bsetup-f3*(up-bsetup);
h0:=high;
ltoday:=low;
rf:=hh-cc>=0.2{rangemin};
end
if high>h0 then h0:=high;
if low=opentime(1) and time=2 and rf then begin
if h0>=up and holding>=0 then begin
if low=benter-(bsetup-ltoday)/div then begin
if high>=benter-(bsetup-ltoday)/div then begin
sellshort(1,v1,thisclose);
buy(1,v1,thisclose);
end
end
end
if holding=i then
sellshort(1,v1,thisclose);
end
if holding>0 then begin
if enterprice-low>=i then
sell(1,v1,thisclose);
end
if holding=0 then begin
if high>=bbreak then
buy(1,v1);
end
if holding=0 then begin
if low=closetime(0)-500 then begin
if holding0 then
sell(1,v1);
end
资产:asset,noaxis,coloryellow,linethick2;