//+------------------------------------------------------------------+ //| KRI.mq4 | //| Copyright © 2009, LeMan. | //| b-market@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, LeMan" #property link "b-market@mail.ru" //---- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red //---- Входные параметры extern int KRIPeriod = 13; //---- Буферы double KRIBuffer[]; //+------------------------------------------------------------------+ //| Функция инициализации | //+------------------------------------------------------------------+ int init() { string short_name; //---- Линии индикатора SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, KRIBuffer); //---- Надписи в окне short_name = "KRI ("+KRIPeriod+")"; IndicatorShortName(short_name); SetIndexLabel(0, short_name); //---- SetIndexDrawBegin(0, KRIPeriod); //---- return(0); } //+------------------------------------------------------------------+ //| Метод Каири | //+------------------------------------------------------------------+ int start() { int i, counted_bars=IndicatorCounted(); //---- if (Bars <= KRIPeriod) return(0); //---- initial zero if (counted_bars < 1) for (i = 1; i <= KRIPeriod; i++) KRIBuffer[Bars-i] = 0.0; //---- i = Bars-KRIPeriod-1; if (counted_bars >= KRIPeriod) i = Bars-counted_bars-1; while(i >= 0) { double ma = iMA(NULL,0,KRIPeriod,0,MODE_SMA,PRICE_CLOSE,i); KRIBuffer[i] = ((Close[i]-ma)/ma)*100; i--; } return(0); } //+------------------------------------------------------------------+