//+------------------------------------------------------------------+ //| PriceGrid.mq5 | //| Copyright © 2016, Nikolay Kositsin | //| Khabarovsk, farria@mail.redcom.ru | //+------------------------------------------------------------------+ //---- авторство индикатора #property copyright "Copyright © 2016, Nikolay Kositsin" //---- ссылка на сайт автора #property link "farria@mail.redcom.ru" //---- номер версии индикатора #property version "1.00" //---- отрисовка индикатора в главном окне #property indicator_chart_window //---- для расчёта и отрисовки индикатора не используются буферы #property indicator_buffers 0 //---- не используются графические построения #property indicator_plots 0 //+-----------------------------------+ //| объявление перечисления | //+-----------------------------------+ enum Number { Number_0, Number_1, Number_2, Number_3 }; //+-----------------------------------+ //| объявление перечисления | //+-----------------------------------+ enum Width { Width_1=1, //1 Width_2, //2 Width_3, //3 Width_4, //4 Width_5 //5 }; //+-----------------------------------+ //| объявление перечисления | //+-----------------------------------+ enum STYLE { SOLID_,//Сплошная линия DASH_,//Штриховая линия DOT_,//Пунктирная линия DASHDOT_,//Штрих-пунктирная линия DASHDOTDOT_ //Штрих-пунктирная линия с двойными точками }; //+----------------------------------------------+ //| Входные параметры индикатора | //+----------------------------------------------+ input string SirName="PriceGrid"; //Первая часть имени графических объектов input uint Digits_=2; //разряд сетки input uint Total=20; //количество блоков сетки сверху или снизу от цены input color Color_ = clrBlueViolet; //цвет уровня input STYLE Style_ = DASHDOTDOT_; //стиль линии уровня input Width Width_ = Width_1; //толщина линии уровня //+----------------------------------------------+ int middle,size; string ObjectNames[]; double Pow10,PointPow10,PriceGrid[],Price[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //---- распределение памяти под массивы переменных size=int(Total*2); ArrayResize(ObjectNames,size); ArrayResize(PriceGrid,size); ArrayResize(Price,size); //---- инициализация имён for(int count=0; count=0; count--) PriceGrid[count]=-PointPow10*(middle-count); //---- } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //---- for(int count=0; count