Потиковое тестирование, пропуск баров, для ускорения тестирования

 

Добрый день! 


Делаю советника, который торгует в потиковом режиме, но торгует он только определенное время, остальное простаивает. При тестировании, модель тестирования "Все тики" очень долго тестирует. 


Может кто подскажет, есть ли возможность при тестировании в потиковом режиме пропустить несколько баров, а затем продолжить тестирование далее. Перелопатил форум и не нашел информации. Режим ручного разбития на временные отрезки и поочередного тестирования не подходит. 


Может кто в курсе, есть какое-то решение?

 
kukrinikson:

Можно в OnTick просто пропускать обработку (сразу выходить), по какому-то условию.

 
Собрать кастумный символ, в котором лишние тики вырезаны.
 
Все зависит от того, какое время - определенное. 
 
Andrey Khatimlianskii:
Собрать кастумный символ, в котором лишние тики вырезаны.

Элегантно!

 

Насчет кастомных символов не подходит. В общих чертах... торгуем в течении определенного часа, потом ждем сутки и снова торгуем. В идеале тестер пропускает это время, т.е. не генерирует тики, как вариант переходит в посвечный режим, затем снова переходит в потиковый режим. При этом индикаторы должны учитывать с пропущенное время. Как-то так.

 

или используйте готовое https://www.mql5.com/ru/code/10472

или изучите стандартный PeridConverter и подготовьте себе графики для тестирования - сделайте по одному тику н абар в период который Вам не нужно тестировать  - статью почитайте как работает тестер МТ4 и как моделируются тики https://www.mql5.com/ru/articles/1511

но обычно этой проблемы не возникает если правильно написан эксперт

FastHistory
FastHistory
  • www.mql5.com
Скрипт создает файл истории исходного символа, на которой достигается увеличение в разы скорости тестирования/оптимизации стратегий на модели "Все тики", при идентичных результатах. Входные параметры: Трансформация истории: Удаляются бары, не участвующие в существенном движении цены (особенно актуально для Pips < Spread). Изменяется...
 
kukrinikson:

Насчет кастомных символов не подходит. В общих чертах... торгуем в течении определенного часа, потом ждем сутки и снова торгуем. В идеале тестер пропускает это время, т.е. не генерирует тики, как вариант переходит в посвечный режим, затем снова переходит в потиковый режим. При этом индикаторы должны учитывать с пропущенное время. Как-то так.

Если так, как вы описали, то подходит.

PS: бары вырезать я не предлагал.

 
Если котировки 5 разрядные, сделать режим работы советника, при котором обрабатываются тики только при изменении 4-го разряда. Это ускорит тестирование.
 
khorosh:
Если котировки 5 разрядные, сделать режим работы советника, при котором обрабатываются тики только при изменении 4-го разряда. Это ускорит тестирование.

Идею беру, спасибо. Не приходило в голову.

 
Edgar:

Идею беру, спасибо. Не приходило в голову.

Проверил на двух своих экспертах.

Первый - на тиках нет тяжëлых расчëтов. Выигрыша нет. Есть замедление на 12% из-за проверки изменений bid и ask. 

Второй - расчëт iATR(36) и iATR(91) на H1. Выигрыш 3%.

В обоих случаях сильно ухудшается результат тестирования, что делает это непригодным.

Т.е. в моëм случае идея не работает. У меня все расчëты происходят не на тиках, а при торговых операциях. А индикаторы - на крупных таймфреймах.

PS. Тестировал в MT5 на реальных тиках.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...