Скачать MetaTrader 5

Открытие ордера по паре с проверкой того, что по нему нет открытых ордеров

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ильдар
17
Ильдар  

Здравствуйте уважаемые. Честно долго пытался сам это сделать, но не получается. Необходимо, чтобы происходила проверка по открытым ордерам на определенную валютную пару (в данном случае пытаюсь проверить по EURUSD) и если открытого  ордера по этой паре нет, то открыть его. Вот написал, но не работает. Подскажите, что не правильно делаю?

int start()

 {

 int i= OrdersTotal(); 

    for(i=OrdersTotal()-1;i>=0;i--)   

        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && (OrderSymbol() == "EURUSD"))

    break;

      else 

   OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point);    

     return(0);

  }

Alexey Viktorov
8018
Alexey Viktorov  
Virgin1976:

Здравствуйте уважаемые. Честно долго пытался сам это сделать, но не получается. Необходимо, чтобы происходила проверка по открытым ордерам на определенную валютную пару (в данном случае пытаюсь проверить по EURUSD) и если открытого  ордера по этой паре нет, то открыть его. Вот написал, но не работает. Подскажите, что не правильно делаю?

int start()

 {

 int i= OrdersTotal(); 

    for(i=OrdersTotal()-1;i>=0;i--)   

        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) && (OrderSymbol() == "EURUSD"))

    break;

      else 

   OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point);    

     return(0);

  }

Попробуй так

int start()

 {

 int i, Total = OrdersTotal()-1; 

    for(i = Total; i >= 0; i--)   
     {
      if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == "EURUSD")// По умолчанию ордер выбирается из открытых
      return(0);
     }

   OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point);    

     return(0);

  }
Ильдар
17
Ильдар  
Спасибо. Работает. 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий