/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "DelanMarket"
#property link      "poligrafmt@yahoo.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow

extern int ndot = 15;
extern int CountBars = 300;
double g_ibuf_84[];

int init() {
   IndicatorBuffers(1);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, g_ibuf_84);
   return (0);
}

int start() {
   int li_12;
   double ld_20;
   double ld_28;
   double ld_36;
   double ld_44;
   double ld_52;
   double ld_60;
   double ld_68;
   double ld_76;
   if (CountBars >= Bars) CountBars = Bars;
   SetIndexDrawBegin(0, Bars - CountBars + ndot + 1);
   int l_ind_counted_16 = IndicatorCounted();
   if (Bars <= ndot) return (0);
   for (int li_4 = CountBars - ndot - 1; li_4 >= 0; li_4--) {
      ld_20 = 0;
      ld_28 = 0;
      ld_60 = 0;
      ld_52 = 0;
      ld_36 = 0;
      ld_44 = 0;
      li_12 = ndot;
      if (li_4 + 1 < li_12) li_12 = li_4 + 1;
      for (int li_8 = ndot; li_8 >= 1; li_8--) {
         ld_60 += li_8 * li_8;
         ld_52 += li_8;
      }
      for (li_8 = li_12; li_8 >= 1; li_8--) {
         ld_28 += (High[li_4 - li_8 + 1] + (Low[li_4 - li_8 + 1])) / 2.0 * (ndot + 1 - li_8);
         ld_20 += (High[li_4 - li_8 + 1] + (Low[li_4 - li_8 + 1])) / 2.0;
         ld_44 += iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN, li_4 - li_8 + 1) * (ndot + 1 - li_8);
         ld_36 += iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN, li_4 - li_8 + 1);
      }
      ld_68 = (ld_20 + (ld_60 - 2.0 * ld_28) * ndot / ld_52) / ld_52;
      ld_76 = (ld_36 + (ld_60 - 2.0 * ld_44) * ndot / ld_52) / ld_52;
      if (Symbol() == "EURUSD" || Symbol() == "GBPUSD" || Symbol() == "USDCAD" || Symbol() == "USDCHF" || Symbol() == "EURGBP" || Symbol() == "EURCHF" || Symbol() == "AUDUSD" ||
         Symbol() == "GBPCHF") g_ibuf_84[li_4] = MathLog(ld_68 / ld_76) / (-0.001);
      else g_ibuf_84[li_4] = 1000.0 * MathLog(ld_68 / ld_76);
   }
   return (0);
}
