Рассмотрим робот PayOfMarginBot, который предназначен для ежедневного расчета маржинальной комиссии при тестировании стратегий в OsEngine.
Этот робот нужен в тех случаях, когда при тестировании портфельных роботов в тестере, Вы берёте плечо, то есть торгуете объёмами выше, чем Ваш депозит. В большинстве случаев брокер взимает комиссию за использование заёмных средств. Именно эту комиссию робот и способен сгенерировать, чтобы тесты были максимально приближены к реальности.
1. Логика работы робота.
Робот создан под механику взимания комиссии на рынке акций MOEX. То есть, как и реальный брокер, он генерирует комиссию каждую ночь.
При каждом обновлении свечи робот проверяет, является ли последняя свеча первой свечой нового дня. Затем он просматривает всех роботов, включённых в Тестере, смотрит их в Журнале и анализирует их открытые позиции за предыдущий день. Если суммарная величина позиций превышает размер депозита, робот рассчитывает и списывает маржинальную комиссию.
2. Исходный код в проекте.
Ссылка на GitHub: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Helpers/PayOfMarginBot.cs
3. Настройка робота.
Вкладка параметров «Main»:
- Regime. Выбираем режим работы – Оff/Summ/Percent. Off – выключено, Summ – расчет маржи происходит по ставкам брокера «Т-Инвестиции», указанных во вкладке «Summ», Percent – расчет комиссии происходит по ставкам указанным в таблице во вкладке «Percent».
- Full log is on. Включает полное логирование процесса расчета маржи. Все данные будут отображаться в логах робота.
- После изменения настроек не забываем нажать кнопку «Обновить».
Вкладка параметров «Summ».
Во вкладке можно указать различные способы расчёта маржинальной комиссии для каждого года. Сделано специально для брокера Т—Инвестиции:
Если нажать на кнопку настроить:
После этого откроется окно таблицы со ставками за конкретный год. В колонке «Ставка»(1) можно изменить размеры ставки. После редактирования нужно нажать на кнопку «Принять»(2) и закрыть окно.
Во вкладке «Percent» представлена таблица, где указывается год и какая ставка налога в этом году:
- Колонка с годами.
- Колонка со ставкой.
- Кнопка «Удалить строку» — удаляет выбранную строку.
- Кнопка «Добавить строку» — добавляет новую строку в конец таблицы.
4 Запуск робота в Тестере.
В настройках эмулятора биржи нужно выбрать сет данных.
Создаём робота. Открываем его чарт и настраиваем источники. Во вкладке «Управление» (1) нажимаем кнопку «Настройка данных».
В открывшемся окне выбираем инструмент(1) с наибольшим диапазоном данных и нажимаем «Принять»(2).
Можно выбрать любые данные, которые есть в сете — важно только, чтобы робот был на что-то подписан.
После этого можно настраивать параметры и запускать тестирование.
Удачных алгоритмов!

https://smart-lab.ru/company/os_engine/blog/1024149.php
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Канал Научный трейдинг (Bad Quant): https://t.me/bad_quant
Подробнее https://smart-lab.ru/compan...










