В нескольких предыдущих постах серии мы разговаривали про IServer, свойства и методы, которые в нём есть. Их много и довольно разных. При этом каждое отдельно взятое API что-то поддерживает, а что-то нет. О том, что конкретно коннектор поддерживает, OsEngine должен знать ДО того, как начнёт запрашивать неработающий функционал. Для этого ServerPermission и существует.
Например, данные могут быть только свечные, или может не быть 15 минутных свечек. Или API может вообще не поддерживать скачку глубоких исторических данных. Или API не поддерживает какие-то торговые операции: нет Market ордеров, не работает перестановка цены ордера.
Cлой автотестов для коннекторов переживает в OsEngine уже ВТОРОЕ пришествие. Увеличившись с первой версии в 10 раз. Про что и будет данная мини-серия статей внутри серии «Коннекторы к OsEngine». АЖ НА 20 Постов. Так надо…
А данный пост о том, зачем такой большой слой тестирования и введение в тему.
Так вышло, что ядро OsEngine тестируется почти без остановки с разных сторон одновременно. И тестером, и оптимизатором и роботами в реальных боях. В какой-то момент дошло до того, что команда в офисе узнаёт о багах, если таковые есть, после их пуша в ядро через 10 – 20 минут.
Выглядит это так:
Рис. 1. Модули, тестирующие слои, поддерживающие работу роботов.
Поэтому само ядро OsEngine стабильно.
Проблемы в другом месте… В коннекторах. Чем мы с Вами и будем весь 2024 год заниматься.
Это самая важная часть создания коннекторов. «Наговнить немного кода, чтобы как-то что-то заработало» — дело нехитрое. Однако при таком подходе пользователи будут не довольны, т.к. коннектор будет работать плохо. Поэтому надо делать хорошо, чтобы коннектор начал проходить автоматические тесты. И для этого придётся попотеть.
Сегодня рассмотрим интерфейс с названием IServer, через который осуществляется доступ к коннекторам в OsEngine. Посмотрим, что у него там есть внутри.
IServer – интерфейс для доступа к реализациям серверов почти во всём проекте. Нужен для того, чтобы унифицировать методы и свойства, нужные для роботов и OsData.
Вероятно, для каких-то молодых камрадов это будет откровением, ибо каждая книжка по Шарпам уже с первых глав нас знакомит с тем, что в C# за сборкой мусора следить не надо. Однако это маркетинговая выдумка. В высоко нагруженных проектах вроде OsEngine, как только ты не проследил за удалением объектов и выкинул это из головы, началась утечка памяти.
Я и сам, как программист-самоучка, очень много лет проживал в этой парадигме, от чего было много проблем как у меня, так и у пользователей OsEngine.
И в этом посте поговорим о том, какие штуки надо обязательно подчищать за собой при удалении коннектора. А вернее при вызове его обязательного к перегрузке метода DISPOSE();
Очень часто коннектор нуждается в перезапуске. Это обусловлено свойствами работы сети интернет. В этот момент у ServerRealization вызывается метод Dispose. Все манипуляции по очищению памяти и переменных нужно делать из этого метода. И ни из какого другого…
Стратегия «Gilean Alt Bull» и «Gilean Alt Bear»
Стратегия была создана для торговли дополнительных фьючерсов с экспериментальной целью — понять работает ли что то на неликвидных символах, каким количеством фьючерсов возможна торговля. Стратегия была создана в ноябре 2023 года в результате анализа и подбора параметров в исторический период. С ноября 2023 года стратегия «Gilean Alt Bull» торгуется на реальном счёте.
Потому как стратегия планируется к закрытию, опубликую только часть своих изысканий.
Доходность портфеля за 2023 год — 63,5%.
Доходность за 4 квартал — 14,4%
Доходность за 1,5 года — 81,8%.
Средняя доходность — 47% годовых.
Максимальная просадка — 14,5%.
Кальмар — 3,2.
Благодаря бычьему рынку на валюте и на российских акциях торговым роботам за 2023 год удалось показать хорошую прибыль. За этот год были отключены некоторые алгоритмы на баксе и евро к рублю. Зато были запущены алгоритмы на юане, как оказалось там работают те же параметры, что и на баксе. Также добавлены 4 стратегии на 50 ликвидных акций.
Мониторить динамику портфеля можно здесь:
https://www.comon.ru/strategies/109402/
Подключиться к стратегии вы можете от суммы 500 тыс.руб. и все сделки автоматически будут копироваться с моего брокерского счета на ваш. Ну а для состоятельных клиентов возможно индивидуальное управление портфелем от 10 млн.руб. 💼😎
По вопросам подключения к стратегии пишите в телеграм: @voronchihin_evgeny
Мой телеграм-канал: @alfa_quant
Сегодня мы рассмотрим индикатор VWMA. Узнаем историю создания индикатора и то, как он рассчитывается.
Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.
1. История создания индикатора.
2. Как проводятся расчеты индикатора VWMA.
3. Какие сигналы может подавать индикатор.
4. Роботы для OsEngine на индикаторе VWMA.
4.1. Стратегия основанная на пересечении индикатора VWMA с ценой.
4.2. Стратегия основанная на пересечении двух индикаторов VWMA.
4.3. Стратегия основанная на трех индикаторах VWMA.
4.4. Стратегия на пересечение индикатора VWMA и VWMA со сдвигом.
4.5. Стратегия с двумя индикаторами Ema и двумя VWMA.
5. Итоговая таблица результатов. 18
Индикатор Volume Weighted Moving Average (VWMA) был разработан в 90-х годах. Этот индикатор используется для определения трендов на финансовых рынках, учитывая объем торгов при расчете скользящей средней.