IIndicator. Обзор интерфейса для создания индикаторов.

IIndicator. Обзор интерфейса для создания индикаторов.

Интерфейс IIndicator представляет собой определенный контракт, реализация которого позволяет модулям терминала единообразно взаимодействовать с индикаторами. Разберем все члены данного интерфейса:

TypeIndicator – задает способ отображения индикатора в области графика. Перечисление IndicatorChartPaintType может иметь следующие значения:

  1. Line – индикатор отображается в виде линии.
  2. Column – гистограмма. Индикатор отображается в виде столбчатой диаграммы.
  3. Point – индикатор отображается в виде серии точек.

Colors – список цветов для серий данных индикатора.

ValuesToChart – список всех значений индикатора, распределенных по сериям данных.

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

NameSeries – название для серии данных, которое будет отображаться на графике.

NameArea – название области графика, на которой текущий индикатор будет отображаться.

Name – уникальное название для индикатора.

PaintOn – флаг указывает, нужно ли отображать данный индикатор на графике.

Save – метод сохраняет настройки индикатора в хранилище.

Load – метод загружает настройки индикатора из хранилища.

Delete – метод удаляет файл с настройками индикатора из хранилища.

Clear – метод удаляет серии данных из индикатора.

ShowDialog – открывает окно с настройками индикатора.

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

Process – метод принимает серию свечей, выполняет расчеты серий данных индикатора.

С введением нового способа создания индикаторов этот процесс стал проходить гораздо быстрее и комфортнее. Это произошло благодаря внедрению абстрактного класса Aindicator, который взял на себя реализацию интерфейса IIndicator. Помимо этого, данный класс предоставляет ряд методов, позволяющих гибко настраивать индикатор, привязывать другие индикаторы в качестве поставщиков данных, гибко управлять сериями данных.

Весь процесс создания индикатора сводится к переопределению двух абстрактных методов:

public abstract void OnStateChange(IndicatorState state);
public abstract void OnProcess(List<Candle> source, int index);

По аналогии с роботами, для внедрения настроек в индикатор используются так называемые параметры индикатора – потомки абстрактного класса IndicatorParameter. Для работы с сериями данных также существует специальный класс IndicatorDataSeries. В следующей статье мы подробнее рассмотрим способ создания индикатора при помощи описанных классов.

12:46
344
FAQ

Комментарии

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