Скачать MetaTrader 5

Разработчикам: прокомментируйте Исправление котировок задним числом

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Aleksandr Chugunov
4920
Aleksandr Chugunov  

Для МТ4 актуальна следующая проблема

Источник головной боли: индикатор, который перерассчитывается только на последнем экстремуме. Мы с автором этого индикатора пытались понять, почему иногда он начинает сбоить:

Скорее всего это вызвано исправлением котировок задним числом, а логика индикатора естественно к этому не готова. Вот тот же участок, но через пару минут.

Не вооружённым глазом видно, что котировки уже совсем другие:

Как быть подготовленным к этому? Встроенных средств я как понимаю для этого нет?

На форуме МТ4 IgorM высказал предположение о синхронизации задним числом, я согласен с его точкой зрения.

Можно от Вас получить комментарии - как, через какое время и сколько баров при этом синхронизируется?

Почему нет для этого специальной функции или же почему эту ситуацию не обрабатывает IndicatorCounted() ?


И соответственно как дела с этим обстоят у МТ5 ?

Aleksandr Chugunov
4920
Aleksandr Chugunov  

Промолчать ведь всегда проще?

Hide
2582
Hide  
Я не разработчик, но мне вот интересно, вы вообще в курсе, что на многих биржах (как пример CME или ММВБ) данные за прошедшую торговую сессию могут корректироваться после закрытия? И это не редкость. Ничего криминального в этом нет. Тут главное что, трейдеры там понимают (те которые разобрались в этом) почему это происходит, и понимают, что циферки корректирует не программа а сама биржа (в вашем случае - дц).
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
Aleksandr Chugunov
4920
Aleksandr Chugunov  
HideYourRichess:
Я не разработчик, но мне вот интересно, вы вообще в курсе, что на многих биржах (как пример CME или ММВБ) данные за прошедшую торговую сессию могут корректироваться после закрытия? И это не редкость. Ничего криминального в этом нет. Тут главное что, трейдеры там понимают (те которые разобрались в этом) почему это происходит, и понимают, что циферки корректирует не программа а сама биржа (в вашем случае - дц).

Вы перечитайте пожалуйста... Я не про сами коррективы, а про механизмы отслеживания этих корректив.

Иначе нужно на каждом тике/баре пересчитывать весь буфер индикаторный полностью.

В МТ4 при определённых алгоритмах и ситуациях это приводит в фатальному сбою.

MetaQuotes
Админ
25287
Renat Fatkhullin  

Индикаторы уведомляются терминалом об серьезных изменениях в истории чартов вызовом OnCalculate с prev_calculated=0.

Если история докачалась или изменилась, то счетчик ранее просчитанных баров сбрасывается в ноль.

Это и в МТ4 и в МТ5 работает.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
Aleksandr Chugunov
4920
Aleksandr Chugunov  
Renat:

Индикаторы уведомляются терминалом об серьезных изменениях в истории чартов вызовом OnCalculate с prev_calculated=0.

Если история докачалась или изменилась, то счетчик ранее просчитанных баров сбрасывается в ноль.

Это и в МТ4 и в МТ5 работает.


Выделенное красный - это ключевые слова как я понимаю?

В МТ4 проблема полностью доказана: https://www.mql5.com/ru/forum/131128

Не хотелось бы её повторения в МТ5...

А что делать, если изменения не серьёзные на взгляд терминала? Дайте рекомендации.

Ещё раз: ох уж эта функция IndicatorCounted()! Попила кровушки! Будьте бдительны! Индикаторы врут! - MQL4 форум
  • www.mql5.com
Ещё раз: ох уж эта функция IndicatorCounted()! Попила кровушки! Будьте бдительны! Индикаторы врут! - MQL4 форум
MetaQuotes
Админ
25287
Renat Fatkhullin  
AlexSTAL:

А что делать, если изменения не серьёзные на взгляд терминала? Дайте рекомендации.

Пришло любое исправление/докачка любого бара в истории - вот и серьезное изменение.

Все что не является последовательным накоплением текущего бара, считается серьезным изменением и сбрасывает счетчик prev_calculated. В МетаТрейдер 5 уровень контроля синхронизированности истории практически параноидальный, поэтому любые изменения в истории сразу же отслеживаются.

Jager
282
Jager  
Renat:

Пришло любое исправление/докачка любого бара в истории - вот и серьезное изменение.

Все что не является последовательным накоплением текущего бара, считается серьезным изменением и сбрасывает счетчик prev_calculated. В МетаТрейдер 5 уровень контроля синхронизированности истории практически параноидальный, поэтому любые изменения в истории сразу же отслеживаются.

Получается, что тестирование экспертов на истории происходит не на реальных исторических данных, а на исправленных (серьезно измененных). Как сильно могут отличаться результаты эксперта при прогоне на серьезно измененной истории от реальной?
MetaQuotes
Админ
25287
Renat Fatkhullin  
Jager:
Получается, что тестирование экспертов на истории происходит не на реальных исторических данных, а на исправленных (серьезно измененных). Как сильно могут отличаться результаты эксперта при прогоне на серьезно измененной истории от реальной?

Похоже, Вы сами себя загоняете в какие-то придуманные материи.

Боюсь, у меня нет времени объяснять азы.

Jager
282
Jager  
Renat:

Похоже, Вы сами себя загоняете в какие-то придуманные материи.

Боюсь, у меня нет времени объяснять азы.

Предполагаю ответ на данный вопрос мог быть интересен многим. Может найдется время написать ссылку на азы?
Andrey Dik
12267
Andrey Dik  

Ну как, по вашему, возможно исправление истории котировок "передним" числом? :)

Если ДЦ поменял историю, что ж тут поделаешь, история синхронизируется. А как же иначе то?



123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий