哪位大神帮我看看我写的移动止损哪里错误了 怎么不管用

 
MqlTradeRequest request;
   MqlTradeResult  result;
   int total=PositionsTotal(); // 持仓数
//--- 重做所有持仓
   for(int i=0; i<total; i++)
     {
      //--- 订单的参数
      ulong  position_ticket=PositionGetTicket(i);// 持仓价格
      string position_symbol=PositionGetString(POSITION_SYMBOL); // 交易品种
      int    digits=(int)SymbolInfoInteger(position_symbol,SYMBOL_DIGITS); // 小数位数
      ulong  magic=PositionGetInteger(POSITION_MAGIC); // 持仓的幻数
      double volume=PositionGetDouble(POSITION_VOLUME);    // 持仓交易量
      double sl=PositionGetDouble(POSITION_SL);  // 持仓止损
      double tp=PositionGetDouble(POSITION_TP);  // 持仓止赢
      ENUM_POSITION_TYPE sell=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // type of the position
      //--- 输出持仓信息
      if(zhisundianshu>SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL))
        {
         request.sl=SymbolInfoDouble(Symbol(),SYMBOL_BID)+zhisundianshu*SymbolInfoDouble(Symbol(),SYMBOL_POINT);
        }
 
你的代码严重不全,从现有信息看,你只是为 request设置了一个止损价格。

但是没看到你send request的代码。请求没发出去,怎么会执行呢?

另外,你只设置一个止损价格,代码中并没有看到移动止损的功能。

移动止损要“移动”才行,要跟订单当前的利润挂钩,相关的代码都没看到。
 
哪位大神帮我看看我写的移动止损哪里错误了 怎么不管用
 
请问大神们,之前是用旧版本EA能用,然后我 更新了新版本就用不到EA了
原因: