Помогите осмыслить тонкости расчетов в MQL4.на примере расчета уровней стоп лосов и профитов

 
int Magik;
int Slippage = 5,stopL1 = 50,takeP1 = 20;
int trend,TicketS,TicketB;
double rsi,TP,SL;
 
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
if(Digits == 3 || Digits == 5)
   {
     Slippage *= 10;
     stopL1   *= 10;
     takeP1   *= 10;
   }
   

   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

   
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
 double priseBuy = FindLastOrderPrise (OP_BUY);
 double priseSel = FindLastOrderPrise (OP_SELL);
double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL); 
  rsi = iRSI(Symbol(),PERIOD_D1,7,PRICE_CLOSE,0);
  trend = WhatTrend();
if (CountTrades() == 0)
 {
   if(trend == 1 && rsi <=30)
   {
     if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0,"первый ордер бай установлен",Magik,0)== true)
      { 
          TicketB = FindLastTicket(OP_BUY);
          if(TicketB >0)
          {
             SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
             TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
            
          }

        
      }
     
   }//   if(trend == 1 && rsi <=30)
   else if(trend == 2 && rsi >= 70)
   {
     if(OrderSend (Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0,"первый ордер сел установлен",Magik,0)== true)
      {
        for(int i = OrdersTotal()-1;i >0;i--)
         {
           OrderSelect(i,SELECT_BY_TICKET,MODE_TRADES);
            if (OrderType()== OP_SELL && OrderMagicNumber() == Magik)
             {
               double sl = OrderOpenPrice() + NormalizeDouble(stopL1 * Point,Digits);
               double tp = OrderOpenPrice() - NormalizeDouble(takeP1 * Point,Digits);
               if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,tp,0)==true)break;
                else continue;
             }
         }
      }
   }    
 }//if (CountTrades() == 0)

 
   
}
 

забыл вписать модифи ордер....но дело в том что каким бы я способом не пользовался ордера не модифицируются!!!и компилятор при этом не выдает ошибки

Причина обращения: