Изображение блога
Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> Блог компании Os_Engine
25 сентября 2024, 17:55

Как алготрейдеру израсходовать всю память и уронить ПК. Пример из жизни.

Бывают случаи, когда для роботов надо сохранять ленту сделок. Иногда без этого не обойтись. Между тем, это опасно и требует постоянного внимания.

Посмотрим на то как это делать не надо. И несколько советов о том, как делать это правильно. Для терминала OsEngine.

Как алготрейдеру израсходовать всю память и уронить ПК. Пример из жизни. 

1. Когда надо сохранять ленту сделок?

В общем, существует две ситуации:

  1. Когда Вы по ней торгуете, и нужна глубокая история.
  2. Когда Вы торгуете по нестандартным свечам и имеете неосторожную привычку менять таймфреймы иногда. Так как при смене таймфрейма, если трейды не сохраняются, нестандартные свечи начнут своё построение с нуля!

 

2. Как включить сохранение ленты сделок?

У каждого боевого коннектора в 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.

 

Совет 1: Не надо делать это на нескольких OsEngine.

Собственно, из-за чего весь сыр-бор:

Как алготрейдеру израсходовать всю память и уронить ПК. Пример из жизни.

Товарищ из сообщества пытался понять, как ему лучше торговать, с включенным сохранением трейдов и запустил их 4ре штуки, распределив роботов между терминалами. Всего источников в каждом терминале около 100!

Так вот, если Вы сохраняете ленту сделок, несколько параллельно запущенных OsEngine ситуацию усугубят!

Всё дело в том, что вместо того, чтобы складывать ленту сделок в одну базу, OsEngine будет это делать одновременно в четыре!

Поэтому совет номер один:

Не надо сохранять ленту сделок из разных терминалов параллельно. Сделайте это в одном единственном билде.

 

Совет 2: Придётся перезагружать 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

Как алготрейдеру израсходовать всю память и уронить ПК. Пример из жизни.

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн