关于达到预定盈利之后启动跟踪止盈,

请教关于达到预定盈利之后启动跟踪止盈,例如当浮盈利大于多头预定盈利值后以持仓最高价回落跌破(最高价-开仓价)*20%时平仓,空头平仓同理,遇到问题是代码不执行,请问老师那里出问题了,漏写哪一个步骤。

 

 

 //多空跟踪止盈模块代码组
        If(BarsSinceEntry==0)
        {
            Highzg=High;
            Lowzd=Low;
            If(MarketPosition<>0)
            {
                Highzg=max(Highzg,High);
                Lowzd=Min(Lowzd,Low);
            }
        }
        
        //多头跟踪止盈二级启动
        If(MarketPosition==1&&BarsSinceEntry>1)
        {
            Highzg=Highzg;
            If(Highzg[1]>EntryPrice+myS)
            {
                If(Low<=Highzg[1]-0.2*(Highzg[1]-EntryPrice));
                {
                     Sell(0,min(Open,Highzg[1]-0.2*(Highzg[1]-EntryPrice)));
                     Commentary("多头跟踪止盈");
                     a=1;
                }
            }
        }
        //空头跟踪止盈二级启动
        If(MarketPosition==-1&&BarsSinceEntry>1)
        {
            Lowzd=Lowzd;
            If(Lowzd[1]<EntryPrice-myB)
            {
                If(High>=0.2*(EntryPrice-Lowzd[1])+Lowzd[1])
                {
                    BuyToCover(0,max(Open,0.2*(EntryPrice-Lowzd[1])+Lowzd[1]));
                     Commentary("空头跟踪止盈");
                     b=1;
                }    
            }
        }

 

跟踪止盈
账户权益达到盈利目标怎么设置全部平仓
止盈这个能实现吗?
跟踪止损
关于有盈利加仓的条件
关于止损止盈的写法
账户止盈功能
跟踪止盈的讲解
根据账户权益止盈止损
固定止盈

第一段这么改下: 

If(MarketPosition<>0 And BarsSinceEntry==0)

 {
            Highzg=High;
            Lowzd=Low;

}
Else If(MarketPosition<>0 And BarsSinceEntry>0)
 {
            Highzg=max(Highzg,High);
            Lowzd=Min(Lowzd,Low);
 }
 

非常感谢蔡总解答,多次在我困惑时热心解惑犹如之路明灯。我找到原因原来写代码不够细心在myb和mys重复计算了Entrypice。