//+------------------------------------------------------------------+
//| DRAW_ZIGZAG.mq5 |
//| Copyright 2011, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property description "Индикатор для демонстрации DRAW_ZIGZAG"
#property description "Рисует прямыми отрезками \"пилу\", пропуская бары одного дня"
#property description "День пропусков выбирается случайным образом при запуске индикатора"
#property description "Цвет, толщина и стиль отрезков меняется случайным"
#property description " образом через каждые N тиков"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 1
//--- plot ZigZag
#property indicator_label1 "ZigZag"
#property indicator_type1 DRAW_ZIGZAG
#property indicator_color1 clrBlue
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- input параметры
input int N=5; // кол-во тиков для изменения
//--- indicator buffers
double ZigZagBuffer1[];
double ZigZagBuffer2[];
//--- день недели, для которого индикатор не рисуется
int invisible_day;
//--- массив для хранения цветов
color colors[]={clrRed,clrBlue,clrGreen};
//--- массив для хранения стилей отрисовки линии
ENUM_LINE_STYLE styles[]={STYLE_SOLID,STYLE_DASH,STYLE_DOT,STYLE_DASHDOT,STYLE_DASHDOTDOT};
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- связывание массивов и индикаторных буферов
SetIndexBuffer(0,ZigZagBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,ZigZagBuffer2,INDICATOR_DATA);
//--- получим случайное число от 0 до 6, для этого дня индикатор не рисуется
invisible_day=MathRand()%6;
//--- значение 0 (пустое значение) не будет участвовать в отрисовке