Найти тему

Подводные камни оптимизации!

Для успеха нужно думать и понимать что делаешь!

Многие наши клиенты неправильно понимают оптимизацию параметров стратегии. Они скорее стараются подогнать стратегию под выбранный диапазон котировок. Некоторые клиенты включают в оптимизацию практически все параметры, задают широкие диапазоны тестирования и выставляют минимальный шаг для перебора значений параметров стратегии.

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

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

Во вторых, даже идеальные параметры на таком же рынке не дадут такой же результат в торговле по следующей причине: ТСЛаб некорректно исполняет оптимизацию. Есть ошибка логики.
Вы замечали что в ТСЛаб данные подгружаются справа налево? И скользящие средние в правой части графика не меняются.
Это в корне неправильно. В реальности в зависимости от изменения цены перерисовываются и скользящие средние.
Если цена резко выросла, то быстрая ЕМА начинает подниматься. Если цена останется на новом уровне, то и ЕМА подтянется через десяток баров. А если цена резко вернётся обратно вниз, то и пик ЕМА значительно снизится.
Так вот, сигналы по ЕМА в онлайн режиме могут появляться и пропадать. А на исторических данных всё довольно статично, не так как в реале. Да, так проще запрограммировать. Не нужно на каждом шаге пересчитывать ЕМА и каждый другой индикатор. Но желание срезать угол в итоге выходит боком для пользователей.
Поэтому оптимизацию в ТСЛаб нужно принимать как вариант с погрешностями. И чем мельче сигналы, тем погрешность будет больше и чаще. Имейте это ввиду.

В третьих, на котировках неликвидных инструментов могут быть свечи без объема. Ну, не было сделок, такое бывает. А ТСЛаб при бэктестах легко на них рисует сделки по сколько угодно лотов. Это явный логический баг системы. Грамотный алготрейдер сделает проверку на объемы и не только. Критическое состояние стратегии обязательно должно быть корректно обработано. Иначе во время эксплуатации робота мы получим кучу неожиданных ошибок. Автоматизировать нужно с умом, с пониманием дела!
Здесь ещё такой момент есть. Если мы торгуем ликвидные инструменты, то данный баг скорее всего не проявится. А вот на неликвиде вполне может вылиться в неисполнение заявки или в сильный сдвиг стакана. И тогда робот будет торговать почти всегда. А это самое ужасное для программиста, когда программа работает почти всегда.

Как правильно делать оптимизацию (без программирования) мы описали подробно в инструкции, которая идет с роботом Vector. Если вы занимаетесь алготрейдингом, то вам эта информация будет очень полезна.
По любым вопросам обращайтесь в личку:
@iScalper