//+------------------------------------------------------------------+ //| Cool2.mq4 | //| Ramdass - Conversion only | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //---- extern int ndot = 5; extern int CountBars = 300; //---- buffers double cfl[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- indicator line IndicatorBuffers(1); SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, cfl); //---- if(CountBars >= Bars) CountBars = Bars; SetIndexDrawBegin(0, Bars - CountBars + ndot + 1); //---- return(0); } //+------------------------------------------------------------------+ //| Cool2 | //+------------------------------------------------------------------+ int start() { int i, shift, cnt, ndot1, counted_bars = IndicatorCounted(); double TYVar, ZYVar, TIndicatorVar, ZIndicatorVar, M, N, AY, AIndicator; //---- if(Bars <= ndot) return(0); //---- shift = CountBars - ndot - 1; //---- while(shift >= 0) { TYVar = 0; ZYVar = 0; N = 0; M = 0; TIndicatorVar = 0; ZIndicatorVar = 0; ndot1 = ndot; if(shift + 1 < ndot1) ndot1 = shift + 1; for(cnt = ndot; cnt >= 1; cnt--) // n=5 - по пяти точкам { N = N + cnt*cnt; //равно 55 M = M + cnt; //равно 15 } for(cnt = ndot1; cnt >= 1; cnt--) // n=5 - по пяти точкам { ZYVar = ZYVar + (High[shift-cnt+1] + Low[shift-cnt+1]) / 2*(ndot+1-cnt); TYVar = TYVar + (High[shift-cnt+1] + Low[shift-cnt+1]) / 2; ZIndicatorVar = ZIndicatorVar + iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN, shift - cnt + 1)*(ndot + 1 - cnt); TIndicatorVar = TIndicatorVar + iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN, shift - cnt + 1); } AY = (TYVar + (N - 2*ZYVar)*ndot / M) / M; AIndicator = (TIndicatorVar + (N - 2*ZIndicatorVar)*ndot / M) / M; cfl[shift] = Close[shift] + ((-1000)*MathLog(AY / AIndicator) / 500); shift--; } return(0); } //+------------------------------------------------------------------+