rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Логирование информации в роботе на OsEngine.

Почти сразу, после того, как Вы начнёте писать своих первых роботов, Вам придётся научиться делать записи в лог. Чтобы понимать, правильно ли работают ваши роботы.

Сегодня мы посмотрим, как это делается из кода робота.

Логирование информации в роботе на OsEngine.

1. Каждый робот содержит метод для отправки сообщений в лог.

SendNewLogMessage

В качестве параметров он принимает:

  1. Строку (String);
  2. Тип сообщения (Logging.LogMessageType).

Выглядит в коде робота это так:
Логирование информации в роботе на OsEngine.

Перечисление Logging.LogMessageType содержит следующие константы:

  1. System – системное сообщение, используется только во внутренних слоях программы.
  2. Signal – используется в роботах при получении торгового сигнала.
  3. Error – используется для отправки ошибок. Сообщения данного типа отображаются во всплывающем поверх программы окне. В экстренном логе.
  4. Connect – сообщения из коннектора информируют о состоянии соединения.
  5. Trade – информация о работе торговой логики.
  6. NoName – сообщения без указания конкретной спецификации.
  7. User – указывают на действия пользователей.
  8. OldSession – сообщения из прошлой сессии работы программы.

 

2. Открываем пример робота CandlesLoggingSample.

На гитХабе его можно посмотреть по этой ссылке: https://github.com/AlexWan/OsEngine

Внутри проекта пример здесь:

Логирование информации в роботе на OsEngine.


3. Что в примере?

Логирование информации в роботе на OsEngine.

  1. Стандартное создание источника BotTabSimple и его сохранение в переменную _tab.
  2. Подписываемся на событие завершения свечи у источника и создаём обработчик.
  3. Создаём сообщение, которое будем отправлять в лог.
  4. Отсылаем в лог робота с типом сообщения User.
  5. Отсылаем в лог робота с типом сообщения Error. Это сообщение ещё дополнительно попадёт в экстренный лог.

 

4. Где будут записи в логе у этого примера?

Стандартный лог робота можно увидеть во вкладке “Bot log” у самого робота. Именно сюда будут записываться любые типы сообщений:

Логирование информации в роботе на OsEngine.

Кроме того, мы увидим всплывающий «Emergency log», в него попадают сообщения с пометкой Error:

Логирование информации в роботе на OsEngine.


5. Глобальный лог

Если Вам нужно вывести какие-то данные не из робота. А из какой-то другой части программы, то можно воспользоваться глобальным логом сервера.

Вызывается он так:
Логирование информации в роботе на OsEngine.

В таком случае сообщения будут выведены вот сюда:
Логирование информации в роботе на OsEngine.

Но пользоваться таким способом вывода информации надо в крайних случаях. Стандарт — это лог робота. Чтобы было понятно какой робот какие сообщения выдаёт.


Удачных алгоритмов!

Комментарии открыты для друзей!

Логирование информации в роботе на OsEngine.

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка 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

Логирование информации в роботе на OsEngine.

★2
2 комментария
Очень понятный и простой пример. Спасибо. Полезно.
Алексей Теперев, Спасибо! Стараемся)

UPDONW
Новый дизайн