Новая версия платформы MetaTrader 5 build 2615: Фундаментальный анализ и комплексный критерий в тестере стратегий - страница 24
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Билд 2622, минутный тайм фрейм, инструмент Si-12.20 брокер "Открытие".
Принтуем при открытии нового бара в режиме "Каждый тик на основе реальных тиков" и "OHLC на M1" :
Выше результаты сведены в таблицу, и у меня по ним есть вопросы:
1. Я ожидал, что задержка может быть в случае, если на текущем инструменте уже появился новый бар, а на инструменте с которого запрашиваем информацию ещё нет - такая ситуация действительно бывает, но только на открытии нового дня - выделено зеленым.
2. Без выделения ситуация, такая же, как и из первого пункта, но если в потиковом тестировании это ожидаемо, то почему такая ситуация происходит и в режиме "OHLC на M1" - откуда там рассинхронизация - неясно.
3. Желтым цветом выделена ситуация, когда два тика пришли единовременно или же по запрашиваемому инструменту тик пришел быстрей, чем на инструменте с которого происходит вызов информации, но каким образом в режиме "OHLC на M1" нет тика на этом баре, если он даже уже пришёл в потиковом режиме.
Прошу разработчиков пояснить, это так и было задумано, тогда в чем логика, или это ошибка, которая будет исправлена?
Билд 2622, минутный тайм фрейм, инструмент Si-12.20 брокер "Открытие".
Принтуем при открытии нового бара в режиме "Каждый тик на основе реальных тиков" и "OHLC на M1" :
Выше результаты сведены в таблицу, и у меня по ним есть вопросы:
1. Я ожидал, что задержка может быть в случае, если на текущем инструменте уже появился новый бар, а на инструменте с которого запрашиваем информацию ещё нет - такая ситуация действительно бывает, но только на открытии нового дня - выделено зеленым.
2. Без выделения ситуация, такая же, как и из первого пункта, но если в потиковом тестировании это ожидаемо, то почему такая ситуация происходит и в режиме "OHLC на M1" - откуда там рассинхронизация - неясно.
3. Желтым цветом выделена ситуация, когда два тика пришли единовременно или же по запрашиваемому инструменту тик пришел быстрей, чем на инструменте с которого происходит вызов информации, но каким образом в режиме "OHLC на M1" нет тика на этом баре, если он даже уже пришёл в потиковом режиме.
Прошу разработчиков пояснить, это так и было задумано, тогда в чем логика, или это ошибка, которая будет исправлена?
Ваш вопрос исключительно про OHLC режим тестирования, так как в потиковом все верно?
Тогда ответ простой - вы никаких гарантий точной синхронизации чужих символов при OHLC тестировании не можете иметь. OHLC исключительно для грязного тестирования.
Ваш вопрос исключительно про OHLC режим тестирования, так как в потиковом все верно?
Тогда ответ простой - вы никаких гарантий точной синхронизации чужих символов при OHLC тестировании не можете иметь. OHLC исключительно для грязного тестирования.
В потиковом, похоже, что верно.
Однако, почему нельзя сделать синхронизацию "чужих символов" по времени открытия именно бара тайм серии, я же не говорю про тиковую синхронизацию? И вообще, от чего зависит рассинхронизация, чем больше инструментов, тем больше будет рассинхронизация в режиме OHLC?
В потиковом, похоже, что верно.
Однако, почему нельзя сделать синхронизацию "чужих символов" по времени открытия именно бара тайм серии, я же не говорю про тиковую синхронизацию? И вообще, от чего зависит рассинхронизация, чем больше инструментов, тем больше будет рассинхронизация в режиме OHLC?
В OHLC работает упрощенный режим моделирования.
Он неприменим для мультисимвольного точного тестирования. Варианты качества моделирования "по ценам открытия, по OHLC" были специально введены для кардинального ускорения расчетов.
Нельзя же на ровном месте получить ускорение в N раз при том же уровне качества.В OHLC работает упрощенный режим моделирования.
Он неприменим для мультисимвольного точного тестирования. Варианты качества моделирования "по ценам открытия, по OHLC" были специально введены для кардинального ускорения расчетов.
Нельзя же на ровном месте получить ускорение в N раз при том же уровне качества.По своей наивности, я думал, что синхронизация по OHLC подразумевает, что если бар открылся в 10:00:01 с приходом тика, то в режиме OHLC просто произойдет округление до 10:00:00. Вроде и справки читал, но как то не дошло видимо из прочтитанного.
Значит единственный вариант, это делать кастомные символы, с тиками по OHLC и запускать тестирование по всем тикам, для сохранения синхронизации и скорости? Может такой режим просто добавить в тестер, как чуть медленней OHLC, но значительно более быстрого чем по всем тикам?
Ваш вопрос исключительно про OHLC режим тестирования, так как в потиковом все верно?
Всё же, решил я проверить, всё ли верно в потиковом режиме - увы, если буквально считать, что расчет должен был начаться с приходом первого тика и внутри OnTick() время не идет, то получается, что по фьючерсу Si-12.20 тик (сделка по сути, а не движение в стакане) пришел раньше, чем по USDRUB_TOM 26.09.2020, а в таблице выше в одно время, или напротив USDRUB_TOM раньше.
Получается, что точность синхронизации примерно в окно 1 секунду, или как понимать эту рассинхронизацию?
Всё же, решил я проверить, всё ли верно в потиковом режиме - увы, если буквально считать, что расчет должен был начаться с приходом первого тика и внутри OnTick() время не идет, то получается, что по фьючерсу Si-12.20 тик (сделка по сути, а не движение в стакане) пришел раньше, чем по USDRUB_TOM 26.09.2020, а в таблице выше в одно время, или напротив USDRUB_TOM раньше.
Получается, что точность синхронизации примерно в окно 1 секунду, или как понимать эту рассинхронизацию?
Прочтите свой текст внимательно, пожалуйста.
Найдите в нем исходные условия, проверочный код, логи, выводы, а потом вопрос. Вы пропускаете важные шаги, но делаете утверждения и задаете вопросы.
Прочтите свой текст внимательно, пожалуйста.
Найдите в нем исходные условия, проверочный код, логи, выводы, а потом вопрос. Вы пропускаете важные шаги, но делаете утверждения и задаете вопросы.
Я утверждаю только исходя из имеющихся у меня данных, но не отрицаю, что они могут быть ошибочны. Мне ж важно разобраться в ситуации.
лог:
build 2622
всплывающее окно подсказки кажется теперь корректно работает
но огорчает автоподстановка когда в методах класса в качестве параметра пользовательские типы - часто вместо названия типа (структура или класс) подставляется тип int
кажется этот баг появляется если пользовательский тип описан в другом файле .mqh