#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green

double g_ibuf_76[];
double g_ibuf_80[];
int gi_84 = 14;
int gi_unused_88 = 1500;
int gi_92 = 3;
int gi_96;
int gi_100;
int gi_104;
int gi_108;
int gi_116;
double g_ibuf_124[];
double gd_128;
double gd_136;
double g_ibuf_144[];

int init() {
   IndicatorBuffers(4);
   SetIndexBuffer(0, g_ibuf_76);
   SetIndexBuffer(1, g_ibuf_80);
   SetIndexBuffer(2, g_ibuf_124);
   SetIndexBuffer(3, g_ibuf_144);
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
   return (0);
}

int start() {
   gi_96 = Bars - gi_84 - 5;
   gi_116 = gi_84;
   gi_108 = gi_96 - gi_116 - 1;
   for (gi_100 = gi_108; gi_100 >= 0; gi_100--) {
      g_ibuf_124[1] = 0;
      for (gi_104 = gi_116; gi_104 >= 1; gi_104--) {
         gd_128 = gi_116 + 1;
         gd_128 /= 3.0;
         gd_136 = 0;
         if (gi_92 == 1) gd_136 = (gi_104 - gd_128) * (High[gi_116 - gi_104 + gi_100]);
         if (gi_92 == 2) gd_136 = (gi_104 - gd_128) * (Low[gi_116 - gi_104 + gi_100]);
         if (gi_92 == 3) gd_136 = (gi_104 - gd_128) * (Close[gi_116 - gi_104 + gi_100]);
         g_ibuf_124[1] += gd_136;
      }
      g_ibuf_144[gi_100] = 6.0 * g_ibuf_124[1] / (gi_116 * (gi_116 + 1));
      g_ibuf_76[gi_100] = g_ibuf_144[gi_100];
      g_ibuf_80[gi_100] = g_ibuf_144[gi_100];
      if (g_ibuf_144[gi_100] > g_ibuf_144[gi_100 + 1]) {
         g_ibuf_76[gi_100] = EMPTY_VALUE;
         g_ibuf_80[gi_100 + 1] = g_ibuf_144[gi_100 + 1];
      } else {
         if (g_ibuf_144[gi_100] < g_ibuf_144[gi_100 + 1]) {
            g_ibuf_80[gi_100] = EMPTY_VALUE;
            g_ibuf_76[gi_100 + 1] = g_ibuf_144[gi_100 + 1];
         }
      }
   }
   return (0);
}