Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Что происходит в MQL5.community? Раздел Стена ответит на этот вопрос!
Ильдар
17
Ильдар 2014.10.23 10:40 

Здравствуйте уважаемые. Честно долго пытался сам это сделать, но не получается. Необходимо, чтобы происходила проверка по открытым ордерам на определенную валютную пару (в данном случае пытаюсь проверить по 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
5181
Alexey Viktorov 2014.10.23 11:05  
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
Ильдар 2014.10.23 17:43  
Спасибо. Работает. 
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий