Советник не открывает ордера на другом символе

 

Здравствуйте, уважаемые профессионалы! Прошу Вас помочь начинающему.

Советник не открывает ордера на другом символе, возможно я что-то упустил.

Принцип: Ставлю на один график Доллар-Йена, он должен открывать 2 ордера на Евро-долларе и на Фунт-Долларе, по одному на каждом. Но он их не открывает.

Журнал ничего не пишет. Когда меняю стандартную функция ОрдерСенд на ОрдерСенд с обработкой ошибок, он пишет что Не удалось выставить ордер после 1 попытки. Т.е. он хотя бы пытается его выставить.

Но на деле - не открывает.

Пробую на демо -счете (не в тестере). Вот кусок кода:

extern double    Lots            = 0.01;
extern string    symbol1         = "EURUSD";
extern string    symbol2         = "GBPUSD";


   if(CountBuy()==0 && CountSell()==0  && ma1 > ma2)
     {
      ticket=OrderSend(symbol2,OP_BUY,Lots,Ask,Slippage,0,0,name,Magic,0,Green);
         if (ticket > 0)
         {
         Print ("Первый ордер по " + symbol1 + " установлен успешно");
         ticket2= OrderSend (symbol1,OP_SELL,Lots,Bid,Slippage,0,0,name,Magic2,0,Green);
         if (ticket2>0)
         {
         Print ("Второй ордер по " + symbol2 + " установлен успешно");
        }
      }
   }

Дмаю, допустил какую-то глупую ошибку, но не могу понять,какую именно. Прошу Вас разъяснить.

П.С. Если ставить текущий символ Symbol() - то открывает оба ордера без проблем

 
remon:

Здравствуйте, уважаемые профессионалы! Прошу Вас помочь начинающему.

Советник не открывает ордера на другом символе, возможно я что-то упустил.

Принцип: Ставлю на один график Доллар-Йена, он должен открывать 2 ордера на Евро-долларе и на Фунт-Долларе, по одному на каждом. Но он их не открывает.

Журнал ничего не пишет. Когда меняю стандартную функция ОрдерСенд на ОрдерСенд с обработкой ошибок, он пишет что Не удалось выставить ордер после 1 попытки. Т.е. он хотя бы пытается его выставить.

Но на деле - не открывает.

Пробую на демо -счете (не в тестере). Вот кусок кода:

Дмаю, допустил какую-то глупую ошибку, но не могу понять,какую именно. Прошу Вас разъяснить.

П.С. Если ставить текущий символ Symbol() - то открывает оба ордера без проблем

Bid и Ask это цены текущего символа, т.е. символа того графика где стоит эксперт. У вас это Доллар-Йена. Для открытия ордеров на других валютах необходимо запрашивать текущие цены этих валют с помощью функции MarketInfo().
 
khorosh:
Bid и Ask это цены текущего символа, т.е. символа того графика где стоит эксперт. У вас это Доллар-Йена. Для открытия ордеров на других валютах необходимо запрашивать текущие цены этих валют с помощью функции MarketInfo().

Спасибо! Вот оно где собака порылась!
 
Люди добрые подскажите пожалуйста, как решить проблему. В MetaTrader4 при открытии нового графика постоянно вылезает GBPUSD.30, хотя открываю новый график по паре USDJPY?
Причина обращения: