Обзор основных блоков BotTabSimple. OsEngine.

Обзор основных блоков BotTabSimple. OsEngine.

Не смотря на свое название, BotTabSimple является одним из самых больших и сложных объектов в проекте. Код класса насчитывает порядка пяти тысяч строк. Функционал простой вкладки условно можно разделить на несколько блоков:

  1. Реализация интерфейса IIBotTab.
  2. Взаимодействие с мастером графического отображения данных.
  3. Взаимодействие с коннектором.
  4. Управление журналом позиций.
  5. Эмуляция и управление стоп-лоссами и тейк-профитами.
  6. Работа с модулем сопровождения позиций.

Реализация интерфейса IIBotTab.

Интерфейс IIBotTab предписывает каждой вкладке необходимость реализации некоторого функционала, который позволяет программе единообразно управлять всеми вкладками. Как правило в интерфейсе обозначено общее для всех вкладок состояние и поведение.

Взаимодействие с мастером графического отображения данных.

Одна из важных обязанностей вкладки - это взаимодействие с экземпляром класса ChartCandleMaster. Основная обязанность этого объекта - управление прорисовкой серий данных в графическом интерфейсе программы, таких как свечи, индикаторы, сделки на графике. BotTabSimple является посредником между торговым алгоритмом и мастером прорисовки. В этот блок входят методы для добавления/удаления индикаторов с графика; нанесение на график графических элементов (линии, точки) а также их удаление; изменение фокуса на графике; отображение сделок, условных заявок, линий для стопов и профитов.

Взаимодействие с коннектором.

Без преувеличения можно сказать, ConnectorCandles - это самый главный объект, с которым взаимодействует вкладка, так как через него происходит все общение с торговой площадкой. BotTabSimple обрабатывает почти все события из коннектора, производит множество вычислений и перенаправляет дальше данные через собственные события. В обратку вкладка обрабатывает запросы роботов и отправляет ордера в коннектор. 

Управление журналом позиций.

Основную логику обработки позиций содержит экземпляр класса Journal, который входит в состав BotTabSimple. После создания позиции вкладка помещает ее в журнал, а ордер высылает в коннектор. Далее по мере получения из коннектора ордеров и собственных сделок, вкладка перенаправляет эти объекты в журнал, который на их основании изменяет состояние позиций. После этого журнал информирует вкладку об изменении состояния позиций при помощи событий PositionStateChangeEvent и PositionNetVolumeChangeEvent.

Эмуляция и управление стоп-лоссами и тейк-профитами.

Разнообразие торговых площадок, поддерживаемых платформой, довольно обширно, но не все из них предоставляют возможность использовать условные заявки на стороне брокера. BotTabSimple берет на себя эти обязательства и предоставляет возможность использовать такие важные для трейдеров сущности, как стоп-лосс, трейлинг стоп и тейк-профит. Вкладка содержит ряд методов, позволяющих роботам задействовать этот функционал. К ним относятся методы - CloseAtStop, CloseAtTrailingStop, CloseAtProfit, а также их перегрузки.

Работа с модулем сопровождения позиций.

Модуль сопровождения позиций представлен экземпляром класса BotManualControl. Данный объект позволяет настроить реакции на определенные события, связанные с совершением транзакций.

12:23
206
FAQ

Комментарии

Нет комментариев. Ваш будет первым!