В данной статье поговорим о проблемах «перегрузки» в пользовательской логике в роботе. Очень условно поговорим про поточную модель OsEngine и о том, почему нельзя нагружать поток робота «лишней» работой или укладывать «Спать».

Для начала давайте взглянем на поток, который отдаёт данные в роботов в реале. Для этого нужно открыть класс AServer. Это вот здесь:
В данной статье посмотрим робота, который реализован с использованием многопоточного подхода.

Смотрит стаканы поступающих с биржи бумаг, ожидая «Плиту». При этом смотрит то кол-во бумаг, которое Вы в него подключили, как скринер.
В OsEngine скрипты роботов могут храниться как внутри проекта, так и снаружи, в виде текстовых файлов.
Если роботы (и индикаторы) внутри проекта, то их можно «дебажить» и правит, так что Visual Studio будет помогать.
Если роботы (и индикаторы) как файлы, то их можно очень быстро переносить из версии в версию OsEngine.
И то, и другое имеет свои преимущества и нужно в разные стадии жизни робота. В этой статье поговорим о том, как роботов (и индикаторы) переносить из проекта в скрипты и обратно.

1. Перенос робота из проекта в скрипты.
Задача: У Вас есть полностью оттестированный и готовый робот внутри проекта. Например, у Вас есть робот «MyEnvelopTrend». В проекте он находится здесь:
Почти сразу, после того, как Вы начнёте писать своих первых роботов, Вам придётся научиться делать записи в лог. Чтобы понимать, правильно ли работают ваши роботы.
Сегодня мы посмотрим, как это делается из кода робота.

1. Каждый робот содержит метод для отправки сообщений в лог.
SendNewLogMessage
В качестве параметров он принимает:
Выглядит в коде робота это так:
Видео-описание того, что такое «Конвертер» и «Конвертер свечей» в Os Engine.
VK Видео:
RuTube:

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