rss

Профиль компании

Финансовые компании

Блог компании OsEngine | Пример робота на внешних стопах для OsEngine

В статье разбираем учебного робота ServerStopOrdersSample  — готовый пример торговли внешними (серверными) стоп-ордерами.

Робот показывает полный цикл работы с внешним стопом: выставление, ожидание активации, контроль исполнения порождённой биржей заявки, снятие по таймауту и перевыставление по актуальной цене.

Исходный код открыт и доступен на GitHub — ссылка в конце статьи. Робот демонстрирует механику внешних стоп-ордеров и не ставит целью получение прибыли.

Пример робота на внешних стопах для OsEngine

1) Торговая логика

Робот торгует только в Long и использует внешний стоп-лимит как способ войти в позицию при подтверждении движения цены вверх. Внешний стоп хранится на бирже, поэтому активация происходит даже при выключенном терминале, а заявка порождается биржей без задержки на отправку.

Особенность примера — контроль исполнения по времени. Стоп-лимит не гарантирует исполнения: цена может коснуться уровня активации и уйти дальше, а лимитная заявка останется неисполненной. Поэтому у каждого ордера есть лимит времени на исполнение. Если ордер не успел исполниться, робот снимает его и перевыставляет по текущим ценам.

 

2) Логика работы

Вход в позицию:

Робот выставляет внешний стоп-лимит на покупку. Цена активации — лучший аск плюс отступ (параметр «Trigger offset percent»). Лимитная цена порождённой заявки — ниже цены активации на величину отступа «Limit offset percent».

Если за заданное число свечей (параметр «Candles to wait») ордер не исполнился, робот снимает его и перевыставляет по актуальным ценам. Причин может быть две: стоп не активировался либо порождённая лимитная заявка не исполнилась.

Если лимитная заявка исполнена, позиция открыта.

 

Выход из позиции:

На следующей свече после открытия позиции робот выставляет закрывающий внешний стоп-лимит на продажу. Механика зеркальная: цена активации — лучший бид минус отступ, лимитная цена — выше цены активации.

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

Робот работает одинаково в боевом подключении и в тестере: на серверах без поддержки внешних стопов методы автоматически переключаются на внутренние стопы OsEngine.

Пример робота на внешних стопах для OsEngine

 

3) Настройки робота

Параметры разбиты на две вкладки.

 

Вкладка «Base»:

On (торговля включена) или Off (торговля выключена, активный ордер на вход снимается);

Volume — объём позиции в лотах.

Пример робота на внешних стопах для OsEngine

 

Вкладка «Order prices»:

Trigger offset percent — отступ цены активации от лучшей цены стакана, в процентах (по умолчанию 0,05%);

Limit offset percent — отступ лимитной цены порождённой заявки от цены активации, в процентах (по умолчанию 0,05%);

Candles to wait — число свечей, отводимое ордеру на исполнение (по умолчанию 5).

Пример робота на внешних стопах для OsEngine

 

4) Как это выглядит в коде

Выставление внешнего стоп-лимита на вход выполняется одним методом торговой вкладки BotTabSimple:

_tab.BuyAtStopOnServer(volume, priceLimit, priceActivation, «ServerStopLimitEntry»);

Закрытие позиции внешним стопом:

_tab.CloseAtStopOnServer(pos, activation, priceOrder, «ServerStopLimitExit»);

Робот не делит логику на «тестер» и «боевой сервер». Он запоминает свечу, на которой выставлен ордер, и по истечении заданного числа свечей снимает живой ордер. Для внутренних стопов используется BuyAtStopCancel, для внешних — CloseOrder; оба вызова безопасны в «чужом» режиме.

 

5) Где найти

Робот находится в папке Robots/TechSamples. В списке роботов он доступен под именем ServerStopOrdersSample.

Исходный код на GitHub: github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/TechSamples/ServerStopOrdersSample.cs


Удачных алгоритмов!

Пример робота на внешних стопах для OsEngine

https://smart-lab.ru/company/os_engine/blog/1024149.php

Скачать OsEngine: https://github.com/AlexWan/OsEngine

Официальная поддержка OsEngine в MAX: https://max
Канал Научный трейдинг в MAX: https://max.ru/

Поддержка OsEngine в Телеграм: https://t.me/osengine_official_support 
Канал Научный трейдинг (Bad Quant) в Телеграм: https://t.me/bad_quant

Пример робота на внешних стопах для OsEngine
https://www.tbank.ru/invest/

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • OsEngine
3.5К | ★2

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн