Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
25 октября 2023, 19:10

Готовый робот для классического валютного арбитража.

В OsEngine встроен робот для классического валютного (треугольного) арбитража. Называется он CurrencyArbitrageClassic. В этом посте посмотрим на процедуру его создания, его параметры, поговорим о его логике, а также посмотрим на его исходный код.
Готовый робот для классического валютного арбитража.

 

1. Создание робота для классического валютного арбитража.

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

Готовый робот для классического валютного арбитража.

  1. Ввести для робота уникальное имя.
  2. Выбрать тип робота. В данном случае это CurrencyArbitrageClassic. Нужно кликнуть левой кнопкой мыши на нём, чтобы название робота загорелось оранжевым.
  3. Нажать на кнопку «Принять».
 

2. Подключение последовательностей в торговлю.

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

https://o-s-a.net/posts/currency-arbitrage-ui.html

Чтобы продолжить, вы должны:

  1. Подключиться к серверу.
  2. Настроить связки инструментов для торговли.

Рекомендованные стартовые настройки:

Готовый робот для классического валютного арбитража.

  1. Вызываем у робота его интерфейс.
  2. Вызываем общие настройки.
  3. Рекомендованные настройки по минимальной указанной комиссии. Даже если Вы платите её в другой валюте.
  4. Рекомендованные минимальные настройки по генерируемому сигналу, чтобы робот их видел.
  5. Обратите внимание на то, что включен режим «Эмулятора». Не обязательно сразу же включать боевые торги, пока Вы со всем не разобрались.


3. Параметры самого робота.

Вызываются из облегчённого интерфейса для торговли нажатием на кнопку «Параметры»:

Готовый робот для классического валютного арбитража.

1. Общий режим. Включено / выключено. On / Off.
2. Стартовый объём, который будет использован.
3. Тип ордера, который будет использован.
  • Limit.
  • Market.

4. Тип комиссии, который будет использован.

  • None - отсутствует.
  • Percent – в процентах.

5. Размер комиссии, который будет использован в случае, если выбран тип комиссии в процентах.

6. Нужно ли отнимать комиссию от объёмов, которые будут торговаться после первой сделки.

7. Тип задержки между ордерами.

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

4. Как робот работает и что делает.

Как только из BotTabPolygon приходит сигнал о том, что профит превысил сигнальное значение, робот начинает операцию по выставлению ордеров по связке в соответствии с настройками.

5. Обзор кода робота.

Исходный код робота расположен внутри проекта вот здесь:

Готовый робот для классического валютного арбитража.

Ссылка на этого робота на ГитХабе:

 https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/CurrencyArbitrage/CurrencyArbitrageClassic.cs

Весь код 113 строк.

В основном всё состоит из сервисного кода:

Готовый робот для классического валютного арбитража. 

Юзинги стандартные для роботов в OsEngine.

Готовый робот для классического валютного арбитража.

Поля.

 Готовый робот для классического валютного арбитража.

  1. Источник BotTabPolygon, в котором происходит расчёт сигналов, настройка последовательностей и логика торговли.
  2. Параметры, которые мы видели выше в интерфейсе.

Конструктор.

Готовый робот для классического валютного арбитража.

  1. Создание источника для валютного арбитража. А также его сохранение как поля класса.
  2. Подписка на событие превышения сигнального значения профита внутри последовательности.
  3. Создание параметров для робота.

Логика.

 Готовый робот для классического валютного арбитража.

  1. Первый параметр на вход: Профит по текущей связке типа decimal.
  2. Второй параметр на вход: сама последовательность. Класс, который отвечает за расчёт прибыльности по связке и содержит торговую логику.
  3. Если по связке есть какие-то позиции, выходим из метода.
  4. Если режим робота стоит в положении Off, выходим из метода.
  5. Этот большой блок копирует настройки робота в связку для того, чтобы всё прошло корректно. Можно было обойтись и без него, оставив всё на усмотрение настроек самой связки, но так будет удобнее.
  6. Вызов метода для торговли по связке.

Готовый робот для классического валютного арбитража.

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

Комментарии открыты для друзей, добавляйтесь!

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн