Add new order

 

Dears

 

i want a code to add a new  5 order according to ask price, but the different between each order is 20 bibs note that the first value to compare is the first order ask price.

if i tested on metatrader from date to date.......... sometimes it give me 5, and some times it give me 1  2  5  order, some times it give me 1  4  5 order.

please, any help 

double DealAsk1 = 0;
double DealAsk2 = 0;
double DealAsk3 = 0;
double DealAsk4 = 0;
double DealAsk5 = 0;

int Deal1, Deal2, Deal3, Deal4, Deal5, Deal6;
 

int init()
  {
  
   Deal1=OrderSend(Symbol(),OP_SELL,0.1,Ask,40,Ask+20*Point,Ask-2550*Point,"Order A",16384,0,Green);
   DealAsk1 = Ask;
  
   return(0);
  }

int start()
  {
  
   if (Ask<=DealAsk1-20*Point)
   {
      if (Deal2>0)
         return;
      else
      {
         DealAsk2=Ask;
         Deal2=OrderSend(Symbol(),OP_SELL,0.2,Ask,40,Ask+20*Point,Ask-2050*Point,"Order B",16384,0,Red);
        
      }
   }
  
  
   if (Ask<=DealAsk1-40*Point)
   {
      if (Deal3>0)
         return;
      else
      {
         DealAsk3=Ask;
         Deal3=OrderSend(Symbol(),OP_SELL,0.3,Ask,40,Ask+20*Point,Ask-2050*Point,"Order C",16384,0,Blue);
        
      }
   }
  
  if (Ask<=DealAsk1-60*Point)
   {
      if (Deal4>0)
         return;
      else
      {
         DealAsk4=Ask;
         Deal4=OrderSend(Symbol(),OP_SELL,0.4,Ask,40,Ask+20*Point,Ask-2050*Point,"Order C",16384,0,Black);
        
      }
   }
   
  if (Ask<=DealAsk1-80*Point)
   {
      if (Deal5>0)
         return;
      else
      {
         DealAsk5=Ask;
         Deal5=OrderSend(Symbol(),OP_SELL,0.5,Ask,40,Ask+20*Point,Ask-2050*Point,"Order C",16384,0,White);
        
      }
   }
  
   
   if(OrdersTotal()==0)
   {
      DealAsk1 = 0;
      DealAsk2 = 0;
      DealAsk3 = 0;
      DealAsk4 = 0;
      DealAsk5 = 0;

      Deal1 = 0;
      Deal2 = 0;
      Deal3 = 0;
      Deal4 = 0;
      Deal5 = 0;
      Deal6 = 0;
     
      Deal1=OrderSend(Symbol(),OP_SELL,0.1,Ask,40,Ask+20*Point,Ask-2550*Point,"Order A",16384,0,Green);
      DealAsk1 = Ask;
   }
   return(0);
  }
 

 

  1. Play video
    Please edit your post.
    For large amounts of code, attach it.

  2. int init(){
       Deal1=OrderSend(...
    Init can NOT wait, it MUST return in 2.5 seconds. OrderSend can take time. move it out of init. Move your if OrdersTotal()==0 to the stop of start.
  3. you have 3 "Order C"
  4. Not adjusting for 4/5 digit and ECN brokers