Что такое order_id?

 

Я не знаю, что такое"order_id" в orderclose.

Пожалуйста, помогите мне!

 
toi10005doi:

Я не знаю, что такое"order_id" в orderclose.

Пожалуйста, помогите мне!

Нет никакого "order_id" в OrderClose()
 
В примере с OrderClose() это номер билета, который вы хотите закрыть. Если вы хотите закрыть заказ, который уже был выбран с помощью OrderSelect(), то просто используйте OrderTicket().
 

Спасибо всем! :))

Покажите мне пример, пожалуйста.

 
toi10005doi:

Спасибо всем! :))

Покажите мне пример, пожалуйста.

Примеры вы найдете в этой теме:Циклы и закрытие или удаление ордеров
 

Мой советник просто делает 1 ордер за раз. Поэтому, пожалуйста, покажите мне код, закрывающий его, когда условие выполнено.

Спасибо!!!

 
toi10005doi:

Мой советник просто делает 1 ордер за раз. Поэтому, пожалуйста, покажите мне код, закрывающий его, когда условие выполнено.

Спасибо!!!


Не существует советника, закрывающего несколько сделок в один и тот же момент...... Это всегда делается по одной

Как правильно закрывать выбранные сделки читатьLoops и Closing or Deleting Orders

 
<СНИП>

Пожалуйста, подскажите, что не так с моим кодом!!! Спасибо.

 
toi10005doi:

<СНИП>

Пожалуйста, подскажите, что не так с моим кодом!!! Спасибо.

Пожалуйста, отредактируйте ваше сообщение ...


Пожалуйста, используйте это для размещения кода. ... это облегчает чтение.

 
RaptorUK:
Примеры вы найдете в этой теме:Циклы и закрытие или удаление ордеров


toi10005doi:

for(i=1; i<=OrdersTotal(); i++)

Пожалуйста, подскажите, что не так с моим кодом!!! Спасибо.


Вы потрудились прочитать тему, на которую я дал ссылку?
 

@Raptor:

Да, но я не очень понял, потому что я просто хочу написать советника. Извините за беспокойство.

int start()
{
   int i ,times;
   double DIPlus1;
   double DIPlus0;
 
   double DIMinus1;
   double DIMinus0;
   
   double Main1;
   double Main0;
   
   double MACD_main;
   double MACD_signal;
   double Rsi;
   
   double err = 25;
   
   int MagicNumber1=220101,MagicNumber2=220102;
//----

//---
 
DIPlus1=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1);
DIPlus0=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);
 
DIMinus1=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);
DIMinus0=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);

Main1=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,1);
Main0=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);

Rsi = iRSI(NULL,0,14,PRICE_CLOSE,0);

times = Minute() % 15 ==0 && Seconds() ==0;

//MACD_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); 
//MACD_signal = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   
//----
if(Minute() % 15 ==0 && Seconds() ==0)
{
  if( Main0 > err && Main1 < err && DIPlus0 > DIMinus0 && Rsi < 70 )

    
       OrderSend(Symbol(),OP_BUY,0.03,Ask,5,Ask-300*Point,Ask+300*Point,"","",1,Blue);
          
   

   if (Main0 > err && Main1 < err && DIPlus0 < DIMinus0  && Rsi > 30)
     
       OrderSend(Symbol(),OP_SELL,0.03,Bid,5,Bid+300*Point ,Bid-300*Point,"","",2,Red);
     
  //---
  if(OrdersTotal()>0)
      {
      for(i=1; i<=OrdersTotal(); i++)
      
         {        
            if (OrderSelect(i-1,SELECT_BY_POS)==true)
                  
             {
               if(Rsi >=70 )  
                  OrderClose(OrderTicket(),OrderLots(),Bid,2,Green); 
              if( DIPlus1 > DIMinus1 )
                   OrderClose(OrderTicket(),OrderLots(),Bid,2,Green); 
               
                if(Rsi <=30  )
                  OrderClose(OrderTicket(),OrderLots(),Ask,1,Green); 
              if( DIPlus1 < DIMinus1  )
                   OrderClose(OrderTicket(),OrderLots(),Ask,1,Green); 
            
                   
             }       
         }
       }  
   }
 return(0);
 }
   

Я не понимаю, почему мой ордер закрывается мгновенно после того, как он стартует.

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