variable:hh=0,ll=0;
MID : MA(CLOSE,26);
UPPER:MID + 2*STD(CLOSE,26);
LOWER:MID - 2*STD(CLOSE,26);
//平空开多--价格下穿上轨
if cross(UPPER,c) then
begin
sellshort(holding<0,1,market);
if holding=0 then
begin
buy(1,1,market);
ll:=low;
end
end
//价格超过开多这根K线的最低点时止损平多
if holding>0 and enterbars>1 then sell(c<ll,1,market);
//止盈条件是当价格上穿上轨时止盈平仓
scs:=cross(c,upper);
if holding>0 and enterbars>1 then sell(scs,1,market);
//平多开空--价格上穿上轨时
if cross(c,UPPER) then
begin
sell(holding>0,1,market);
if holding=0 then
begin
buyshort(1,1,market);
hh:=high;
end
end
//价格超过开空这根K线的最高点时止损平空
if holding<0 and enterbars>1 then sellshort(c>hh,1,market);
//止盈条件是当价格上穿下轨时止盈平仓。
scx:=cross(c,lower);
if holding<0 and enterbars>1 then sellshort(scx,1,market);
globalvariable:hh=0,ll=0;
MID : MA(CLOSE,26);
UPPER:MID + 2*STD(CLOSE,26);
LOWER:MID - 2*STD(CLOSE,26);
//平空开多--价格下穿上轨
if cross(UPPER,c) then
begin
tsellshort(tholding<0,1,mkt);
if tholding=0 then
begin
tbuy(1,1,mkt);
ll:=low;
end
end
//价格超过开多这根K线的最低点时止损平多
if tholding>0 and tenterbars>1 then tsell(c<ll,1,mkt);
//止盈条件是当价格上穿上轨时止盈平仓
scs:=cross(c,upper);
if tholding>0 and tenterbars>1 then tsell(scs,1,mkt);
//平多开空--价格上穿上轨时
if cross(c,UPPER) then
begin
tsell(tholding>0,1,mkt);
if tholding=0 then
begin
tbuyshort(1,1,mkt);
hh:=high;
end
end
//价格超过开空这根K线的最高点时止损平空
if tholding<0 and tenterbars>1 then tsellshort(c>hh,1,mkt);
//止盈条件是当价格上穿下轨时止盈平仓。
scx:=cross(c,lower);
if tholding<0 and tenterbars>1 then tsellshort(scx,1,mkt);