Почему вместо цены последней сделки возвращается ноль?

 
Добрый день, есть справка: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
SYMBOL_LAST должно возвращать "Цена, по которой совершена последняя сделка"
По факту вот такие строки:
string neededSymbol = "EURUSD";
Print(SymbolInfoDouble(neededSymbol, SYMBOL_LAST));
Возвращают 0
Пробовал вместо явного указания инструмента подставить Symbol() на разных графиках, получилось то же самое - возвращает 0

Потом попробовал код из этого примера: https://docs.mql4.com/ru/constants/structures/mqltick
MqlTick last_tick;
   if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " last = ",last_tick.last,"  Volume = ",last_tick.volume);
     }
   else Print("SymbolInfoTick() failed, error = ",GetLastError());

Бид возвращается, а остальные поля нули.

Случайно нагуглил такую константу: PRICE_CLOSE
Не шибко разобравшись "как и откуда" она берется, попробовал сделать так:
SymbolSelect(neededSymbol, true);
Print(PRICE_CLOSE);
Получил 1 при любом инструменте...

Вот тут: https://www.mql5.com/en/docs/indicators/icustom
говорится о том, что если это первый вызов индикатора, то его нужно добавить: "If the first call form is used in the indicator, then at the custom indicator start you can additionally indicate data for calculation in its "Parameters" tab. If the "Apply to" parameter is not selected explicitly, the default calculation is based on the values of "Close" prices."
- Подскажите, пожалуйста: где/в каком пункте русифицированого MT5 можно найти это окно с индикаторами, или как "правильно" можно получить последнюю цену по заданному инструменту?!
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
noob_aka_nk:
Добрый день, есть справка: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
SYMBOL_LAST должно возвращать "Цена, по которой совершена последняя сделка"
По факту вот такие строки:
string neededSymbol = "EURUSD";
Print(SymbolInfoDouble(neededSymbol, SYMBOL_LAST));
Возвращают 0
Пробовал вместо явного указания инструмента подставить Symbol() на разных графиках, получилось то же самое - возвращает 0

Потом попробовал код из этого примера: https://docs.mql4.com/ru/constants/structures/mqltick
MqlTick last_tick;
   if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " last = ",last_tick.last,"  Volume = ",last_tick.volume);
     }
   else Print("SymbolInfoTick() failed, error = ",GetLastError());

Бид возвращается, а остальные поля нули.

Случайно нагуглил такую константу: PRICE_CLOSE
Не шибко разобравшись "как и откуда" она берется, попробовал сделать так:
SymbolSelect(neededSymbol, true);
Print(PRICE_CLOSE);
Получил 1 при любом инструменте...

Вот тут: https://www.mql5.com/en/docs/indicators/icustom
говорится о том, что если это первый вызов индикатора, то его нужно добавить: "If the first call form is used in the indicator, then at the custom indicator start you can additionally indicate data for calculation in its "Parameters" tab. If the "Apply to" parameter is not selected explicitly, the default calculation is based on the values of "Close" prices."
- Подскажите, пожалуйста: где/в каком пункте русифицированого MT5 можно найти это окно с индикаторами, или как "правильно" можно получить последнюю цену по заданному инструменту?!

Поспешишь - людей насмешишь, вот тут есть "рабочий код", возвращающий мне желаемое: https://www.mql5.com/ru/forum/58542
Вопрос, лишь: как работать со справкой, если в ней нашлось 3-4-5 вариантов решения моей "задачи", и ни один из них не сработал... ??!

PS. За темой продолжаю следить, если кто-то растолкует мне, что я не так делал в первом посте - буду признателен, потому что по идее так быть не должно: если есть документация - нужно делать по ней. Если что-то из документации не работает - значит что-то делаю в корне "не так"... у меня ничёрта не сработало, что пугает! ))

CopyClose что делаю не так ?
CopyClose что делаю не так ?
  • 2015.05.09
  • www.mql5.com
Форум алго-трейдеров MQL5