Функция OrderSend. Проблема.

 
Друзья, помогите понять в чем причина. Вот кусок кода:
   ticket=OrderSend(sym1,OP_SELL,Lots,Bid,3,0,0,0,magic,0,Green);
   OP1=Bid;
   if(ticket<0)
   {
      Print("OrderSend failed with error #",GetLastError());
      return(0);
   }
   Sleep(5000);
   ticket=OrderSend(sym2,OP_BUY,Lots,Ask,3,0,0,0,magic,0,Green);
   OP2=iClose(sym2,PERIOD_H1,0);
   if(ticket<0)
   {
      Print("OrderSend failed with error #",GetLastError());
      return(0);
   }
Почему открывается только первый ордер и выдает ошибку 129, при попытке открыть второй. Не могу сообразить, где ошибка. Помогите, если кого не затруднит. Символы в ордерах, как видно, разные.
 
Символы то разные, а открываться пробуете фактически по одинаковым ценам на разных символах, так как Bid и Ask берутся из одной оперы.
 
Rosh:
Символы то разные, а открываться пробуете фактически по одинаковым ценам на разных символах, так как Bid и Ask берутся из одной оперы.

Теперь ясно. Большое спасибо!
 
Еще вопрос. Допустим советник прицеплен к инструменту A, есть ли возможность в этом советнике обновить данные по инструменту B, при отсутствии новых тиков (обновления) по инструменту A? Если да, то каким образом?
 
Rosh:
Символы то разные, а открываться пробуете фактически по одинаковым ценам на разных символах, так как Bid и Ask берутся из одной оперы.

Как получить нужную цену для второго символа, что все-таки необходимо сделать в таком случае?
 
alexnau:
Rosh:
Символы то разные, а открываться пробуете фактически по одинаковым ценам на разных символах, так как Bid и Ask берутся из одной оперы.

Как получить нужную цену для второго символа, что все-таки необходимо сделать в таком случае?

Используйте MarketInfo
 
Используйте MarketInfo(sym2,MODE_BID или MODE_ASK)
 
DrawDown:
Еще вопрос. Допустим советник прицеплен к инструменту A, есть ли возможность в этом советнике обновить данные по инструменту B, при отсутствии новых тиков (обновления) по инструменту A? Если да, то каким образом?

Теоретически можно использовать бесконечный цикл, тогда зависимости от прихода тиков не будет вообще.
 

Отлично!! То что надо. Оперативно вы :) Еще раз огромное спасибо!

 
Rosh:
DrawDown:
Еще вопрос. Допустим советник прицеплен к инструменту A, есть ли возможность в этом советнике обновить данные по инструменту B, при отсутствии новых тиков (обновления) по инструменту A? Если да, то каким образом?

Теоретически можно использовать бесконечный цикл, тогда зависимости от прихода тиков не будет вообще.

Похоже необходимо использовать этот вариант, т. к. обновление данных, выводимых на экран через Comment, как и все расчеты в советнике, происходит только при поступлении нового тика по паре, на которой висит советник. Может подскажете, как практически зациклить советника и возникнут ли какие-либо проблемы из-за бесконечного цикла?
 
Пример вот
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
  while(!IsStopped()) 
   {
   //  необходимые операции
   Sleep(500);
   }  
  }
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
а проблемы могут быть разные.
Причина обращения: