追踪止损和追踪利润 - 页 7

 
Arav007:

在这里,它是。

尊敬的各位领导


https://www.mql5.com/en/forum/150195/page6#924239,以获得更好的方法
 

我已经看到了,也测试了。

它也没有解决"止损"和 "最低利润锁定 "的问题,我只是需要使这个EA完整。

 

这是你的代码的开头

if(OrdersTotal()>0)
   {//----------------------------------------------------------------->1
   for(int cnt=OrdersTotal()-1;cnt>=0;cnt--)
     {//--------------------------------------------------------------->2    
     if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
     if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)
       {
       if (OrderProfit()<0.03)
         {
         if(OrderType()==OP_BUY)
           {  
           bOrderClosed = closeBuyOrder(iOrderType_Buy); //Closing Buy order    
           if(bOrderClosed)
             {
             Print("Buy Order 1 Closed");
             }
            else
               {
               iLastError = GetLastError();                                       
               }//end else if(bOrderClosed)
           }//end if(OrderType()==OP_BUY)
       if(OrderType()==OP_SELL)
          {  
          bOrderClosed = closeSellOrder(iOrderType_Sell); //Closing Sell order
          if(bOrderClosed)
            {
            Print("Sell Order 1 Closed");
            }
           else
              {
              iLastError = GetLastError();
              }//end else if(bOrderClosed)
          }//end if(OrderType()==OP_SELL)
        }// if (OrderProfit()<0.03)                          
      }// if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)

解释这段代码在做什么?

为什么它要这样做....,什么时候发生的?

你希望这段代码做什么?

你知道iLastError是否有错误吗?

 

哦,谢谢。你让我大开眼界。

它在执行时关闭了所有未结订单,因为条件是。

如果(OrderProfit()<0.03 )

所以它自然会关闭所有刚打开的订单。

我的目的是,如果一个交易进入盈利状态,比如说0.1美元,然后如果该交易转回,它将以最小的利润(比如说0.01美元)被关闭。

可能这在 "OrderProfit() "函数 中是不可能的。

我必须使用跟踪止损的方法。

 
Arav007:

我已经看到了,也测试了。

它也没有解决 "止损 "和 "最低利润锁定 "的问题,我只需要使这个EA完整。


你想用什么代码?

止损有什么问题?

在盈亏平衡时,你可以像你所希望的那样,在前两笔交易中锁定最低利润,..... 我想

 
deVries:


你想用什么代码?

止损有什么问题吗?

在盈亏平衡时,你在前两笔交易中的利润锁定最少,就像你想的那样,..... 我想


请原谅我。

我没能正确设置参数。

是的,这就是它!非常感谢。

前两笔交易的SL已经移动,TP也是。

我现在使用这个设置。

外置双倍BreakEven =5;

外置双倍BreakEvenSL =1;

外置双倍追踪止损=10。

外置双倍追踪步数=3。

只是为了澄清这个概念。

如果市场从开盘价 中获利5点,止损将被设置为1点利润。然后,追踪止损的功能将开始。

追踪止损为10,如果市场从开盘价中盈利10点,止损将变成盈利3点,对吗?

然后,如果市场再达到10点,即总共20点,止损将是6点利润?

请注意