В этой статье поговорим про анализ движения в стаканах после того, как произошёл базовый сигнал. Это необходимо, чтобы анализировать возможность для фронтранинга медленных роботов, работающих при помощи маркет-ордеров.
1. Создание робота для анализа движения.
Для создания экземпляра робота, как и в других случаях, нам понадобится открыть облегчённый интерфейс для торговли и нажать на кнопку добавить робота:
- Ввести для робота уникальное имя.
- Выбрать тип робота. В данном случае это CurrencyMoveExplorer. Нужно кликнуть левой кнопкой мыши на нём, чтобы название робота загорелось оранжевым.
- Нажать на кнопку Принять.
2. Подключение последовательностей в торговлю.
Подключение к серверу и создание последовательностей связок инструментов для валютного арбитража описаны вот в этой статье и полностью применимы к этому роботу:
https://o-s-a.net/posts/currency-arbitrage-ui.html
Чтобы продолжить. Вы должны:
- Подключиться к серверу.
- Настроить связки инструментов для торговли.
Рекомендованные стартовые настройки:
- Вызываем у робота его интерфейс.
- Вызываем общие настройки.
- Рекомендованные настройки по минимальной указанной комиссии. Даже если Вы платите её в другой валюте.
- Рекомендованные минимальные настройки по генерируемому сигналу, чтобы робот их видел.
- Обратите внимание на то, что включен режим «Эмулятора». Не обязательно сразу же включать боевые торги, пока Вы со всем не разобрались.
3. Параметры самого робота.
Вызываются из облегчённого интерфейса для торговли при нажатии на кнопку «Параметры»:
- Общий режим. Включено / выключено. On / Off
4. Как робот работает и что делает.
Как только из BotTabPolygon приходит сигнал о том, что профит превысил сигнальное значение, робот начинает сохранять в лог текущий профит по связке. Один раз в 200 миллисекунд.
Сам сигнал выглядит вот так:
Записи прибыльности в связке после сигнала можно смотреть в логе робота:
Но лучше это делать из файловой системы. Открыть непосредственно файл с логом:
5. Обзор кода робота.
Исходный код робота расположен внутри проекта вот здесь:
Ссылка на этого робота на ГитХабе:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/CurrencyArbitrage/CurrencyMoveExplorer.cs
Весь код 113 строк.
Юзинги стандартные для роботов в OsEngine.
За исключением последнего пункта. Робот использует в себе дополнительный поток, который и занимается сохранением данных по прибыльности. Поэтому здесь есть System.Threading;
Поля.
- Источник BotTabPolygon, в котором происходит расчёт сигналов, настройка последовательностей и логика торговли.
- Параметр. On / Off
Конструктор.
- Создание источника для валютного арбитража. А также его сохранение как поля класса.
- Подписка на событие превышения сигнального значения профита внутри последовательности.
- Создание параметра для робота.
- Создание потока, занимающегося сохранением профитности в течении 3 секунд после сигнала.
Логика.
- Обработчик события превышения профита над сигнальным.
- Механизм старта сбора сведений о прибыльности последовательности.
- Поток, записывающий прибыльность по последовательности после сигнала.
- Механизм остановки записи прибыльности по последовательности инструментов.
- Запись прибыльности по последовательности в лог.
ВАЖНО!
1) Данного робота можно модернизировать и сделать более точным. Сохранять изменение прибыли по связке каждое изменение стакана.
2) Исследования движения после сигнала проводить следует на сервере приближенном к бирже криптовалют на которой они проводятся.
3) Суть этих исследований в том чтобы увидеть как медленные роботы работающие по маркету двигают рынок в другую сторону. Т.е. создают уже другую неэффективность, следующую за базовой. Что видно из записей логов.
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии открыты для друзей, добавляйтесь!