//+------------------------------------------------------------------+ //| Karpenko.mq4 | //| Copyright 2012, Karpenko Dmitry. Belarus. | //| karpenko.minsk@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, Karpenko Dmitry. Belarus." #property link "karpenko.minsk@gmail.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Green #property indicator_color2 SaddleBrown double Karpenko_up[], Karpenko_dw[]; extern int Basic_MA = 144, History = 300; int init() { SetIndexBuffer(0,Karpenko_up); SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(1,Karpenko_dw); SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2); return(0); } int start() { int i, k, Counted_bars; double sum_c, up, dw, Karpenko_base; Counted_bars=IndicatorCounted(); i=Bars-Counted_bars-1; if (i>History-1) i=History-1; while(i>=0) { //_____________________ SMA _____________________________ k=1; sum_c=0; while (k<=Basic_MA) {sum_c=sum_c+Close[i+k]; k++;} Karpenko_base=sum_c/Basic_MA; //_____________________ ATR _____________________________ k=1; sum_c=0; while (k<=500) {sum_c=sum_c+High[i+k]-Low[i+k]; k++;} up=sum_c/500; dw=up; //_____________________ High line _______________________ Karpenko_up[i]=Karpenko_base; while (High[i]>Karpenko_up[i]) {up=up*1.618; Karpenko_up[i]=Karpenko_base+up;} //_____________________ Low line ________________________ Karpenko_dw[i]=Karpenko_base; while (Low[i]