А можно и так
не совсем так.
надо аналогично запрос сделать и проверить его успешность. Вот из справки.
MqlTick last_tick;
if (SymbolInfoTick(Symbol(),last_tick)) Print(last_tick.time,": Bid =", last_tick.bid, " Ask =", last_tick.ask, " Volume =", last_tick.volume);
else Print("SymbolInfoTick() failed, error =", GetLastError());
а про то какой способ точнее- тут все равно. Функция вернет последние актуальные данные.
в MQL4 аналогичные ведь были способы. только назывался MarketInfo(Symbol(), MODE_ASK) / MODE_BID
не совсем так.
надо аналогично запрос сделать и проверить его успешность. Вот из справки.
MqlTick last_tick;
if (SymbolInfoTick(Symbol(),last_tick)) Print(last_tick.time,": Bid =", last_tick.bid, " Ask =", last_tick.ask, " Volume =", last_tick.volume);
else Print("SymbolInfoTick() failed, error =", GetLastError());
а про то какой способ точнее- тут все равно. Функция вернет последние актуальные данные.
в MQL4 аналогичные ведь были способы. только назывался MarketInfo(Symbol(), MODE_ASK) / MODE_BID
Не могу заставить работать этот код из справки. Time, Bid, Ask - нормально, volume всегда =0. Добавлял задержку 10 секунд, за это время цена несколько раз успевает меняться. Все равно volume=0. Пробовал на EURUSD, M1, H1, Oil, M1, H1. Результат одинаков. Пожалуйста, помогите.
void OnTick() { MqlTick last_tick; //--- if(SymbolInfoTick(Symbol(),last_tick)) { Print(last_tick.time,": Bid = ",last_tick.bid, " Ask = ",last_tick.ask," Volume = ",last_tick.volume); FileWrite(filehandle,last_tick.time,last_tick.bid,last_tick.ask,last_tick.volume); } else Print("SymbolInfoTick() failed, error = ",GetLastError()); Sleep(10000); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В эксперте можно так
А можно и так
Какой способ превильнее?
Из справочника:
"Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString()."
"MqlTick ... Предназначена для быстрого получения наиболее востребованной информации о текущих ценах."
То есть получается что MqlTick быстрее чем SymbolInfoDouble?