Стили рисования
При создании пользовательского индикатора можно указать один из 18 типов графического построения (способа отображения на главном окне графика или в подокне графика), значения которых указаны в перечислении ENUM_DRAW_TYPE.
В одном пользовательском индикаторе допустимо использовать любые виды построения/отрисовки индикаторов. Каждый вид построения требует указания от одного до пяти глобальных массивов для хранения данных, необходимых для рисования. Эти массивы данных необходимо связать с индикаторными буферами посредством функции SetIndexBuffer(), и указать для каждого буфера тип данных из перечисления ENUM_INDEXBUFFER_TYPE.
В зависимости от стиля рисования, может потребоваться от одного до четырех буферов значений (отмеченных как INDICATOR_DATA), а если стиль допускает динамическое чередование цвета (все стили со словом COLOR в наименовании), то необходим и один буфер цвета (указан тип INDICATOR_COLOR_INDEX). Цветовой буфер всегда связывается сразу после соответствующих стилю буферов значений.
Идентификатор | Описание | Буферов значений | Буферов цвета |
|---|---|---|---|
Не отрисовывается | 1 | 0 | |
Линия | 1 | 0 | |
Отрезки | 1 | 0 | |
Гистограмма от нулевой линии | 1 | 0 | |
Гистограмма на двух индикаторных буферах | 2 | 0 | |
Отрисовка стрелками | 1 | 0 | |
Стиль Zigzag допускает вертикальные отрезки на баре | 2 | 0 | |
Цветовая заливка между двумя уровнями | 2 | 0 | |
Отображение в виде баров | 4 | 0 | |
Отображение в виде свечей | 4 | 0 | |
Разноцветная линия | 1 | 1 | |
Разноцветные отрезки | 1 | 1 | |
Разноцветная гистограмма от нулевой линии | 1 | 1 | |
Разноцветная гистограмма на двух индикаторных буферах | 2 | 1 | |
Отрисовка разноцветными стрелками | 1 | 1 | |
Разноцветный ZigZag | 2 | 1 | |
Разноцветные бары | 4 | 1 | |
Разноцветные свечи | 4 | 1 |
Для уточнения отображения выбранного вида отрисовки используются идентификаторы, перечисленные в перечислениях ENUM_PLOT_PROPERTY.
Для функций PlotIndexSetInteger() и PlotIndexGetInteger()
Идентификатор | Описание | Тип свойства |
|---|---|---|
PLOT_ARROW | Код стрелки для стиля DRAW_ARROW | uchar |
PLOT_ARROW_SHIFT | Смещение стрелок по вертикали для стиля DRAW_ARROW | int |
PLOT_DRAW_BEGIN | Количество начальных баров без отрисовки и значений в DataWindow | int |
PLOT_DRAW_TYPE | Тип графического построения | |
PLOT_SHOW_DATA | Признак отображения значений построения в окне DataWindow | bool |
PLOT_SHIFT | Сдвиг графического построения индикатора по оси времени в барах | int |
PLOT_LINE_STYLE | Стиль линии отрисовки | |
PLOT_LINE_WIDTH | Толщина линии отрисовки | int |
PLOT_COLOR_INDEXES | Количество цветов | int |
PLOT_LINE_COLOR | Цвет отрисовки | color модификатор=номер индекса цвета |
Для функции PlotIndexSetDouble()
Идентификатор | Описание | Тип свойства |
|---|---|---|
PLOT_EMPTY_VALUE | Пустое значение для построения, для которого нет отрисовки | double |
Для функции PlotIndexSetString()
Идентификатор | Описание | Тип свойства |
|---|---|---|
PLOT_LABEL | Имя индикаторной графической серии для отображения в окне DataWindow. Для сложных графических стилей, требующих для отображения несколько индикаторных буферов, имена для каждого буфера можно задать с использованием ";" в качестве разделителя. Пример кода приведен в DRAW_CANDLES | string |
Существуют 5 стилей, которыми может рисоваться линия в пользовательском индикаторе. Они применимы только при толщине линии 0 или 1.
Идентификатор | Описание |
|---|---|
STYLE_SOLID | Сплошная линия |
STYLE_DASH | Прерывистая линия |
STYLE_DOT | Пунктирная линия |
STYLE_DASHDOT | Штрих-пунктирная линия |
STYLE_DASHDOTDOT | Штрих - две точки |
Для задания стиля рисования линии и вида отрисовки используется функция PlotIndexSetInteger(). Для расширений Фибоначчи указать толщину и стиль отрисовки уровней можно функцией ObjectSetInteger().
Пример:
#property indicator_chart_window |