Изменения, баг-фикс и улучшения, которые были внесены в проект за предыдущий месяц.
Приближаемся к продакшен-реди версии. Около нового года можно будет об этом говорить, поэтому фокус смещается на инструкции и удобство работы с проектом для начинающих.
Мега-ГАЙД по OsEngine, алготрейдингу и программированию.
Сам ГАЙД здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php
Он делается для того, чтобы было удобно и быстро искать всё в одном месте. Вся информация по алготрейдингу и созданию торговых роботов, которая Вам может понадобиться в одном месте.
Новое за месяц:
- Пример. Таблица в окне параметров 2. https://smart-lab.ru/company/os_engine/blog/1056626.php
- Стандартные настройки коннектора в OsEngine. https://smart-lab.ru/company/os_engine/blog/1057253.php
- Видео. Конвертеры свечей. https://smart-lab.ru/company/os_engine/blog/1057628.php
- Пример. Логирование информации из робота. https://smart-lab.ru/company/os_engine/blog/1057708.php
- Видео. Обзор тестера. https://smart-lab.ru/company/os_engine/blog/1057875.php
- Требования к ЦП при увеличении кол-ва инструментов в торгах. https://smart-lab.ru/company/os_engine/blog/1057909.php
- Перенос скриптов ботов / индикаторов из проекта и обратно. https://smart-lab.ru/company/os_engine/blog/1058350.php
- Пример. Ловец ножей от плит. Многопоточный. https://smart-lab.ru/company/os_engine/blog/1058746.php
- Видео. Погрешности тестирования. Откуда они берутся. https://smart-lab.ru/company/os_engine/blog/1059191.php
- Видео. Тестер. Храниние данных и настройки бумаг. https://smart-lab.ru/company/os_engine/blog/1060308.php
- Почему нельзя занимать поток робота. https://smart-lab.ru/company/os_engine/blog/1060440.php
- Видео. Скачивание слепков стаканов и запускаем на них тестер. https://smart-lab.ru/company/os_engine/blog/1060760.php
- Статья + видео в комментариях. Как профилировать OsEngine и узнать где в Вашем роботе идёт нагрузка на ЦП.
- Видео. Скачивание ленты сделок и запуск на ней тестера. https://smart-lab.ru/company/os_engine/blog/1061502.php
- Пример. Контроль позиций по разным типам входов при помощи SignalTypeOpen. https://smart-lab.ru/company/os_engine/blog/1062082.php
- Видео. Как мы работаем над OsEngine в общих чертах. https://smart-lab.ru/company/os_engine/blog/1062447.php
- Введение для рубрики «Мироменеджмент позиций». https://smart-lab.ru/company/os_engine/blog/1062526.php
- Пример. Выход из позиции в несколько ордеров одновременно, через множество открытий. https://smart-lab.ru/company/os_engine/blog/1062664.php
- Пример. Усреднение позиций через открытие новых позиций с пересчётом тейк-профита по средней цене входа. https://smart-lab.ru/company/os_engine/blog/1062762.php
- Видео. Алерты в OsEngine. Ручная торговля наклонных уровней. https://smart-lab.ru/company/os_engine/blog/1063136.php
- Видео. Как правильно пушить на ГитХаб, без конфликтов. https://smart-lab.ru/company/os_engine/blog/1063626.php
- Про то как правильно сохранять ленту сделок: https://smart-lab.ru/company/os_engine/blog/1064133.php
- Как обнулить глобальные переменные, если они у Вас есть, при перезапуске тестера. https://smart-lab.ru/company/os_engine/blog/1064674.php
- Пример. Пирамидинг по движению и усреднение на откате. https://smart-lab.ru/company/os_engine/blog/1065113.php
- Пример. Последовательный выход из позиции лимитками, ожидающими в рынке. https://smart-lab.ru/company/os_engine/blog/1065358.php
Юзер-френдли апгрейды.
1. Position GUI. Отдельное окно позиции. Визуальные правки. Выровнены колонки. Обрезали значения в некоторых полях. Стало читаемо:
2. Добавлен поиск по таблице бумаг в боевых серверах:
3. Введена сортировка в таблицы с закрытыми позициями. По этим же позициям в интерефейс выводятся обрезанные значения без лишних «хвостов». Вот здесь:
4. На время подключения к данным кнопка «Начать тесты» в тестере блокирована, иначе вылетал лог о том, что данные не готовы. Вот так:
5. Нумерация позиций во время тестирования сбрасывается на ноль при каждом перезапуске тестера. Раньше была сквозная нумерация между тестами:
6. Изменён формат записи в лог, когда робот входит или выходит из позиции. Добавлена запись времени:
7. В журнале поправлено округление в статистике до 6 знаков везде:
8. Убраны лишние нули при отображении позиций по портфелю:
Расширения / изменения функционала.
- BotTabSimple. Отложенные методы открытия позиций. BuyAtStop / SellAtStop. Блокировка установки проскальзывания в тестере, чтобы пользователи не рисовали себе прибыль.
- BotTabSimple. Названия сигналов по профитам и стопам разделены и записываются в тип закрытия позиции, только после срабатывания стопов или профитов.
- BotTabSimple. Новые методы управления позицией, не снимающие предыдущие ордера: CloseAtLimitUnsafe, SellAtLimitToPositionUnsafe, BuyAtLimitToPositionUnsafe. По ним написаны примеры и статьи, будут в блоге.
- Изменён формат сохранения таблиц в файл для более удобного дальнейшего экспорта в Excell. Теперь все разделители — это точка с запятой. А файл из таблицы оптимизатора дополнительно разделяет точками с запятой параметры, чтобы тоже были в разных столбцах в Excell.
Рефакторинг / оптимизация.
- Quik LUA. Оптимизация поточной модели разбора данных. Коннектор переписан по правилам 2024 года. Делал: https://github.com/susanoo-10011
- Transaq Connector. Оптимизация. Стало сильно лучше при одновременной работе с 50+ источниками и активной торговле.
- BotManualControl. Метод DisableManualSupport можно вызывать сколько угодно раз, обращаться к файловой системе будет только на изменении настроек.
- FIxFast Spot MOEX. Ускорение разбора и отправки сообщений через StringBuilder. Делал: https://github.com/nikitabuida
- Из проекта полностью удалена «Админ-панель» из-за временной ненадобности и несоответствия текущему уровню проекта.
- Из проекта удалена чарт-рулетка. Ела слишком много ЦП.
- Таблицы – оптимизация таблиц, в которых много данных в оптимизаторе, при выборе бумаг, в списках бумаг, в позициях журнала. Ускорение Х2.
- RSI индикатор. Рефакторинг. Ускорение Х 10.
- Разрешён конфликт с JSon библиотеками. Newtonsoft.Json обновлён. Делал: https://github.com/avpork
- Экстренный лог. Оптимизация вызова создания окна экстренного лога.
Баг-фиксы.
- Chart. Фиксы определения положения сделки в тестере. Фиксы оси Y.
- StrategyParameterString. Фикс ошибки при изменении коллекции в роботе из кода. И дальнейшей невозможности открыть окно параметров.
- BingX. Правки для переменной minTradeAmount.
- DeltaByCandels. Исправлен пример индикатора дельты по трейдам.
- SecurityUI. Правка сохранения гарантийного обеспечения. Убраны ненужные проверки и костыли.
- AServerOrderHub. Отправлял сообщение о потере ордера на бирже дважды. Правил: https://github.com/Knyazev-Sergey
- BotTabSimple. Исправлена ошибка потери актуального портфеля из-за перезапуска коннектора.
- AServerTestMaster. Защита основного потока на тестовом стенде от падения, когда что-то пошло сильно не так во время теста.
- TestBotConnection. Защита потока робота.
- Optimizer. Несколько фиксов.
- BuyAtStopPositionViewer. Защита рабочего потока.
- Position. Фикс ошибки взятия времени закрытия позиции по последнему ордеру в рынке. Сейчас берётся по последнему исполненному трейду.
- Order. Фикс свойства GetLastTradeTime. Установлена дополнительная защита от ошибок.
Новые роботы и индикаторы в примеры.
1. Робот «Ловец ножей многопоточный»: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/High%20Frequency/MarketDepthScreener.cs
2. Робот в рубрику «Микроменеджмент позиций». PriceChannelCounterTrend:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/PriceChannelCounterTrend.cs
3. Робот в рубрику «Микроменеджмент позиций». EnvelopsCounterTrend:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/EnvelopsCountertrend.cs
4. Робот в рубрику «Микроменеджмент позиций». AlligatorTrendAverage:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/AlligatorTrendAverage.cs
5. Робот в рубрику «Микроменеджмент позиций». CandlesTurnaroundPattern:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/CandlesTurnaroundPattern.cs
6. Робот в рубрику «Микроменеджмент позиций». CustomIcebergSample:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/CustomIcebergSample.cs
7. Робот в рубрику «Микроменеджмент позиций». UnsafeLimitsClosingSample:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/UnsafeLimitsClosingSample.cs
8. Робот в рубрику «Микроменеджмент позиций». UnsafeAveragePosition:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/PositionsMicromanagement/UnsafeAveragePosition.cs
Отличились и помогали:
Профиль на ГитХаб: https://github.com/nikitabuida
Профиль на СмартЛаб: https://smart-lab.ru/profile/fininja/
Профиль на ГитХаб: https://github.com/susanoo-10011
Профиль на СмартЛаб: https://smart-lab.ru/profile/EgorYarnyh/
Профиль на ГитХаб: https://github.com/Knyazev-Sergey
Профиль на СмартЛаб: https://smart-lab.ru/profile/SergeyKnyazev_3b0/
Профиль на ГитХаб: https://github.com/avpork
Профиль на СмартЛаб: https://smart-lab.ru/profile/avporsk/
Профиль на ГитХаб: https://github.com/AlexWan
Профиль на СмартЛаб: https://smart-lab.ru/profile/Tyam/
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php