/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Konstantin Sokolov"
#property link      "http://marketiva.svoi.info"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red

extern double step = 0.02;
extern double AFmax = 0.2;
int gi_92 = 1;
double gd_96;
double gd_104;
double gd_112;
double g_ibuf_120[];

int init() {
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, g_ibuf_120);
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_0 == Bars - 2) {
         g_ibuf_120[li_0] = Low[li_0] - 10.0 * Point;
         gi_92 = 1;
         gd_96 = step;
         gd_104 = High[li_0];
         gd_112 = Low[li_0];
      } else {
         if (Close[li_0] > gd_104) {
            gd_104 = Close[li_0];
            if (gi_92 == 1 && gd_96 <= AFmax - step) gd_96 += step;
         }
         if (Close[li_0] < gd_112) {
            gd_112 = Close[li_0];
            if (gi_92 == -1 && gd_96 <= AFmax - step) gd_96 += step;
         }
         if (gi_92 == 1) g_ibuf_120[li_0] = g_ibuf_120[li_0 + 1] + gd_96 * (gd_104 - (g_ibuf_120[li_0 + 1]));
         else g_ibuf_120[li_0] = g_ibuf_120[li_0 + 1] + gd_96 * (gd_112 - (g_ibuf_120[li_0 + 1]));
         if ((g_ibuf_120[li_0 + 1] < Close[li_0 + 1] && g_ibuf_120[li_0] > Close[li_0]) || (g_ibuf_120[li_0 + 1] > Close[li_0 + 1] && g_ibuf_120[li_0] < Close[li_0])) {
            gd_96 = step;
            if (gi_92 == 1) g_ibuf_120[li_0] = gd_104;
            else g_ibuf_120[li_0] = gd_112;
            gd_112 = Close[li_0];
            gd_104 = Close[li_0];
            gi_92 = -1 * gi_92;
         }
      }
   }
   return (0);
}
