Почти сразу, после того, как Вы начнёте писать своих первых роботов, Вам придётся научиться делать записи в лог. Чтобы понимать, правильно ли работают ваши роботы.
Сегодня мы посмотрим, как это делается из кода робота.
SendNewLogMessage
В качестве параметров он принимает:
1. Строку (String);
2. Тип сообщения (Logging.LogMessageType).
Выглядит в коде робота это так:
Перечисление 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
Внутри проекта пример здесь:


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

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

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

В таком случае сообщения будут выведены вот сюда:

Но пользоваться таким способом вывода информации надо в крайних случаях. Стандарт - это лог робота. Чтобы было понятно какой робот какие сообщения выдаёт.
Удачных алгоритмов!
P.S.
Os Engine поддержка терминала: https://t.me/osengine_official_support
Обсуждаем в телеграмме: https://t.me/o_s_a_chat
Канал проекта: https://t.me/bad_quant
Комментарии