OrderModify error 1# don't know to deal with that

 
I have been trying debug this error in my code,

but after a 1000 times I still don't know how to fix it.

int ticket;

int oldTime;
int start()
  {
   if(oldTime != Time[0] )
      {
      // first tick of new bar found
      // do something useful
      oldTime = Time[0];
      }
   return(0);
   }


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {

   Print("Just Started");
   return INIT_SUCCEEDED;
  }


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }

 string signal="";
 
void OnTick()
  {
  
   
   string comment;
   
   double sar = iSAR(NULL,0,0.02,0.2,0);
   double rsi = iRSI(_Symbol,0,14,0,0);
   double atr = iATR(NULL,0,14,0);
   double adx = iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0);
   double pl =iADX(NULL,0,14,PRICE_HIGH,MODE_PLUSDI,0);
   double mi =iADX(NULL,0,14,PRICE_HIGH,MODE_MINUSDI,0);
   
   double commission=NormalizeDouble(3*Point,Digits);
   
   comment += "\nADX:" + DoubleToStr(adx,_Digits);

   comment += "\nATR:" + DoubleToStr(atr,_Digits);

   comment += "\nRSI:" + DoubleToStr(rsi,_Digits);

   double minstoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);

   double price=Ask;

   double stoplossS=NormalizeDouble(Bid+minstoplevel*Point,Digits);
   double stoplossB=NormalizeDouble(Ask+minstoplevel*Point,Digits);
   double takeprofit=NormalizeDouble(Bid-minstoplevel*Point,Digits);
   double op = OrderOpenPrice();
   
   int total=OrdersTotal();
    
   
  
   if(OrderSelect(OrderTicket(),SELECT_BY_TICKET)==true && OrderType()== OP_SELL&&){
   
    ticket= OrderModify(ticket,NormalizeDouble(price*Point,Digits),NormalizeDouble(Ask+100*Point,Digits),NormalizeDouble(Ask-100*Point,Digits),1,clrBlueViolet);
    Print(GetLastError());
    OrderPrint();
   }
   else if (OrderStopLoss()<stoplossB){
   Print("po");}
   
   if(OrderSelect(OrderTicket(),SELECT_BY_TICKET)==true&& OrderType()== OP_BUY){
   
    ticket= OrderModify(ticket, price,NormalizeDouble(Ask-100*Point,Digits),NormalizeDouble(Ask+100*Point,Digits),1,clrBlue);
    Print(GetLastError());
    OrderPrint();
    }
    else if (OrderStopLoss()<stoplossS){
   Print("tr");}
   
   
    if(OrderSelect(ticket,SELECT_BY_TICKET)&& OrderType()== OP_BUY&&mi-pl>15)
           {
            if(OrderClose(OrderTicket(),OrderLots(),Ask,15,clrGreen))
              {
               ticket =0;

              }
           }
   if(OrderSelect(ticket,SELECT_BY_TICKET)&& OrderType()== OP_SELL&&pl-mi>15)
        {
         if(OrderClose(OrderTicket(),OrderLots(),Ask,15,clrRed))
           {
            ticket =0;

           }
        }
  
   if(mi-pl>10){
   
   
     {
      
      
      
      


      
      if(OrdersTotal() <1)
      
        {
           {

           
           ticket = OrderSend(_Symbol,OP_SELL,0.5,Bid,3,((stoplossS+atr)+NormalizeDouble(80*Point,Digits)),((takeprofit-atr)-NormalizeDouble(80*Point,Digits)),"This is a sell",10000,0,clrRed);
            
            
           } 
           }
        }
        
     }
      else if(pl-mi>10){
       
        {
        
       
        
         
         if(OrdersTotal() <1)
           {
            
              {
             
              ticket = OrderSend(_Symbol,OP_BUY,0.5,Ask,3,((stoplossB-atr)-NormalizeDouble(80*Point,Digits)),((takeprofit+atr)+NormalizeDouble(80*Point,Digits)),"This is is a buy",10000,0,clrGreen);
               
               }
              }
           }
           
        }
     
  



   Comment(comment);
  

  }
//+------------------------------------------------------------------+
 
  1. Why did you post your MT4 question in the MT5 General section instead of the MQL4 section, (bottom of the Root page)?
              General rules and best pratices of the Forum. - General - MQL5 programming forum? (2017)
    Next time, post in the correct place. The moderators will likely move this thread there soon.

  2. int start()
    ⋮
    void OnTick()

    Use the old handlers or the new. Not BOTH!

  3. if(OrderSelect(OrderTicket(),SELECT_BY_TICKET)==true && OrderType()== OP_SELL&&){

    You can not use any Trade Functions until you first select an order.

  4.     ticket= OrderModify(ticket, price,NormalizeDouble(Ask-100*Point,Digits),NormalizeDouble(Ask+100*Point,Digits),1,clrBlue);

    OrderModify does not return a ticket number.

  5. You buy at the Ask and sell at the Bid. Pending Buy Stop orders become market orders when hit by the Ask.

    1. Your buy order's TP/SL (or Sell Stop's/Sell Limit's entry) are triggered when the Bid / OrderClosePrice reaches it. Using Ask±n, makes your SL shorter and your TP longer, by the spread. Don't you want the specified amount used in either direction?

    2. Your sell order's TP/SL (or Buy Stop's/Buy Limit's entry) will be triggered when the Ask / OrderClosePrice reaches it. To trigger close to a specific Bid price, add the average spread.
                MODE_SPREAD (Paul) - MQL4 programming forum - Page 3 #25

    3. The charts show Bid prices only. Turn on the Ask line to see how big the spread is (Tools → Options (control+O) → charts → Show ask line.)

      Most brokers with variable spreads widen considerably at end of day (5 PM ET) ± 30 minutes.
      My GBPJPY shows average spread = 26 points, average maximum spread = 134.
      My EURCHF shows average spread = 18 points, average maximum spread = 106.
      (your broker will be similar).
                Is it reasonable to have such a huge spreads (20 pip spreads) in EURCHF? - General - MQL5 programming forum (2022)

  6. DanySang: OrderModify error 1# don't know to deal with that
    ERR_NO_RESULT
    You Server
    Change the SL to X It is at X!
    Change the SL to X It is at X!
    Change the SL to X You are insane
    Insanity: doing the same thing over and over again and expecting different results.
              Unknown

    Compute the new value, then check that you are moving the existing value at least a tick.

    PIP, Point, or Tick are all different in general.
              What is a TICK? - MQL4 programming forum (2014)

 
double price=Ask;
ticket= OrderModify(ticket,NormalizeDouble(price*Point,Digits),NormalizeDouble(Ask+100*Point,Digits),NormalizeDouble(Ask-100*Point,Digits),1,clrBlueViolet);
Reason: