
等级: 标准版
- 注册:
- 2023-2-16
- 曾用名:
|
老师帮我看下我这个移动止损是哪里有问题 偶尔会出现这样的情况,开仓的时候止损线跑到反方向去了 我把止损模块,开仓语句都发上来
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
VARIABLE:空止损1:=0; 空止损价2:=REF(卖1,ENTERBARS);空止损价1:=IF(HOLDING<0,空止损价2,DRAWNULL);
VARIABLE:空止损2:=0;
VARIABLE:多止损1:=0; 多止损价2:=REF(买1,ENTERBARS);多止损价1:=IF(HOLDING>0,多止损价2,DRAWNULL);
VARIABLE:多止损2:=0;
入场前高:=ref(hhv(h,3),ENTERBARS);
入场前低:=ref(LLv(L,3),ENTERBARS);
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
if 多止损1=0 and holding>0 AND CC>0 then 多止损1:=if(ENTERPRICE-多止损价1<=(10日区间/2),多止损价1-(10日区间/2)*MINDIFF, IF(入场前低-空止损价1>10日区间,入场前低,多止损价1));
IF 多止损2=0 and holding>0 AND CC>0 then 多止损2:=多止损1;
if C>多止损1+20日区间 AND HOLDING>0 THEN 多止损1:=多止损1+10日区间;
if C>多止损2+20日区间*2 AND HOLDING>0 and 多止损1<>0 THEN 多止损2:=多止损2+20日区间;
if holding>0 AND C>MA55 AND C-ENTERPRICE>=3*20日区间 and 多止损2<>0 THEN 多止损1:=多止损2;
///////////////////////////////////////////////////////
多损:IF(holding>0 AND 多止损1<>0 ,多止损1,DRAWNULL);
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
if 空止损1=0 and holding<0 AND CC<0 then 空止损1:=if(空止损价1-ENTERPRICE<=(10日区间/2),空止损价1+(10日区间/2)*MINDIFF, IF(空止损价1-入场前高>10日区间,入场前高,空止损价1));
IF 空止损2=0 and holding<0 AND CC<0 then 空止损2:=空止损1;
if C<空止损1-20日区间 AND HOLDING<0 THEN 空止损1:=空止损1-10日区间;
if C<空止损2-20日区间*2 AND HOLDING<0 and 空止损1<>0 THEN 空止损2:=空止损2-1*20日区间;
if holding<0 AND C<MA55 AND C<=ENTERPRICE-(3*20日区间)THEN 空止损1:=空止损2;
/////////////////////////////////////////////////////////////
空损:IF(空止损1<>0 AND holding<0,空止损1,DRAWNULL);
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
IF C>空损 AND HOLDING<0 AND CC<=-2 AND ENTERBARS>0 THEN BEGIN
空止盈损3:SELLSHORT(1,holding/2,MARKET);
CC:=-1;
END
IF C>空损 AND HOLDING<0 AND CC=-1 AND ENTERBARS>0 THEN BEGIN
空止盈损4:SELLSHORT(1,holding/2,MARKET);
CC:=-1;
空止损1:=0;
空止损2:=0;
END
if cc<=-1 and ENTERPRICE-c>20日区间*2 AND LONGCROSS(C,MA55,10) THEN BEGIN
上穿止盈:SELLSHORT(1,0,MARKET);
cc:=0;
空止损1:=0;
空止损2:=0;
END
////《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
IF C<多损 AND HOLDING>0 AND CC>=2 AND ENTERBARS>0 THEN BEGIN//
多止盈损3:SELL(1,HOLDING/2,MARKET);
cc:=1;
END
iF C<多损 AND HOLDING>0 AND CC=1 AND ENTERBARS>0 THEN BEGIN//
多止盈损4:SELL(1,holding/2,MARKET);
CC:=0;
多止损1:=0;
多止损2:=0;
END
if cc>=1 and c-ENTERPRICE>20日区间*2 AND LONGCROSS(MA55,c,10) THEN BEGIN
下穿止盈:SELL(1,0,MARKET);
cc:=0;
多止损1:=0;
多止损2:=0;
END
//////////////////////////////////////////////////////////////////////////////////////
IF HOLDING>0 THEN BEGIN
CC:=1;
MAXPROFIT:=0;////有仓位时最大获利幅度
END
///////////////////////////////////////////////////////////////////////////////////////////
IF HOLDING<0 THEN BEGIN
CC:=-1;
MAXPROFIT:=0;////有仓位时最大获利幅度
END
IF HOLDING=0 THEN BEGIN
CC:=0;
END
IF YYK OR KK1 then BEGIN
M10平多:SELL(ENTERBARS>0,holding,MARKET);
CC:=0;
多止损1:=0;
多止损2:=0;
if HOLDING=0 then BEGIN
M10开空:BUYSHORT(1,2,MARKET);
CC:=-1;
END
END
|
-
|