нашел тоже мне ошибку.
это же прекрасно что TimeCurrent() не требует RefreshRates()
вот еслибы RefreshRates() не обновлял TimeCurrent тогда бы была ошибка
TimeCurrent обращается напрямую к MarketWatch за временем. Значение последнего известного серверного времени не кешируется для эксперта - данные из справки устарели. Спасибо, поправим описание.
Loky:
Вы правы, вопрос не первой важности для людей: зачем забивать
себе голову и досконально изучать функции, когда можно просто
тупо их дублировать для подстраховки.нашел тоже мне ошибку.
это же прекрасно что TimeCurrent() не требует RefreshRates()
вот еслибы RefreshRates() не обновлял TimeCurrent тогда бы была ошибка
Я никого не хочу обидеть, просто каждый сам выберает свой стиль программирования.
Я привык все свои программы оптимизировать. И, вообще, не люблю когда в моей программе делается то, о чем я не знаю!
Я подумал, может есть еще такие люди, вот для них написал, пусть теперь знают.
stringo:
Пожалуйста. Всегда рад помочь и себе и вам)... Спасибо, поправим описание.
Был бы признателен, если разработчики сказали свое мнение и в этих ветках
'Что такое нулевой тик?'
'Импорт фунций из DLL. Строковые перепенные и массивы!'
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот, как я это проверил:
И как только время изменялось в окошке "Обзор рынка" сразу в журнале появлялось новое значение! Заметьте никакого RefreshRates() нету!
Программа находиться в процессе выполнения! Писал этот код как в скрипте так и в советнике, одно и тоже!
Вот справка для TimeCurrent():
datetime TimeCurrent( )
Возвращает последнее известное время сервера (время прихода последней котировки) в виде количества секунд, прошедших после 00:00 1 января 1970 года.
Программа сохраняет время прихода последней котировки наряду с предопределенными переменными в переменных своего окружения перед запуском. В процессе выполнения это значение может быть изменено только в результате вызова функции RefreshRates().
...
Объясните пожалуйста, может я не правильно понял?
Еще проверил для предопределенной переменной Bid
Здесь все нормально, она не меняет своего значения, когда программа в процессе выполнения!
Кому интересно, MarketInfo(), также как и TimeCurrent(), обновляется в процессе выполнения программы!