Сегодня рассмотрим пример робота, торгующего в тренд с оглядкой на индекс по стадиям волатильности. Исходники в проекте. Приятного использования!
Торговая идея:
Брать инструменты, которые идут жёстко и с импульсом против широкого рынка и торговать их в тренд. Т.е. в сторону, куда они отклоняются.
Ссылка на ГитХаб: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/IndexArbitrage/MultiOneLegArbitrageInTrend.cs
Конструктор:
Куда надо смотреть в коде:

Блоки с логикой открытия и закрытия позиций выделены комментариями.
2. Max poses count. Максимально разрешённое кол-во одновременно открытых позиций.
3. Percent depo on positions. Процент от доступных средств на одну позицию.
4. Slippage. Проскальзывание для заявки в %.
5. Asset in portfolio. Название денежной единицы в портфеле. Если Prime, то будет браться общая единица исчисления, доступная в тестере и некоторых типах подключений к Московской бирже. В остальных случаях нужно выбирать название валюты по тому, как она называется у Вас в портфеле.
6. Cointegration candles look back. За какой период будем считать график минимальных остатков между бумагой и индексом с оптимальным мультипликатором.
7. Deviation mult. Отклонение для стандартного отклонения на графике минимальных остатков от разницы с оптимальным мультипликатором.
8. Correlation min value. Минимальное значение корреляции для того, чтобы можно было открывать по бумаге позицию.
9. Correlation candles look back. За какой период будем считать корреляцию между индексом и бумагой в торгах.
10. Volatility Stage To Trade. Стадия волатильности, в которой разрешены открытия позиций.
11. Stop mult. Множитель для показателя волатильности инструмента для определения расстояния для трейлинг-стопа.
6. Настройки индикатора стадий волатильности.
Вызывать индикатор стадий волатильности можно и нужно с графика индекса путём нажатия на него правой кнопкой мыши:

Вызывать индикатор усреднённой волатильности нужно из источника скринера также правой кнопкой мыши:

Про индикаторы волатильности есть отдельная огромная статья: https://o-s-a.net/os-engine-faq?cats%5B%5D=tab10&cats%5B%5D=tab11&subcats%5B%5D=sub55&items%5B%5D=item285

В настройках эмулятора биржи у меня подключен сет из ТОП 20 бумаг с MOEX:

В данном случае это пятиминутки. Но у нас в офисе Intel Core I9, 13 поколения. И я могу себе позволить такой низкий тип данных. Вам рекомендую использовать ЧАСОВИК.
Создаём робота. Открываем его чарт и настраиваем источники:

В Индекс добавлены все бумаги из источника:

Также у индекса настроена автоформула:

В скринер подключены все бумаги:
Суть данного робота, кроме всего прочего, в применении стадий волатильности для разрешения и запрета входов. Например, в данном случае выбрана стадия волатильности 2, в которой можно работать, и индикатор настроен так, чтобы он имел три стадии, обращая внимание на центр канала. Т.е. чтобы волатильность была стандартной, вот там входить можно. Стадии повышенной волатильности и стадии её отсутствия не для открытия позиций:
Удачных алгоритмов!
Оглавление здесь: https://smart-lab.ru/company/os_engine/blog/997533.php
Подписывайтесь. Комментарии открыты для друзей.

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support