Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Узнай последние события MQL5.community!
Aleksandr Chugunov
4816
Aleksandr Chugunov 2011.01.07 13:49 

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

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

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

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

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

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

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

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


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

Aleksandr Chugunov
4816
Aleksandr Chugunov 2011.01.11 17:29  

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

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

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

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

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

MetaQuotes
Админ
24947
Renat Fatkhullin 2011.01.11 18:39  

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Jager
282
Jager 2011.01.12 12:10  
Renat:

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

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

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

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

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

Jager
282
Jager 2011.01.12 13:46  
Renat:

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

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

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

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

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



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