В данной статье мы рассмотрим пользовательские интерфейсы для Валютного арбитража в OsEngine. Вся логика по поиску прибыльных последовательностей зашита в BotTabPolygon и настраивается из визуальных интерфейсов.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/54a683.webp)
1. Валютный арбитраж в OsEngine работает только в реале.
Тестер с Оптимизатором заблокированы для данных типов стратегий. Вся логика валютных арбитражей полностью строится на стаканах, сигналы довольно редкие, исполнение оттестировать вообще не возможно, т.к. в моменте мгновенную ликвидность очень сильно шатает в разные стороны. От этого тесты возможны только в реале.
2. Подключаемся к серверу для торговли.
В главном меню идём в Bot Station Light:
Подключаемся к серверу для Спотовой торговли криптой, в данном случае это BitGet:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/8db8b6.webp)
- Выбираем меню подключения к торговым серверам;
- В левой таблице находим сервер для коннекта;
- В окне настроек сервера вбиваем ключи доступа и жмём на кнопку Connect.
3. Создаём робота для Валютного арбитража.
В главном окне приложения ищем кнопку Add bot и жмём на неё:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/1f46a5.webp)
Перед нами открывается окно выбора роботов:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/b7c359.webp)
- Обязательно введите уникальное имя робота для системы. Поменять его потом будет нельзя.
- Самый простой робот для Валютного Арбитража в ручном режиме называется PolygonalEngine, выбираем его. А именно, кликаем на строку с именем робота, чтобы имя загорелось оранжевым цветом.
- Обратите внимание на то, что в списке источников у роботов для валютного арбитража должен быть источник Polygon. В данном случае 1 шт. По данному источнику можно найти и других роботов для Валютного арбитража в списке.
- Жмём на кнопку Принять.
После этого робот должен быть добавлен в таблицу главного окна приложения:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/e912d4.webp)
4. Окно управления роботом для Валютного арбитража.
Чтобы вызвать окно управления роботом, необходимо нажать на кнопку Chart в главном окне приложения.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/eccc8d.webp)
После этого откроется окно конкретного экземпляра робота:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/8f10ea.webp)
- В данном квадрате после всех настроек мы увидим таблицу с торговыми последовательностями.
- Кнопка «Авто выбор» отвечает за автоматический подбор последовательностей.
- Кнопка «Общие настройки» отвечает за настройки.
- Кнопка «Добавить пару» позволяет добавить пустую заготовку для пары, которую потом надо будет заполнить вручную.
- Во вкладке BotLog можно видеть лог по всем последовательностям.
- Market Depth (стакан) для данного типа роботов не доступен в данном интерфейсе.
- Во вкладке Control можно настраивать некоторые общие модули, работающие в связках.
5. Control. Общие функции управления для BotTabPolygonal.
Открыв вкладку «Control», Вам будут доступны настройки, работающие в BotTabPolygonal:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/467f2c.webp)
- Кнопка «Журнал» открывает общий журнал по всем связкам. Кроме того, если в робота подключены другие источники, такие как BotTabSimple, BotTabScreener и т.д., Вы увидите общий журнал вместе с ними.
- Кнопка «Параметры» открывает параметры робота.
- Кнопка «Сопровождение позиций» открывает общие настройки сопровождения позиций для источника BotTabPolygon.
6. Общие настройки для последовательностей.
Общие настройки для последовательностей можно открыть из главного интерфейса робота, нажав на эту кнопку:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/2a25a0.webp)
Откроется окно общих настроек:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/5d30f6.webp)
1. Разделитель для названия бумаг, чтобы логика выбора валют работала верно. Это нужно на биржах, в которых этот самый разделитель есть. Иногда это бывает «@» или «_» (нижнее подчёркивание). На Binance И BitGet например разделителя нет.
2. Размер профита в % по связке инструментов, после которой должен произойти сигнал.
3. Тип сигнала, который будет подан после достижения профит в % по связке из прошлой настройки.
- Bot_Event — будет подан сигнал в робота через соответствующий Event, на который можно подписаться из кода.
- Alert – будет открыто окно с записью. Запись о том, что по такой-то связке появилось превышение по профиту.
- All – будут поданы оба предыдущих сигнала.
- None – отсутствие реакции.
4. Стартовый объём для стартовой валюты в связке.
5. Проскальзывание для Лимитных ордеров, если выбран тип исполнения ордеров Limit.
6. Тип комиссии, который будет учитываться при расчёте прибыли по связке.
- None – не будет учитываться.
- Percent – комиссия будет рассчитана в процентах (Рекомендовано включать в любом случае).
7. Размер комиссии в %, который будет учитываться при расчёте прибыли по связке, в случае если учёт комиссии включен (Рекомендовано ставить не меньше 0.05%).
8. Нужно ли отнимать размер комиссии от объёмов в связке инструментов. (Рекомендовано включать в любом случае, чтобы не было ошибок с расчётом объёмов).
9. Тип задержки при выставлении ордеров по связке инструментов.
- ByExecution – механизм исполнения будет дожидаться исполнения последнего выставленного ордера, чтобы переходить к выставлению последующего.
- InMls – в миллисекундах.
- Instantly – мгновенно выставить все три ордера по связке, без задержек.
10. Интервал между ордерами, указанный в миллисекундах, в случае если тип задержек указан как InMls.
11. Тип ордеров для торговли.
- Limit – исполняется по определённой цене.
- Market – исполняется по любой цене, которая будет в стакане.
12. Кнопка сохранить изменения. И все настройки будут применены только к вновь создаваемым связкам.
13. Кнопка применить ко всем. Настройки из данного окна будет сохранены, а затем будут применены ко всем существующим связкам инструментов.
7. Автоматический подбор связок.
Данный функционал нужен для того, чтобы можно было не вбивать руками сотни последовательностей связок для торговли, которые есть на площадке.
Вызывается «авто-подбор связок» вот по этой кнопке:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/b5ce4a.webp)
ВАЖНО!!!
Далее все этапы нужно делать последовательно и аккуратно, иначе связки не подберутся.
Этап 1. Выбор базовых инструментов.
- Выбор торгового сервера.
- Выбор портфеля для осуществления операций.
- Выбор базовой валюты для связок.
- Разделитель для названия бумаг, чтобы логика выбора валют работала верно. Это нужно на биржах, в которых этот самый разделитель есть. Иногда это бывает «@» или «_» (нижнее подчёркивание). На Binance и BitGet, например, разделителя нет.
- Кнопка выбрать все.
- Чтобы переходить к следующему этапу создания связок, нужно, чтобы здесь были проставлены галочки!
Этап 2. Выбор доступных валют для перелива.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/73b86f.webp)
- Доступные валюты для перелива, из которых потом есть выход в нашу базовую валюту.
- Кнопка выбрать все.
- Кнопка создать таблицу.
- В эту таблицу могут попадать странные символы, которые не нужно выбирать как валюты для перелива.
- ВАЖНО!!! Чтобы переходить к следующему этапу, нужно, чтобы хоть какие-то валюты в этой таблице были выбраны.
Этап 3. Формирование итоговой таблицы последовательностей.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/fd8083.webp)
- Кнопка создать таблицу последовательностей.
- Кнопка выбрать все последовательности.
- Сами последовательности сформированные в результате этого этапа.
- Кнопка создать последовательности в роботе. Будут созданы все выбранные последовательности, которые Вы сразу же сможете увидеть в интерфейсе робота.
Итог должен быть таким.
Полностью сформированная таблица возможных последовательностей:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/8c9c45.webp)
8. Таблица связок в окне робота.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/e18620.webp)
- Кнопка для создания серии заявок по связке. Начинает процедуру торговли по связке. В соответствии с внутренними настройками.
- Базовая валюта связки и ожидаемый мгновенный профит по связке в моменте.
- Последовательность из трёх инструментов, которые будут использованы в торговле с указанием стороны сделки, которая будет проводиться по каждому в отдельности.
- Кнопка, открывающая отдельный чарт конкретной последовательности.
- Кнопка удаляющая последовательность.
9. Отдельное окно последовательности.
Открывается по нажатию в таблице последовательностей кнопки Chart:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/f8891e.webp)
Само окно выглядит так:
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2023/images/21/16/44/2023/10/20/932f95.webp)
1. Стаканы по выбранным инструментам. Также здесь находятся кнопки, при помощи которых их можно поменять.
2. Таблица последовательности операций по связке инструментов.
3. Лог данной связки. Когда по ней пойдут сделки, здесь будут записи.
4. Базовая валюта. Она же стартовая. Из какой валюты будет начат перелив по связке.
5. Разделитель для названия бумаг, чтобы логика выбора валют работала верно. Это нужно на биржах, в которых этот самый разделитель есть. Иногда это бывает «@» или «_» (нижнее подчёркивание). На Binance И BitGet например разделителя нет.
6. Размер профита в % по связке инструментов, после которой должен произойти сигнал.
7. Тип сигнала, который будет подан после достижения профит в % по связке из прошлой настройки.
- Bot_Event – будет подан сигнал в робота через соответствующий Event, на который можно подписаться из кода.
- Alert – будет открыто окно с записью. Запись о том, что по такой-то связке появилось превышение по профиту.
- All – будут поданы оба предыдущих сигнала.
- None – отсутствие реакции.
8. Тип комиссии, который будет учитываться при расчёте прибыли по связке.
- None – не будет учитываться.
- Percent – комиссия будет рассчитана в процентах (Рекомендовано включать в любом случае).
9. Размер комиссии в %, который будет учитываться при расчёте прибыли по связке, в случае если учёт комиссии включен (Рекомендовано ставить не меньше 0.05%).
10. Нужно ли отнимать размер комиссии от объёмов в связке инструментов. (Рекомендовано включать в любом случае, чтобы не было ошибок с расчётом объёмов).
11. Тип задержки при выставлении ордеров по связке инструментов.
- ByExecution – механизм исполнения будет дожидаться исполнения последнего выставленного ордера, чтобы переходить к выставлению последующего.
- InMls – в миллисекундах.
- Instantly – мгновенно выставить все три ордера по связке, без задержек.
12. Интервал между ордерами, указанный в миллисекундах, в случае если тип задержек указан как InMls.
13. Тип ордеров для торговли.
- Limit – исполняется по определённой цене.
- Market – исполняется по любой цене, которая будет в стакане.
14. Стартовый объём для стартовой валюты в связке.
15. Проскальзывание для Лимитных ордеров, если выбран тип исполнения ордеров Limit.
16. Кнопка для создания серии заявок по связке. Начинает процедуру торговли по связке. В соответствии с внутренними настройками.
![Валютный арбитраж. Пользовательские интерфейсы в OsEngine. Валютный арбитраж. Пользовательские интерфейсы в OsEngine.](/uploads/2024/images/21/16/44/2024/08/22/aaaed5.webp)
OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии открыты для друзей, добавляйтесь!