Обзор бесплатного робота для парного арбитража в OsEngine. Сразу напоминаю, что робот уже готов к запуску на Московской бирже (MOEX), критобиржах вроде Binance, Bitget и т.д. В общем – присоединяйтесь.
Логика:
Робот – ловящий кочергу в парах в тренд.
Суть идеи – если корреляция ниже -0,8 – входим рассчитывая на дальнейшее раздвижение:
Рис. 1. Логика входа.
После входа ждем когда корреляция станет больше 0,8 – выходим из позиций:
Рис. 2. Выходим из позиций.
Расположение:
Рис. 3. Расположение робота в проекте.
Код робота:
Рис. 4. Конструктор.
1. Создаем закрытое поле типа BotTabPair.
2. Вызываем метод из базового класса робота TabCreate, а в качестве параметра передаем туда перечисление BotTabType, в нашем случае Pair. И ниже записываем ссылку в ранее созданное поле.
3. Подписываемся насобытие CorrelationChangeEvent.
4. Создаем параметр Regime для проверки состояния робота включен он или же наоборот.
5. Далее параметр MaxPositionCountдля настройки максимального количества позиций.
6. MaxCorrelationToEntryпараметр для обозначения порога корреляции для входа.
7. MixCorrelationToExitтак же параметр для порога корреляции для выхода из позиций.
Рис. 5. Метод GetNameStrategyType
1. Создаем метод GetNameStrategyTypeи записываем в нем название робота.
Рис. 6. Обработчик событий CorrelationChangeEvent.
Переходим в обработчик событий:
1. Проверяем статус робота включен или нет.
2. Проверяем на наличие позиций если у нас есть позиции то мы переходим в логику закрытия, если нету идем в логику открытия позиций.
Рис. 7. Логика закрытия позиций.
1. Смотрим значение корреляции если оно пробило уровень для выходато закрываем позиции.
Рис. 8. Логика открытия позиций.
1. Проверяем корреляцию, если она подходит по условию то идем дальше по методу если нет то выходим.
2. Сверяем количество открытых позиций с максимально допустимым значением если у нас не превышает данное количество переходим к открытию позиций.
3. Если коинтеграция больше нуля то на первом инструменте заходим в Long, а на втором Short, если коинтеграция ниже нуля то в точности да наоборот.
Тестирование:
Мы провели тестирование 10 пар и вот результаты:
Рис. 9. Результаты тестирования.
Комментарии