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

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20

Продолжаем разбираться со слоем создания свечек. Заключительная статья. Сегодня рассмотрим серию Tick сверху вниз и разберёмся с тем, как она работает. Этого должно быть достаточно, чтобы на основе этого делать свои серии.

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 


1. Где находится серия Tick?

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

 

2. Параметры и метод OnStateChange.

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

  1. Единственный параметр данной серии свечек – TradeCount. Это параметр для целочисленного значения, регулирующий кол-во трейдов, после набора которых свеча закрывается.
  2. Параметр TradeCount создаётся в методе OnStateChange, когда метод вызывается со статусом Configure (т.е. при создании серии). Вам точно также надо будет создавать все параметры здесь.
  3. Когда метод OnStateChange вызывается со статусом ParametersChange, т.е. при смене значения параметра, свечи внутри серии очищаются.
  4. Если данный метод вызывается со статусом Dispose, не происходит ничего. Однако в Вашей серии вы можете здесь очищать какие-нибудь данные, если Вы их накапливаете.

 

3. Метод UpDateCandle. Параметры метода.

В этот метод поступают данные с рынка. От самого старого трейда до самых свежих в порядке их появления в коннекторе.

Именно в нём нужно собирать свечи, аккуратно их складывая в массив CandlesAll.

Что входит в этот метод:

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

  1. time — Время данных.
  2. price — Цена трейда или цена центра стакана. В зависимости от того, из каких данных формируется свеча.
  3. volume — Объём трейда.
  4. canPushUp — Нужно ли высылать наверх данные об изменении цены. Если приходит FALSE, вызывать события обновления свечи не следует. Это означает, что идёт предварительная прогрузка серии на старте.
  5. side – сторона сделки. Buy / Sell. Это нужно для некоторых типов свечей. Например, Delta.

 

4. Метод UpDateCandle. Формирование свечей.

При формировании любых серий свечей можно условно разбить логику на три различных этапа:

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

  1. Данные пришли в первый раз, и нужно сформировать первую свечку.
  2. Уже какие-то свечи есть, и мы понимаем по какому-то признаку, что свечу нужно закрыть. В данном случае, признак закрытия – превышение кол-ва трейдов внутри свечи.
  3. Данные пришли внутри свечи. Нужно обновить её OHLC.


Рассмотрим три эти ситуации подробнее.

Этап 1. Данные пришли в первый раз.

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

  1. Создаём новый массив для хранения свечек.
  2. Ровняем стартовое время для первой свечи.
  3. Создаём свечку. Указываем её OHLCV, время и статус Started. Добавляем в массив.
  4. Высылаем наверх, если разрешено.
  5. Устанавливаем текущее кол-во трейдов в формирующейся свече. Это нужно только для свечей типа Tick.

 

Этап 2. Свечу пора закрывать.

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20 

  1. Устанавливаем для свечи статус Finished и высылаем наверх, если разрешено.
  2. Обрезаем стартовое время для новой свечи.
  3. Создаём свечку. Указываем её OHLCV, время и статус Started. Добавляем в массив.
  4. Высылаем наверх, если разрешено.
  5. Устанавливаем текущее кол-во трейдов в формирующейся свече. Это нужно только для свечей типа Tick. Выходим из метода.

 

Этап 3. Данные внутри свечи.

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20

  1. Добавляем 1 к кол-ву трейдов в формирующейся свече. Это нужно только для свечей типа Tick. Выходим из метода.
  2. Обновляем OHLCV для текущей формирующейся свечи.
  3. Высылаем наверх, если разрешено.

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

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

Пост из серии «Свечи и преобразование ленты сделок».

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20

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

Слой создания свечей в OsEngine. Обзор серии Tick. Как она устроена. Свечи #20

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

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

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