Открытие ордера на другом символе (MQL4)

 

Не могу понять почему price и vask = 0  и OrderSend() дает ошибку 4106 когда запускаю на GBPUSD в тестере.

 

   string symbol = "EURUSD";
   
   double price = MarketInfo(symbol, MODE_BID);
   double vask  = MarketInfo(symbol,MODE_ASK);
   Alert("Bid = " + price, "   Ask = " + vask);

   int ticket = OrderSend(symbol1, OP_SELL, 0.1, price, 5, 0, 0, "", 5896, 0, Red);
 
тестер в МТ4 моновалютный
 
Alexander Bereznyak:
тестер в МТ4 моновалютный
что это значит ?

Здесь на форуме читал что можно получить значение цен с другого инструмента

 
traderEvgen:
что это значит ?

Здесь на форуме читал что можно получить значение цен с другого инструмента

Можно получить, но нельзя купить евро на тестируемом фунте. Получить можно всё, что нужно, а вот совершить сделку можно только по паре, на которой едет эксперт.
 
   string symbol = "EURUSD";
   
   double price = MarketInfo(symbol, MODE_BID);
   double vask  = MarketInfo(symbol,MODE_ASK);
   Alert("Bid = " + price, "   Ask = " + vask);

   int ticket = OrderSend(symbol1, OP_SELL, 0.1, price, 5, 0, 0, "", 5896, 0, Red);

Ошибка 4106 выходит из-за неправильного написания фин. инструмента.
При выводе сообщения алертом к строке прибавляется тип double. Попробуй так: 
Alert("Bid = ", price, "; Ask = ", vask);
 
serjio86:
есть вариант как правильно написать ?
 
traderEvgen:
есть вариант как правильно написать ?
Для реала - symbol1 заменить на symbol. Для тестера вариантов нет.
 
Ihor Herasko:
Для реала - symbol1 заменить на symbol. Для тестера вариантов нет.
та для реала знаю... я для тестера искал (((
 
traderEvgen:
та для реала знаю... я для тестера искал (((
Для мультивалютного тестирования единственное решение - это переход на MetaTrader 5, после чего сразу станет доступно мультивалютное тестирование. Это решение лежит на поверхности, нужно только желание.
Причина обращения: