Скачать MetaTrader 5

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

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

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

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

Принцип: Ставлю на один график Доллар-Йена, он должен открывать 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() - то открывает оба ордера без проблем

khorosh
8261
khorosh  
remon:

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

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

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

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

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

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

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

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

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

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