Пользовательские индикаторы
© 2000-2011, MetaQuotes Software Corp.
719
Соответствие индикаторных буферов и графических построений
Каждое графическое построение базируется на одном или более индикаторных буферах. Так, для
отображения простых японских свечей требуется четыре значения - цены Open, High, Low и Close.
Соответственно, для отображения индикатора в виде японских свечей необходимо объявить 4
индикаторных буфера и 4 массива типа double под них. Например:
//--- в индикаторе четыре индикаторных буфера
#property indicator_buffers 4
//--- в индикаторе одно графическое построение
#property indicator_plots 1
//--- графическое построение под номером 1 будет отображаться японскими свечами
#property indicator_type1 DRAW_CANDLES
//--- японские свечи будут рисоваться цветом clrDodgerBlue
#property indicator_color1 clrDodgerBlue
//--- 4 массива под индикаторные буферы
double OBuffer[];
double HBuffer[];
double LBuffer[];
double CBuffer[];
Графические построения автоматически используют индикаторные буфера в соответствии с
номером построения. Номера построения начинаются с единицы, номера буферов начинаются с
нуля. Если первое построение требует 4 индикаторных буфера, то для отрисовки будут
использованы 4 первых индикаторных буфера. Эти четыре буфера должны быть связаны
функцией SetIndexBuffer() с соответствующими массивами с правильной индексацией.
//--- связывание массивов с индикаторными буферами
SetIndexBuffer(0,OBuffer,INDICATOR_DATA); // первый буфер соответствует нулевому индексу
SetIndexBuffer(1,HBuffer,INDICATOR_DATA); // второй буфер соответствует индексу 1
SetIndexBuffer(2,LBuffer,INDICATOR_DATA); // третий буфер соответствует индексу 2
SetIndexBuffer(3,CBuffer,INDICATOR_DATA); // четвертый буфер соответствует индексу 3
При отрисовке японских свечей индикатор будет использовать именно первые четыре буфера,
потому что построение "японские свечи" было объявлено под первым номером.
Изменим немного пример, добавим построение в виде простой линии - DRAW_LINE. Пусть теперь
линия будет иметь номер 1, а японские свечи будет подномером 2. Количество буферов и
количество
//--- в индикаторе четыре индикаторных буфера
#property indicator_buffers 4
//--- в индикаторе одно графическое построение
#property indicator_plots 1
//--- графическое построение под номером 1 будет отображаться японскими свечами
#property indicator_type1 DRAW_CANDLES
//--- японские свечи будут рисоваться цветом clrDodgerBlue
#property indicator_color1 clrDodgerBlue
//--- 4 массива под индикаторные буферы