Что обновляет функция RefreshRates() - страница 8

 
Aleksey Mavrin:

Если очень надо. то работает :)

Именно

Что "именно"? В пятерке не реже раза в две минуты нужно запрашивать данные с нужного символа и таймфрейма для поддержания их в актуальном состоянии. Причём тут "всё гораздо сложнее"?
 
Artyom Trishkin:
Что "именно"? В пятерке не реже раза в две минуты нужно запрашивать данные с нужного символа и таймфрейма для поддержания их в актуальном состоянии. Причём тут "всё гораздо сложнее"?

Не первый раз слышу "не реже раза в две минуты с нужного таймфрейма". От куда информация, это в мануале или экспиреминтальные данные при создании костылей?

 
Mikhail Nazarenko:

Не первый раз слышу "не реже раза в две минуты с нужного таймфрейма". От куда информация, это в мануале или экспиреминтальные данные при создании костылей?

Результаты общения с разработчиками на форуме.


Artyom Trishkin:
Что "именно"? В пятерке не реже раза в две минуты нужно запрашивать данные с нужного символа и таймфрейма для поддержания их в актуальном состоянии. Причём тут "всё гораздо сложнее"?

При том, что действительно сложнее. Например, инициализация (ожидание данных). В 4ке этой проблемы нет.

Да и регулярный рефреш не всегда помогал, масса случаев, когда жаловались на "отвалившуюся тайм-серию". Багов в этой области хватало. Возможно, все исправили, а, возможно, нет.

 
Самое простое - проверять количество баров в серии, если баров появилось больше одного значит произошла подгрузка истории, делаем перерасчет.
И не нужны никакие костыли, таймсерии при этом сами постоянно обновляются.
 
Taras Slobodyanik:
Самое простое - проверять количество баров в серии, если баров появилось больше одного значит произошла подгрузка истории, делаем перерасчет.
И не нужны никакие костыли, таймсерии при этом сами постоянно обновляются.

Такой вариант похоже сложнее будет. Чем это оправдано? Код можно.

 
Mikhail Nazarenko:

Такой вариант похоже сложнее будет. Чем это оправдано? Код можно.

if (prev_calculated==0 || rates_total-prev_calculated>1) 
   flagReCalc=true;
 
Artyom Trishkin:
Что "именно"? В пятерке не реже раза в две минуты нужно запрашивать данные с нужного символа и таймфрейма для поддержания их в актуальном состоянии. Причём тут "всё гораздо сложнее"?

именно - регулярно запрашивать iTime для нужных тайм-фреймов для актуальности, необязательно две минуты, а что не нравится?) речь про 4-ку, да и в 5-ке вроде проблем особых нет. не знаю что имелось ввиду под сложнее.

 
Taras Slobodyanik:

С индюками тут понятно. Я имел ввиду для советника. В OnTick()

 
Mikhail Nazarenko:

С индюками тут понятно. Я имел ввиду для советника. В OnTick()

точно также, создать теже переменные и проверять iBars

Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
  • www.mql5.com
iBars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Taras Slobodyanik:

точно также, создать теже переменные и проверять iBars

Работать будет, но появляются сложности получения предыдущего значения при первом запуске, при закачке новой истории, когда из вне меняется количество баров в истории. А так вариант рабочий, если обращение к iBar стимулирует терминал к следующим обновлениям таймсерий.

Причина обращения: