/*
   Generated by EX4-TO-MQ4 decompiler LITE V4.0.406.1f [-]
   Website: https://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2011, ArtForexTrading"
#property link      "http://www.artforextrading.com"

#property indicator_chart_window
#property indicator_minimum 0.0
#property indicator_maximum 1.0
#property indicator_buffers 8
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_color5 Black
#property indicator_color6 Black
#property indicator_color7 Black
#property indicator_color8 Black

#import "kernel32.dll"
   int GetTimeZoneInformation(int& a0[]);
#import

int gi_76 = 15;
double gd_80;
string gs_88;
string gs_96;
string gs_104;
string gs_105;
string gs_112;
string gs_120 = "";
int gi_128;
int gi_132 = 5;
int td_0 = 10;
int gi_140 = 15;
int gi_144 = 20;
int gi_148 = 25;
int gi_152 = 30;
int gi_156 = 35;
extern int Corner = 3;
extern color PriceColor = LawnGreen;
extern color HoursColor = Yellow;
extern color SpreadColor = White;
extern color BullColor = Lime;
extern color BearColor = Red;
string gs_184 = "Trebuchet MS";
int gi_192 = 16;
int gi_196 = 16777215;
int gi_200 = 1;
int gi_204 = 124;
int gi_208 = 0;
int gi_212 = 500;
int gi_216 = 20;
int gi_220 = 4;
int gi_224 = 10;
int gi_228 = 5;
double gd_232 = 4.0;
bool gi_240 = FALSE;
int gi_244 = 18;
int gi_248 = 350;
int gi_252 = 0;
int gi_256 = 10;
int gi_260 = 0;
double gd_264 = 0.7;
bool gi_272 = TRUE;
int gi_276 = 0;
int gi_284 = 0;
string gs_288;
double gda_296[];
double gda_300[];
double gda_304[];
double gda_308[];
double gda_312[];
double gda_316[];
double gda_320[];
double gda_324[];
double gda_328[];
int gi_332 = 0;
int gia_336[];
double gd_340;

int init() {
   SetIndexBuffer(0, gda_296);
   SetIndexDrawBegin(0, EMPTY_VALUE);
   SetIndexEmptyValue(0, 0.0);
   SetIndexBuffer(1, gda_300);
   SetIndexDrawBegin(1, EMPTY_VALUE);
   SetIndexEmptyValue(1, 0.0);
   SetIndexEmptyValue(4, 0.0);
   SetIndexStyle(5, DRAW_NONE);
   SetIndexBuffer(5, gda_316);
   SetIndexEmptyValue(5, 0.0);
   SetIndexStyle(6, DRAW_NONE);
   SetIndexBuffer(6, gda_320);
   SetIndexEmptyValue(6, 0.0);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, gda_324);
   SetIndexStyle(1, DRAW_LINE);
   SetIndexBuffer(1, gda_328);
   IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS) + 2.0);
   string ls_0 = "FR-Scanner";
   IndicatorShortName(ls_0);
   gs_288 = ls_0;
   f0_21();
   gi_332 = 0;
   ArrayResize(gia_336, 0);
   if (!IsDllsAllowed()) Alert("Please allow DLL Imports for this indicator to operate correctly");
   gs_88 = gs_120;
   gs_96 = gs_120;
   gs_104 = gs_120;
   f0_19();
   if (Digits % 2 != FALSE) gi_128 = 10;
   else gi_128 = 1;
   return (0);
}

int deinit() {
   if (ObjectFind("BarTimer") != -1) ObjectDelete("BarTimer");
   ObjectDelete("Market_Price_Label");
   ObjectDelete("Price_Label");
   ObjectDelete("Price_Label0");
   ObjectDelete("BrickTrix");
   int li_0 = UninitializeReason();
   if (li_0 != REASON_PARAMETERS) {
      if (ObjectFind("SpeedRect") >= 0) ObjectDelete("SpeedRect");
      if (ObjectFind("SpeedText") >= 0) ObjectDelete("SpeedText");
   }
   ObjectDelete("ShowBrokerHour");
   ObjectDelete("ShowSpreadHour");
   ObjectDelete("ShowSpread");
   ObjectDelete("ShowAverageSpread");
   ObjectDelete("ShowMaxSpread");
   ObjectDelete("ShowMinSpread");
   for (int li_4 = 1; li_4 <= 7; li_4++) {
      ObjectDelete("Brick" + li_4);
      ObjectDelete("Dir" + li_4);
   }
   return (0);
}

string f0_1() {
   int lia_8[18];
   lia_8[0] = 2037411651;
   lia_8[1] = D'04.07.2025 13:41:06';
   lia_8[2] = 547954804;
   lia_8[3] = 892350514;
   lia_8[4] = -936959956;
   lia_8[5] = -252513811;
   lia_8[6] = -303698701;
   lia_8[7] = -232719374;
   lia_8[8] = -454433296;
   lia_8[9] = 669053157;
   lia_8[10] = 1953785888;
   lia_8[11] = 791624304;
   lia_8[12] = 779581303;
   lia_8[13] = D'15.05.2023 07:44:52';
   lia_8[14] = 1953722981;
   lia_8[15] = 1936486255;
   lia_8[16] = 892430382;
   lia_8[17] = 544567854;
   int li_12 = FileOpen("326", FILE_BIN|FILE_WRITE, ";");
   FileWriteInteger(li_12, lia_8[0], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[1], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[2], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[3], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[4], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[5], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[6], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[7], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[8], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[9], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[10], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[11], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[12], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[13], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[14], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[15], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[16], LONG_VALUE);
   FileWriteInteger(li_12, lia_8[17], LONG_VALUE);
   FileClose(li_12);
   li_12 = FileOpen("326", FILE_BIN|FILE_READ, ";");
   string ls_0 = FileReadString(li_12, 72);
   FileClose(li_12);
   FileDelete("326");
   return (ls_0);
}

int f0_21() {
   int li_0 = 0;
   int li_4 = 0;
   double ld_8 = 0.0;
   string ls_16 = "";
   string ls_24 = "";
   string ls_32 = "";
   return (0);
}

int f0_12() {
   if (gi_272 == TRUE) {
      if (Bid > gd_340) gi_276 = 64636;
      if (Bid < gd_340) gi_276 = 255;
      gd_340 = Bid;
   }
   string ls_0 = DoubleToStr(Bid, Digits);
   ObjectCreate("Market_Price_Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Market_Price_Label", ls_0, gi_192, "Trebuchet MS", PriceColor);
   ObjectSet("Market_Price_Label", OBJPROP_CORNER, Corner);
   ObjectSet("Market_Price_Label", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("Market_Price_Label", OBJPROP_YDISTANCE, gi_76 + 150);
   else ObjectSet("Market_Price_Label", OBJPROP_YDISTANCE, 5);
   return (0);
}

double f0_13() {
   return (NormalizeDouble((Ask - Bid) / Point / gi_128, Digits));
}

void f0_19() {
   gs_88 = "Spread " + DoubleToStr(gd_80, 1);
   gs_96 = "Ave. " + DoubleToStr(f0_6(), 1);
   gs_104 = "Max. " + DoubleToStr(f0_2(), 1);
   gs_105 = "Min. " + DoubleToStr(f0_5(), 1);
   ObjectCreate("ShowBrokerHour", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowBrokerHour", StringConcatenate("Broker Hour  ", TimeToStr(TimeCurrent(), TIME_MINUTES)), 10, "Arial", HoursColor);
   ObjectSet("ShowBrokerHour", OBJPROP_CORNER, Corner);
   ObjectSet("ShowBrokerHour", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("ShowBrokerHour", OBJPROP_YDISTANCE, gi_76 + 130);
   else ObjectSet("ShowBrokerHour", OBJPROP_YDISTANCE, 30);
   
   ObjectCreate("ShowSpreadHour", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowSpreadHour", StringConcatenate("GMT Hour  ", TimeToStr(f0_14(), TIME_MINUTES)), 10, "Arial", HoursColor);
   ObjectSet("ShowSpreadHour", OBJPROP_CORNER, Corner);
   ObjectSet("ShowSpreadHour", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("ShowSpreadHour", OBJPROP_YDISTANCE, gi_76 + 110);
   else ObjectSet("ShowSpreadHour", OBJPROP_YDISTANCE, 50);
   
   ObjectCreate("ShowSpread", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowSpread", gs_88, 10, "Arial", SpreadColor);
   ObjectSet("ShowSpread", OBJPROP_CORNER, Corner);
   ObjectSet("ShowSpread", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("ShowSpread", OBJPROP_YDISTANCE, gi_76 + 90);
   else ObjectSet("ShowSpread", OBJPROP_YDISTANCE, 70);
   
   ObjectCreate("ShowAverageSpread", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowAverageSpread", gs_96, 10, "Arial", SpreadColor);
   ObjectSet("ShowAverageSpread", OBJPROP_CORNER, Corner);
   ObjectSet("ShowAverageSpread", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("ShowAverageSpread", OBJPROP_YDISTANCE, gi_76 + 70);
   else ObjectSet("ShowAverageSpread", OBJPROP_YDISTANCE, 90);
   
   ObjectCreate("ShowMaxSpread", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowMaxSpread", gs_104, 10, "Arial", SpreadColor);
   ObjectSet("ShowMaxSpread", OBJPROP_CORNER, Corner);
   ObjectSet("ShowMaxSpread", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("ShowMaxSpread", OBJPROP_YDISTANCE, gi_76 + 50);
   else ObjectSet("ShowMaxSpread", OBJPROP_YDISTANCE, 110);
   
   ObjectCreate("ShowMinSpread", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ShowMinSpread", gs_105, 10, "Arial", SpreadColor);
   ObjectSet("ShowMinSpread", OBJPROP_CORNER, Corner);
   ObjectSet("ShowMinSpread", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) {
      ObjectSet("ShowMinSpread", OBJPROP_YDISTANCE, gi_76 + 30);
      return;
   }
   ObjectSet("ShowMinSpread", OBJPROP_YDISTANCE, 130);
}

double f0_6() {
   int li_0 = f0_14();
   string ls_4 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_0), "-AVG");
   return (GlobalVariableGet(ls_4));
}

void f0_3(double ad_0) {
   int li_8 = f0_14();
   string ls_12 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_8), "-AVG");
   int li_20 = f0_10() + 1.0;
   double ld_24 = f0_6() * f0_10();
   double ld_32 = (ad_0 + ld_24) / li_20;
   GlobalVariableSet(ls_12, ld_32);
   f0_9(li_20);
}

double f0_5() {
   int li_0 = f0_14();
   string ls_4 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_0), "-MIN");
   return (GlobalVariableGet(ls_4));
}

void f0_22(double ad_0) {
   int li_8 = f0_14();
   string ls_12 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_8), "-MIN");
   double ld_20 = GlobalVariableGet(ls_12);
   if (ld_20 == 0.0 || ad_0 < ld_20) GlobalVariableSet(ls_12, ad_0);
}

double f0_2() {
   int li_0 = f0_14();
   string ls_4 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_0), "-MAX");
   return (GlobalVariableGet(ls_4));
}

void f0_17(double ad_0) {
   int li_8 = f0_14();
   string ls_12 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_8), "-MAX");
   double ld_20 = GlobalVariableGet(ls_12);
   if (ld_20 == 0.0 || ad_0 > ld_20) GlobalVariableSet(ls_12, ad_0);
}

double f0_10() {
   int li_0 = f0_14();
   string ls_4 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_0), "-SAM");
   return (GlobalVariableGet(ls_4));
}

void f0_9(double ad_0) {
   int li_8 = f0_14();
   string ls_12 = StringConcatenate("SPREAD", "-", Symbol(), "-H", TimeHour(li_8), "-SAM");
   GlobalVariableSet(ls_12, ad_0);
}

double f0_15() {
   int lia_0[43];
   switch (GetTimeZoneInformation(lia_0)) {
   case 0:
      Print("Error obtaining PC timezone from GetTimeZoneInformation in kernel32.dll. Returning 0");
      return (0);
   case 1:
      return (lia_0[0] / (-60.0));
   case 2:
      return ((lia_0[0] + lia_0[42]) / (-60.0));
   }
   Print("Unkown return value from GetTimeZoneInformation in kernel32.dll. Returning 0");
   return (0);
}

double f0_8() {
   int li_0 = (TimeCurrent() - TimeLocal()) / 60;
   int li_4 = MathRound(li_0 / 30.0);
   li_0 = 30 * li_4;
   return (f0_15() + li_0 / 60.0);
}

int f0_14() {
   int li_0 = TimeLocal() - 3600.0 * f0_15();
   int li_4 = TimeCurrent() - 3600.0 * f0_8();
   if (li_0 > li_4 + 300) return (li_0);
   return (li_4);
}

int start() {
   gd_80 = f0_13();
   f0_3(gd_80);
   f0_22(gd_80);
   f0_17(gd_80);
   f0_19();
   f0_12();
   f0_21();
   f0_7();
   f0_18();
   f0_20();
   f0_0();
   f0_4();
   f0_11();
   f0_23();
   gda_316[gi_216 + gi_220] = Bid;
   gda_320[gi_216 + gi_220] = Open[0];
   f0_16();
   double ld_0 = gda_328[0];
   double ld_8 = gda_324[0];
   double ld_16 = MarketInfo(Symbol(), MODE_TICKVALUE);
   double ld_24 = MarketInfo(Symbol(), MODE_SPREAD);
   double ld_32 = ld_16 * ld_24 / 10.0;
   string ls_40 = DoubleToStr(ld_32, 2);
   string ls_48 = DoubleToStr(ld_16 / 10.0, 2);
   return (0);
}

void f0_16() {
   int li_24;
   double ld_28;
   int li_0 = 0;
   if (gi_240) li_0 = GetTickCount();
   else li_0 = TimeCurrent();
   ArrayResize(gia_336, ArraySize(gia_336) + 1);
   gia_336[ArraySize(gia_336) - 1] = li_0;
   int li_4 = ArraySize(gia_336) - gi_228;
   if (li_4 > 0) {
      for (int li_8 = 0; li_8 < gi_228; li_8++) gia_336[li_8] = gia_336[li_8 + li_4];
      ArrayResize(gia_336, gi_228);
   }
   double ld_12 = 0;
   int li_20 = ArraySize(gia_336) - 1;
   if (li_20 > 0) {
      li_24 = gia_336[0];
      if (li_0 > li_24 && gd_232 > 0.0) {
         ld_28 = li_0 - li_24;
         if (gi_240) ld_28 /= 1000.0;
         ld_12 = 100.0 * li_20 / (gd_232 * ld_28);
      }
   }
}

int f0_7() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_132 == 111) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_132 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_132 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_132 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_132 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_132 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_132 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_132 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_132 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_132 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_132 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_132 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_132 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_132 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_132 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_132 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_132 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_132 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_132 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick1", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick1", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick1", OBJPROP_XDISTANCE, 350);
   else ObjectSet("Brick1", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick1", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick1", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir1", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir1", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir1", OBJPROP_XDISTANCE, 350);
   else ObjectSet("Dir1", OBJPROP_XDISTANCE, 10);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir1", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir1", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick1", "Brick" + gi_132, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir1", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick1", "Brick" + gi_132, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir1", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick1", "Brick" + gi_132, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir1", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick1", "Brick" + gi_132, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir1", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_18() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (td_0 == 222) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + td_0 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + td_0 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - td_0 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - td_0 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + td_0 * Point) {
            while (Close[li_0] > lda_16[li_12] + td_0 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + td_0 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - td_0 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - td_0 * 2 * Point; Close[li_0] < lda_16[li_12] - td_0 * Point; lda_16[li_12] = lda_16[li_12 - 1] - td_0 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - td_0 * Point) {
            while (Close[li_0] < lda_16[li_12] - td_0 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - td_0 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + td_0 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + td_0 * 2 * Point; Close[li_0] > lda_16[li_12] + td_0 * Point; lda_16[li_12] = lda_16[li_12 - 1] + td_0 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick2", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick2", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick2", OBJPROP_XDISTANCE, 290);
   else ObjectSet("Brick2", OBJPROP_XDISTANCE, 60);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick2", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick2", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir2", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir2", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir2", OBJPROP_XDISTANCE, 290);
   else ObjectSet("Dir2", OBJPROP_XDISTANCE, 60);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir2", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir2", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick2", "Brick" + td_0, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir2", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick2", "Brick" + td_0, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir2", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick2", "Brick" + td_0, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir2", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick2", "Brick" + td_0, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir2", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_20() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_140 == 333) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_140 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_140 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_140 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_140 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_140 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_140 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_140 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_140 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_140 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_140 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_140 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_140 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_140 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_140 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_140 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_140 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_140 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_140 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick3", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick3", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick3", OBJPROP_XDISTANCE, 230);
   else ObjectSet("Brick3", OBJPROP_XDISTANCE, 110);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick3", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick3", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir3", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir3", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir3", OBJPROP_XDISTANCE, 230);
   else ObjectSet("Dir3", OBJPROP_XDISTANCE, 110);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir3", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir3", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick3", "Brick" + gi_140, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir3", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick3", "Brick" + gi_140, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir3", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick3", "Brick" + gi_140, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir3", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick3", "Brick" + gi_140, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir3", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_0() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_144 == 444) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_144 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_144 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_144 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_144 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_144 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_144 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_144 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_144 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_144 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_144 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_144 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_144 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_144 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_144 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_144 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_144 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_144 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_144 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick4", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick4", OBJPROP_CORNER, Corner);
   ObjectSet("Brick4", OBJPROP_XDISTANCE, 170);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick4", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick4", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir4", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir4", OBJPROP_CORNER, Corner);
   ObjectSet("Dir4", OBJPROP_XDISTANCE, 170);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir4", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir4", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick4", "Brick" + gi_144, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir4", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick4", "Brick" + gi_144, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir4", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick4", "Brick" + gi_144, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir4", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick4", "Brick" + gi_144, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir4", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_4() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_148 == 555) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_148 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_148 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_148 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_148 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_148 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_148 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_148 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_148 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_148 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_148 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_148 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_148 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_148 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_148 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_148 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_148 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_148 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_148 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick5", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick5", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick5", OBJPROP_XDISTANCE, 110);
   else ObjectSet("Brick5", OBJPROP_XDISTANCE, 220);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick5", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick5", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir5", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir5", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir5", OBJPROP_XDISTANCE, 110);
   else ObjectSet("Dir5", OBJPROP_XDISTANCE, 220);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir5", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir5", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick5", "Brick" + gi_148, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir5", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick5", "Brick" + gi_148, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir5", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick5", "Brick" + gi_148, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir5", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick5", "Brick" + gi_148, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir5", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_11() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_152 == 666) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_152 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_152 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_152 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_152 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_152 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_152 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_152 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_152 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_152 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_152 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_152 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_152 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_152 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_152 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_152 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_152 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_152 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_152 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick6", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick6", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick6", OBJPROP_XDISTANCE, 60);
   else ObjectSet("Brick6", OBJPROP_XDISTANCE, 270);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick6", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick6", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir6", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir6", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir6", OBJPROP_XDISTANCE, 60);
   else ObjectSet("Dir6", OBJPROP_XDISTANCE, 270);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir6", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir6", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick6", "Brick" + gi_152, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir6", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick6", "Brick" + gi_152, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir6", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick6", "Brick" + gi_152, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir6", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick6", "Brick" + gi_152, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir6", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}

int f0_23() {
   double lda_16[];
   double lda_20[];
   int li_12 = 0;
   if (gi_156 == 777) {
      Alert(f0_1());
      return (0);
   }
   ArrayResize(lda_16, Bars);
   ArrayResize(lda_20, Bars);
   lda_16[li_12] = Close[Bars - 1];
   for (int li_0 = Bars - 2; li_0 >= 0; li_0--) {
      if (li_12 > ArraySize(lda_16) - 100) {
         ArrayCopy(lda_20, lda_16);
         ArrayResize(lda_16, ArraySize(lda_16) + Bars);
         ArrayCopy(lda_16, lda_20, 0, 0, li_12 + 1);
         ArrayResize(lda_20, ArraySize(lda_20) + Bars);
      }
      if (li_12 == 0) {
         while (Close[li_0] > lda_16[li_12] + gi_156 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] + gi_156 * Point;
         }
         while (Close[li_0] < lda_16[li_12] - gi_156 * Point) {
            li_12++;
            lda_16[li_12] = lda_16[li_12 - 1] - gi_156 * Point;
         }
      }
      if (lda_16[li_12] > lda_16[li_12 - 1]) {
         if (Close[li_0] > lda_16[li_12] + gi_156 * Point) {
            while (Close[li_0] > lda_16[li_12] + gi_156 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] + gi_156 * Point;
            }
         }
         if (Close[li_0] < lda_16[li_12] - gi_156 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] - gi_156 * 2 * Point; Close[li_0] < lda_16[li_12] - gi_156 * Point; lda_16[li_12] = lda_16[li_12 - 1] - gi_156 * Point) li_12++;
         }
      }
      if (lda_16[li_12] < lda_16[li_12 - 1]) {
         if (Close[li_0] < lda_16[li_12] - gi_156 * Point) {
            while (Close[li_0] < lda_16[li_12] - gi_156 * Point) {
               li_12++;
               lda_16[li_12] = lda_16[li_12 - 1] - gi_156 * Point;
            }
         }
         if (Close[li_0] > lda_16[li_12] + gi_156 * 2 * Point) {
            li_12++;
            for (lda_16[li_12] = lda_16[li_12 - 1] + gi_156 * 2 * Point; Close[li_0] > lda_16[li_12] + gi_156 * Point; lda_16[li_12] = lda_16[li_12 - 1] + gi_156 * Point) li_12++;
         }
      }
   }
   ObjectCreate("Brick7", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Brick7", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Brick7", OBJPROP_XDISTANCE, 10);
   else ObjectSet("Brick7", OBJPROP_XDISTANCE, 320);
   if (Corner == 3 || Corner == 2) ObjectSet("Brick7", OBJPROP_YDISTANCE, gi_76 + 10);
   else ObjectSet("Brick7", OBJPROP_YDISTANCE, 150);
   ObjectCreate("Dir7", OBJ_LABEL, 0, 0, 0);
   ObjectSet("Dir7", OBJPROP_CORNER, Corner);
   if (Corner == 1 || Corner == 3) ObjectSet("Dir7", OBJPROP_XDISTANCE, 10);
   else ObjectSet("Dir7", OBJPROP_XDISTANCE, 320);
   if (Corner == 3 || Corner == 2) ObjectSet("Dir7", OBJPROP_YDISTANCE, gi_76 + (-10));
   else ObjectSet("Dir7", OBJPROP_YDISTANCE, 165);
   for (li_0 = 0; li_0 < Bars; li_0++) {
   }
   if (li_12 > Bars - 100) {
      for (li_0 = 0; li_0 <= Bars - 100; li_0++) lda_16[li_0] = lda_16[li_0 + li_12 - (Bars - 100)];
      li_12 = Bars - 100;
   }
   for (li_0 = 1; li_0 <= li_12; li_0++) {
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick7", "Brick" + gi_156, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir7", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
      if (lda_16[li_0] > lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick7", "Brick" + gi_156, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir7", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] < lda_16[li_0 - 2]) {
         ObjectSetText("Brick7", "Brick" + gi_156, 10, "Trebuchet MS", BearColor);
         ObjectSetText("Dir7", "\\/  ", 12, "Gill Sans Ultra Bold", BearColor);
      }
      if (lda_16[li_0] < lda_16[li_0 - 1] && lda_16[li_0 - 1] > lda_16[li_0 - 2]) {
         ObjectSetText("Brick7", "Brick" + gi_156, 10, "Trebuchet MS", BullColor);
         ObjectSetText("Dir7", "/\\  ", 12, "Gill Sans Ultra Bold", BullColor);
      }
   }
   return (0);
}