INPUT:LOTS(1,1,100,1); //手数
VARIABLE:DUOSTOPRICE=0,KONGSTOPRICE=0; //多头止损价,空头止损价。
VARIABLE:DUOKAIPRICE=0,KONGKAIPRICE=0; //多开价格,空开价格。
VARIABLE:HH=0,LL=0; {保存开仓后的最高价、最低价}
RUNMODE:0;
MYATR:=MA(TR,36); //真实波幅的26周期值;为止损止盈用。。
IF MYATR<=0 THEN MYATR=1;
HIGHN := REF(HHV(HIGH,10),1); //做多要大于前3。
LOWN := REF(LLV(LOW,10),1); //做空要小于前3。
//开多单
if HOLDING=0 AND DUOPEN then
begin
BUY(1,LOTS,THISCLOSE);
DUOSTOPRICE:= MIN( ENTERPRICE-1.5*MYATR, ENTERPRICE-3*MINDIFF );
DUOKAIPRICE:=ENTERPRICE; //开了多单就把价格传给多开价格
ENd
HH := REF(HHV(HIGH,ENTERBARS),1); //开仓以前来最高价。
LL := REF(LLV(L,ENTERBARS),1); //开仓以前来最低价。
////多单管理
IF HOLDING>0 THEN
BEGIN
IF (H-ENTERPRICE)>1.5*MYATR THEN //盈利1.5*ATR时上移止损
BEGIN
DUOSTOPRICE = ENTERPRICE-0.3*MYATR;
END
IF (HH-CLOSE)> 3*MYATR THEN //从高位下跌3*ATR时平仓
BEGIN
SELL(1,0,MARKET),ORDERQUEUE;
END
IF C<DUOSTOPRICE THEN //止损
BEGIN
SELL(1,0,MARKET),ORDERQUEUE;
END
END