{用日内均价线和均线ma1的金死叉做为入场条件
1、当出现连续两次亏损时,则取第一次开仓时间到第二次平仓时间的最高价和最低价做为上轨下轨K1、K2
2、当价格突破上轨时开多、以下轨做为初始止损,以均线和日内均价线的死叉做为止盈
3、当价格突破下轨时开空、以上轨做为初始止损,以均线的日内均价线金叉做为止盈
4、第三次无论是否盈利亏损、第四次开仓从新以均线金死叉做为进出场条件
开盘前5分钟不开仓、收盘平仓
}
variable:bj=0;
variable:n=0;
ma1:=ma(c,10);
jj:=sum(amount,todaybar)/sum(vol,todaybar)/multiplier;
tt:=time0>timetot0(opentime(1))+5*60 and time<closetime(0);
if cross(jj,ma1) and holding<0 and bj=0 then begin
sellshort(1,0,marketr);
if numprofit(1)>0 then n:=0;
if numprofit(1)<0 then n:=n+1;
end
if cross(jj,ma1) and bj=0 then buy(holding=0,1,marketr);
if cross(ma1,jj) and holding>0 and bj=0 then begin
sell(1,0,marketr);
if numprofit(1)>0 then n:=0;
if numprofit(1)<0 then n:=n+1;
end
if cross(ma1,jj) and bj=0 then buyshort(holding=0,1,marketr);
if n=2 and ref(n,1)=1 then bj:=1;
nn:=barslast(n=1 and ref(n=0,1));
k1:=valuewhen(n=2 and ref(n=1,1),hhv(h,nn+1));//上轨
k2:=valuewhen(n=2 and ref(n=1,1),llv(l,nn+1));//下轨
if cross(c,k1) and holding=0 and bj=1 then begin
buy(1,1,marketr);
zs:=k2;
end
if c<zs and holding>0 and bj=1 then begin
sell(1,0,marketr);
bj:=0;
end
if cross(jj,ma1) and holding>0 and bj=1 then begin
sell(1,0,marketr);
bj:=0;
end
if cross(k2,c) and holding=0 and bj=1 then begin
buyshort(1,1,marketr);
zs:=k1;
end
if c>zs and holding<0 and bj=1 then begin
sellshort(1,0,marketr);
bj:=0;
end
if cross(ma1,jj) and holding<0 and bj=1 then begin
sellshort(1,0,marketr);
bj:=0;
end
if time=closetime(0) then begin
sell(1,0,marketr);
sellshort(1,0,marketr);
end