Перенос стопа в 0..

 

В общем только начал изучать mql4, но никак не могу врубится казалось бы простую вещь.. В чём ошибка!? Только не говорите что в ДНК )))))

//-----------------------------

double TrS=15;
double MA1;
double MA2;
double Lot=1.0;
int SL=50;
int TP=500;
int start()
  {
  
  string Symb=Symbol();
  //--------------------------
   if(OrdersTotal()==1)
   return;
   MA1=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,0);
   MA2=iMA(NULL,0,21,0,MODE_SMA,PRICE_CLOSE,5);
   if(OrdersTotal()==1)
   return;
   if(MA1>MA2)
         OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-SL*Point,Ask+TP*Point);
   if(MA2>MA1)
         OrderSend(Symb,OP_SELL,Lot,Bid,3,Ask+SL*Point,Bid-TP*Point);

      
  //---------------------------
   for(int i = 0; i < OrdersTotal(); i++) 
      {
         OrderSelect(0,SELECT_BY_POS);
            {
               double Or_OP=OrderOpenPrice();
               double Or_SL=OrderStopLoss();
               double Or_TP=OrderTakeProfit();
               if(OrderType()==0)
                  {
                    double bid=Bid;
                    double NSLB=Or_OP+TrS*Point;
                     if(bid>NSLB)
                        {
                        OrderModify(OrderTicket(),Or_OP,NSLB,Or_TP,0,0);
                        }
                  }
               if(OrderType()==1)
                  {
                     double ask=Ask;
                     double NSLS=Or_OP-TrS*Point;
                      if(ask<NSLS)
                        {
                        OrderModify(OrderTicket(),Or_OP,NSLS,Or_TP,0,0);
                        }
                  }            
            }
         
      }
   //----------------------------------------------
return(0);
}
..
 

OrderModify(OrderTicket(),Or_OP,Or_OP,Or_TP,0,0);

 
Integer >>:

OrderModify(OrderTicket(),Or_OP,Or_OP,Or_TP,0,0);

Спасибо.. Эту ошибку я тоже не заметил.. Но больше интересует, где ошибка в условии:

double bid=Bid;
                    double NSLB=Or_OP+TrS*Point;
                     if(bid>NSLB)
                        {
                        OrderModify(OrderTicket(),Or_OP,NSLB,Or_TP,0,0);
                        }
 

Возьмите функцию от сюда - https://www.mql5.com/ru/code/9235, называется fBreakEvenToLevel().

 
Спасибо, по изучаю ваш советник. Но меня все таки волнует почему такое простое условие не работает?! Уже третьи сутки не дает покоя ))))
Причина обращения: