Бывают случаи, когда для роботов надо сохранять ленту сделок. Иногда без этого не обойтись. Между тем, это опасно и требует постоянного внимания.
Посмотрим на то, как это делать не надо. И несколько советов о том, как делать это правильно. Для терминала OsEngine.
В общем, существует две ситуации:
У каждого боевого коннектора в OsEngine есть стандартные настройки, в которых можно включить сохранение ленты сделок. Большая статья про это здесь: https://smart-lab.ru/company/os_engine/blog/1057253.php
В любом коннекторе за это отвечают вот эти три настройки:
Сохранять историю трейдов (Keep trade history).
Если true, то OsEngine хранит в папке OsData всю ленту сделок, которую получает.
Трейдов подгружать дней(Days to load trades).
Касается предыдущей настройки. Если Вы включили сохранение ленты сделок, то этой настройкой можно отрегулировать, за сколько дней лента будет храниться.
Удалять трейды из памяти (Remove trades From Memory).
Функционал, который периодически очищает все хранилища с лентами сделок у робота. Если нужна лента сделок, нужно здесь указывать False.
Собственно, из-за чего весь сыр-бор:
Товарищ из сообщества пытался понять, как ему лучше торговать, с включенным сохранением трейдов и запустил их 4ре штуки, распределив роботов между терминалами. Всего источников в каждом терминале около 100!
Так вот, если Вы сохраняете ленту сделок, несколько параллельно запущенных OsEngine ситуацию усугубят!
Всё дело в том, что вместо того, чтобы складывать ленту сделок в одну базу, OsEngine будет это делать одновременно в четыре!
Поэтому совет номер один:
Не надо сохранять ленту сделок из разных терминалов параллельно. Сделайте это в одном единственном билде.
Да. В таком случае придётся перезапускать терминал, чтобы «лишняя» занятая память очищалась, и оставалось только N дней для сохранения, указанных в настройках коннектора.
Так вы сможете контролировать загрузку оперативной памяти.
В общем то и всё. Сохранять ленту сделок можно, но придётся за этим следить и соблюдать кое-какие правила, описанные в статье.
Удачных алгоритмов!
Комментарии открыты для друзей!
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