Слой создание свечей в Os Engine. ACandleSeriesRealization.

Слой создание свечей в Os Engine. ACandleSeriesRealization.

В данной статье поговорим про ACandleSeriesRealization - это абстрактный класс-родитель для всех серий свечек в OsEngine.

И чтобы сделать свою серию свечей, надо понимать, как он работает. Абстрактный, потому что отдельный экземпляр класса с таким названием создать нельзя. Это – половина класса, к ней обязателен наследник.

Находится он здесь:

Внутри самого класса 4 региона:

1. Constructor and initialization – нужно для создания и удаления объекта серии.

2. Candles – место хранения свечек и вызова событий их обновления.

3. Abstract part – часть класса, которую нужно будет перегрузить в наследнике и конечной реализации свечек.

4. Parameters – регион, отвечающий за работу параметров серии.

 

Раскроем каждый регион в отдельности и посмотрим подробнее:

Регион Constructor and initialization.

1. Метод инициализации серии. Вызывается автоматически после её создания.

2. Программа, которая создала серию. Тестер, Оптимизатор или станция для боевой торговли.

3. Удалить серию.

4. Бумага, для которой строятся свечи.

 

Регион Candles.

1. Свечи, которые строит серия. Из этого массива они и запрашиваются.

2. Метод, вызывающий событие обновления свечи.

3. Метод, вызывающий событие завершения свечи.

4. Событие обновления свечи.

5. Событие завершения свечи.

 

Регион Abstract part.

Это обязательные к перегрузке методы, которые нужно будет реализовать в новой серии данных.

1. Событие изменения статуса серии. Какие могут быть статусы:

a. Configure – вызывается при создании. В этот момент нужно создавать параметры и переменные необходимые для расчёта свечей. Вызывается один раз.

b. Dispose – вызывается при удалении серии.

c. ParametersChange – вызывается при смене значений параметров.

2. UpDateCandle – метод, в котором нужно реализовывать логику сборки свечей для кастомной серии свечек.

 

Регион Parameters.

Регион, отвечающий за работу параметров серии. Каждый параметр, созданный через первые четыре метода, будет отображаться в интерфейсе настроек параметров серии. Остальное – сервисный код.

1. CreateParameterDecimal. Метод для создания параметра типа Decimal. Числа с плавающей запятой.

a. name – системное имя параметра.

b. label – подпись в окне параметров для пользователя.

c. value – стартовое значение параметра. Может быть отрицательным.

2. CreateParameterInt. Метод для создания параметра типа Int. Целое число.

a. name – системное имя параметра.

b. label – подпись в окне параметров для пользователя.

c. value – стартовое значение параметра. Может быть отрицательным.

3. CreateParameterStringCollection. Метод для создания параметра для хранения коллекции строк.

a. name – системное имя параметра.

b. label – подпись в окне параметров для пользователя.

c. value – стартовое значение параметра.

d. collection – коллекция строк, которые на выбор нужно показывать пользователю в интерфейсе.

4. CreateParameterBool. Метод для создания параметра типа Bool. Булево значение. True / False.

a. name – системное имя параметра.

b. label – подпись в окне параметров для пользователя.

c. value – стартовое значение параметра. Может быть отрицательным.

5. Сервисный код, поддерживающий работу параметров в серии.

 

Как объявить класс-реализацию свечек, посмотрим на примере класса Delta.

Чтобы платформа увидела Вашу серию свечек, нужно:

1. Создать в папке проекта Candles/Series новый класс с уникальным названием Вашей новой серии.

2. Добавить вот такой атрибут для класса, в скобочках указав имя класса один в один.

3.  Унаследовать для нового класса от ACandleSeriesRealization.

4. Сделать перегрузку обязательных методов: OnStateChange и UpDateCandle. Про них подробно будем говорить в следующих статьях по теме.

5. Всё. После этого можно собрать проект, и платформа уже увидит Ваши новые свечи и добавит их в список для выбора в интерфейсы.

 

Где используется реализация свечек внутри проекта OsEngine:

TimeFrameBuilder хранит.

Реализации хранятся в основном здесь. Этот класс используется в источниках OsEngine для того, чтобы знать, какие именно свечи заказал пользователь к сборке:

 

CandleSeries управляет и подаёт данные внутрь.

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

Os Engine поддержка терминала

17:52
274

Комментарии

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