slinger
11
All posts from slinger
  slinger in slinger,

Стратегия на болинджере. Реализация робота на Tslab.

стратегия с использованием индикатора Bollinger Bands.
идея: часовой график, фьюч сбера. (тестировалось и на индексе РТС также) работаю и в лонг и в шорт.
строю 2 канала болинджера с периодом 15. один со стандартным отклонением 2 (красный), другой с 0.8 (синий).

Рис 1. Графическое изображение построения каналов:

при выходе цены за красный канал, что свидетельствует о резком рывке - беру позу. если пробиваем вверх - лонг, вниз - шорт. закрываю и лонг шорт по синий линии, канал болинджера с коэффициентом 0.8. если цена продолжительный период времени, 5-10 баров идет в нашу сторону, синяя линия подтягивается за ценой, образуя своеобразный трэйл лосс. к этому моменту синяя линия находится уже выше цены взятия позы.
При помощи MACD - определяю направление тренда. при положительном значении беру сделки только вверх, при отрицательном - вниз.

Рис 2. Диаграмма доходности. Фьюч сбера, 1 год.

Рис 3. Результаты работы скрипта.

Рис 4. Неправильные выходы из поз. 

Рис 5. Фьюч сбера. 3 месяца. Падающий рынок.

Рис 6. Диаграмма доходности. Фьюч РТС.

 

проблемы: как показано на рисунке №3, была взята поза в правильном месте и в правильном направлении. сразу после взятия позы цена пошла в нужном направлении. но, на небольшом откате, цена коснулась синий линии и поза была закрыта. потом поза была взята еще раз и опять была закрыта по касанию синий линии. а, нужно было закрывать на 3ем касании.

Пробовал закрывать по условия close<синяя линия - дает менее хорошие результаты при тестировании на годе.

оптимизация:
подбор периодов каналов боллинджера показал, что изменение периодом не дает ощутимого результата. методом тыка был подобран период 15. можно поставить и 10 и 20 и даже 30. координальной разницы не будет. а вот подбор значений стандартного отклонения (standatd deviation) показал хорошие результаты. красный канал (линии bbl2 и bbh2) должен быть шире, чем синий (bbl и bbh) - уже. поэтому при оптимизации на новом инструменте запускаем оптимизацию со следующими параметрами:
bbh - от 0.1 до 1 шаг 0.1
bbh2 - от 1 до 2 шаг 0.1
всего вариантов для перебора: 60.

ставим режим торгов - только длинные. запускаем оптимизатор.
получаем данные и пишем их в блок для шортов (так как мы оптимизировали только лонги). данные параметры должны быть одинаковыми как для лонгов так идля шортов. оптимизировать и лонги и шорты можно, но мы получим чистую подгонку под кривую тогда.

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