В конце каждого прохода оптимизатора происходит навязчивое вычисление многих статистических показателей тестирования. Резонно ли иметь механизм четкого выбора показателей для расчета в оптимизаторе?
В MT4 этих показателей поменьше, да и все они однопроходные, в отличие от некоторых ресурсоемких в MT5. Наверное, и здесь еще кроится разная их проиводительность в режиме оптимизации.
- qai.narod.ru
Есть ТС, которые торгуют только в определенные интервалы. Например, только по средам или по сильным новостям из календаря. В остальное время они ничего не делают.
Ускоряю бэктест таких ТС через прописывание в самом начале OnTick проверки условия на нулевое количество ордеров. Однако, все равно при огромном количестве тестерных тиков, на каждом тике делается вызов OnTick с этой проверкой, которая на самом деле, по логике, и не нужна.
Наверное предлагаю то же самое. OnTick всё равно будет вызыватся на каждом тике. А что бы этого не происходило нужно разобраться можно ли в процессе тестирования изменять настройки даты от и до програмно.
void OnTick(){ if (IsTesting()){//код находится в тестере стратегий // здесь вставить проверку условия при которое ТС рассчитана и далее по алгоритму в случае TRUE }
}
Единственная значимая возможность ускорить вычисления, это перейти в режим "Быстрый метод на основе сформировавшихся баров". Логика ТС должна явно соответствовать этому режиму. Это самый точный и быстрый режим тестирования. Все остальное - разговоры о пустом.
Если есть, что сказать по теме - велкам.
Ни кодобазы, ни статей и каких-либо толковых публикаций не делал, но опыт по теме все же имеется.
Без ложной скромности, топикстартер выделывал с MT4-тестером множество жутких извращений с полным осознанием, что и зачем. Короче, в теме бэктестинга (не только MT) очень хорошо разбираюсь и с практической и с теоретической точек зрения.
Простые предложения ускорения высказаны. Интересно услышать мнение разработчиков и ребят, которые занимаются оптимизацией ТС с боевыми идеями в них.
Не хочу показаться грубым, но риторический вопрос сразу возник: это Вы зачем и кому написали?
Если есть, что сказать по теме - велкам.
Ни кодобазы, ни статей и каких-либо толковых публикаций не делал, но опыт по теме все же имеется.
Без ложной скромности, топикстартер выделывал с MT4-тестером множество жутких извращений с полным осознанием, что и зачем. Короче, в теме бэктестинга (не только MT) очень хорошо разбираюсь и с практической и с теоретической точек зрения.
Простые предложения ускорения высказаны. Интересно услышать мнение разработчиков и ребят, которые занимаются оптимизацией ТС с боевыми идеями в них.
Здесь с опытом ни одни Вы. Еще раз говорю что самый эффективный способ увеличить производительность находиться в области построения самой ТС, а не в области оптимизации тестера. Как бы оптимизировано вы не гнали тики, прогонка баров будет быстрее (и точнее).
Откуда уверенность у вашей ТС, что до NextData она не получит сигнала на вход в рынок?
// Переводит по возможности следующий в тестере тики, начиная с даты NextDate // Возвращает TRUE - будет перевод. FALSE - невозможно (висят ордера или iCustom-индикаторы). bool TesterToDate( datetime NextDate );Как быть с прикрепленными индикаторами? Ведь они должны рассчитываться непрерывно.
C-4:
Откуда уверенность у вашей ТС, что до NextData она не получит сигнала на вход в рынок?
Вы как будто прочли только название топика. Посмотрите внимательно первый пост, там полностью содержится ответ на Ваш вопрос. Если повторить, то есть очень много ТС, которые знают, когда они точно никаких торговых сигналов получать не будут. Например, ночные скальперы, так любимые Привалом. Они не получат никаких входных сигналов днем по определению. И бары пропускать или тики - неважно. Главное, чтобы они именно пропускались тогда, когда это разумно делать: автор ТС знает и вставляет это условие в свою ТС.
Как быть с прикрепленными индикаторами? Ведь они должны рассчитываться непрерывно.
Есть ТС, которые торгуют только в определенные интервалы. Например, только по средам или по сильным новостям из календаря. В остальное время они ничего не делают.
Целесообразно ли ввести функцию?
Как по мне, то объект исследования не должен управлять экспериментом над самим собой.
Без ложной скромности, топикстартер выделывал с MT4-тестером множество жутких извращений с полным осознанием, что и зачем. Короче, в теме бэктестинга (не только MT) очень хорошо разбираюсь и с практической и с теоретической точек зрения.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Ускоряю бэктест таких ТС через прописывание в самом начале OnTick проверки условия на нулевое количество ордеров. Однако, все равно при огромном количестве тестерных тиков, на каждом тике делается вызов OnTick с этой проверкой, которая на самом деле, по логике, и не нужна.
Целесообразно ли ввести функцию?
На MT4 созданием кастомной истории с вырезанием из нее "ненужных" кусков задача ускорения расчетов не решается. На MT5 - тем более.
В общем, хочется более рационального использования бэктестинга. Если есть подводные камни такого решения - сообщите. По-моему, простое и эффективное решение должно получиться. Аналогов не встречал, к сожалению.