/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "4xgreed."
#property link      "http://4xgreed.com"

#property indicator_chart_window

extern int BeginningBalance = 100000;
int gi_80 = 0;
int g_color_84 = White;
int g_corner_88 = 2;
int g_x_92 = 2;
int g_y_96 = 12;
int g_fontsize_100 = 8;
string g_text_104 = "";
int g_color_112 = Yellow;
int g_fontsize_116 = 20;
bool gi_120 = TRUE;
string gs_unused_124 = "Change font colors automatically? True = Yes";
bool gi_132 = TRUE;
string gs_unused_136 = "Default Font Color";
int g_color_144 = Blue;
int gi_148 = 65280;
int gi_152 = 255;
string gs_unused_156 = "Font Size";
string gs_unused_164 = "Font Type";
string gs_verdana_172 = "Verdana";
string gs_unused_180 = "Display the price in what corner?";
string gs_unused_188 = "Upper left=0; Upper right=1";
string gs_unused_196 = "Lower left=2; Lower right=3";
double g_bid_204;
double gd_212;
string gs_dummy_220;
string gs_228;
string gs_dummy_236;
int gi_244;
int g_timeframe_248;
string gs_unused_252;
int g_color_260 = Yellow;
string gs_verdana_264 = "Verdana";
int g_fontsize_272 = 10;
string gs_276 = ",-1.1";
int g_corner_284 = 3;
int g_x_288 = 5;
int g_y_292 = 10;

int init() {
   g_timeframe_248 = Period();
   gs_228 = TimeFrameToString(g_timeframe_248);
   gi_244 = Digits;
   if (!gi_120) {
      if (gi_244 == 5 || gi_244 == 3) {
         gi_244--;
         gd_212 = 10.0 * gd_212;
      }
   }
   gs_unused_252 = "MMP_TRO";
   ObjectCreate("box-1", OBJ_LABEL, 0, 0, 0);
   ObjectSet("box-1", OBJPROP_CORNER, g_corner_284);
   ObjectSet("box-1", OBJPROP_XDISTANCE, g_x_288);
   ObjectSet("box-1", OBJPROP_YDISTANCE, g_y_292);
   IndicatorBuffers(4);
   return (0);
}

int deinit() {
   ObjectDelete("Market_Price_Label");
   ObjectDelete("Market_Price_Note");
   ObjectDelete("box-1");
   ObjectDelete("acr");
   ObjectDelete("ors");
   ObjectDelete("so");
   ObjectDelete("mu");
   ObjectDelete("ex");
   ObjectDelete("tz");
   ObjectDelete("acb");
   ObjectDelete("acr");
   ObjectDelete("ap");
   ObjectDelete("oop");
   return (0);
}

int start() {
   int li_0;
   if (gi_132 == TRUE) {
      if (Bid > g_bid_204) g_color_144 = gi_148;
      if (Bid < g_bid_204) g_color_144 = gi_152;
      g_bid_204 = Bid;
   }
   string l_text_4 = DoubleToStr(Bid, gi_244) + " " + Symbol() + " " + gs_228;
   ObjectCreate("Market_Price_Label", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("Market_Price_Label", l_text_4, g_fontsize_100, gs_verdana_172, g_color_144);
   ObjectSet("Market_Price_Label", OBJPROP_CORNER, g_corner_88);
   ObjectSet("Market_Price_Label", OBJPROP_XDISTANCE, g_x_92);
   ObjectSet("Market_Price_Label", OBJPROP_YDISTANCE, g_y_96);
   if (g_text_104 != "") {
      ObjectCreate("Market_Price_Note", OBJ_LABEL, 0, 0, 0);
      ObjectSetText("Market_Price_Note", g_text_104, g_fontsize_116, gs_verdana_172, g_color_112);
      ObjectSet("Market_Price_Note", OBJPROP_CORNER, g_corner_88);
      ObjectSet("Market_Price_Note", OBJPROP_XDISTANCE, g_x_92);
      ObjectSet("Market_Price_Note", OBJPROP_YDISTANCE, g_fontsize_100 * 2 + g_y_96);
   }
   if (Digits == 3 || Digits == 5) li_0 = 10;
   else li_0 = 1;
   ObjectSetText("box-1", "Spread" + NumberToStr((Ask - Bid) / Point / li_0, gs_276), g_fontsize_272, gs_verdana_264, g_color_260);
   ObjectCreate("ors", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ors", "Orders In: " + DoubleToStr(OrdersTotal(), 0), 9, "Verdana", White);
   ObjectSet("ors", OBJPROP_CORNER, 3);
   ObjectSet("ors", OBJPROP_XDISTANCE, 5);
   ObjectSet("ors", OBJPROP_YDISTANCE, 30);
   ObjectCreate("so", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("so", "Stopout %: " + AccountStopoutLevel(), 9, "Verdana", White);
   ObjectSet("so", OBJPROP_CORNER, 3);
   ObjectSet("so", OBJPROP_XDISTANCE, 5);
   ObjectSet("so", OBJPROP_YDISTANCE, 45);
   ObjectCreate("mu", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("mu", "Margin Used: $" + DoubleToStr(AccountMargin(), 2), 9, "Verdana", White);
   ObjectSet("mu", OBJPROP_CORNER, 3);
   ObjectSet("mu", OBJPROP_XDISTANCE, 5);
   ObjectSet("mu", OBJPROP_YDISTANCE, 60);
   ObjectCreate("ex", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ex", "Free Margin: $" + DoubleToStr(AccountFreeMargin(), 2), 9, "Verdana", White);
   ObjectSet("ex", OBJPROP_CORNER, 3);
   ObjectSet("ex", OBJPROP_XDISTANCE, 5);
   ObjectSet("ex", OBJPROP_YDISTANCE, 75);
   ObjectCreate("tz", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("tz", "Equity: $" + DoubleToStr(AccountEquity(), 2), 9, "Verdana", White);
   ObjectSet("tz", OBJPROP_CORNER, 3);
   ObjectSet("tz", OBJPROP_XDISTANCE, 5);
   ObjectSet("tz", OBJPROP_YDISTANCE, 90);
   ObjectCreate("ap", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("ap", "Working Profit: $" + DoubleToStr(AccountProfit(), 2), 9, "Verdana", White);
   ObjectSet("ap", OBJPROP_CORNER, 3);
   ObjectSet("ap", OBJPROP_XDISTANCE, 5);
   ObjectSet("ap", OBJPROP_YDISTANCE, 105);
   ObjectCreate("acb", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("acb", "Broker: " + AccountCompany(), 9, "Verdana", White);
   ObjectSet("acb", OBJPROP_CORNER, 3);
   ObjectSet("acb", OBJPROP_XDISTANCE, 5);
   ObjectSet("acb", OBJPROP_YDISTANCE, 120);
   ObjectCreate("acr", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("acr", "Leverage: 1:" + AccountLeverage(), 9, "Verdana", White);
   ObjectSet("acr", OBJPROP_CORNER, 3);
   ObjectSet("acr", OBJPROP_XDISTANCE, 5);
   ObjectSet("acr", OBJPROP_YDISTANCE, 135);
   gi_80 = AccountEquity() - BeginningBalance;
   if (DoubleToStr(gi_80, 2) > "0") g_color_84 = Aqua;
   if (DoubleToStr(gi_80, 2) < "0") g_color_84 = Red;
   ObjectCreate("oop", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("oop", "Earnings: $" + DoubleToStr(gi_80, 2), 9, "Verdana", g_color_84);
   ObjectSet("oop", OBJPROP_CORNER, 3);
   ObjectSet("oop", OBJPROP_XDISTANCE, 85);
   ObjectSet("oop", OBJPROP_YDISTANCE, 10);
   return (0);
}

string NumberToStr(double ad_0, string as_8) {
   string ls_16;
   bool li_24;
   bool li_28;
   bool li_32;
   bool li_36;
   bool li_40;
   bool li_44;
   bool li_48;
   bool li_52;
   string ls_56;
   bool li_64;
   bool li_68;
   string ls_72;
   string ls_80;
   int l_str_len_88;
   if (MathAbs(ad_0) == EMPTY_VALUE) ad_0 = 0;
   as_8 = StringUpper(as_8);
   int li_92 = 0;
   int li_96 = StringFind(as_8, ".", 0);
   if (li_96 < 0) {
      li_96 = StringLen(as_8);
      li_92 = 1;
   }
   int li_100 = 0;
   int li_104 = 0;
   for (int li_108 = 0; li_108 < li_96; li_108++) {
      ls_16 = StringSubstr(as_8, li_108, 1);
      if (ls_16 >= "0" && ls_16 <= "9") li_100 = 10 * li_100 + StrToInteger(ls_16);
   }
   if (li_92 == 0) {
      for (li_108 = li_96 + 1; li_108 <= StringLen(as_8); li_108++) {
         ls_16 = StringSubstr(as_8, li_108, 1);
         if (ls_16 >= "0" && ls_16 <= "9") li_104 = 10 * li_104 + StrToInteger(ls_16);
      }
   }
   li_104 = MathMin(li_104, 7);
   if (li_92 == 1) {
      for (li_108 = 0; li_108 < StringLen(as_8); li_108++) {
         ls_16 = StringSubstr(as_8, li_108, 1);
         if (ls_16 >= "0" && ls_16 <= "9") {
            li_96 = li_108;
            break;
         }
      }
   }
   string ls_112 = "";
   if (StringFind(as_8, "$", 0) >= 0) ls_112 = "$";
   if (StringFind(as_8, "£", 0) >= 0) ls_112 = "£";
   if (StringFind(as_8, "€", 0) >= 0) ls_112 = "€";
   if (StringFind(as_8, "¥", 0) >= 0) ls_112 = "¥";
   string ls_120 = "";
   string ls_128 = "";
   if (StringFind(as_8, "+", 0) >= 0 && StringFind(as_8, "+", 0) < li_96) {
      ls_120 = " ";
      if (ad_0 > 0.0) ls_120 = "+";
      if (ad_0 < 0.0) ls_120 = "-";
   }
   if (StringFind(as_8, "-", 0) >= 0 && StringFind(as_8, "-", 0) < li_96) {
      if (ad_0 < 0.0) ls_120 = "-";
      else ls_120 = " ";
   }
   if (StringFind(as_8, "-", 0) >= 0 && StringFind(as_8, "-", 0) > li_96) {
      if (ad_0 < 0.0) ls_128 = "-";
      else ls_128 = " ";
   }
   if (StringFind(as_8, "(", 0) >= 0 || StringFind(as_8, ")", 0) >= 0) {
      ls_120 = " ";
      ls_128 = " ";
      if (ad_0 < 0.0) {
         ls_120 = "(";
         ls_128 = ")";
      }
   }
   if (StringFind(as_8, "%", 0) >= 0) ls_128 = "%";
   if (StringFind(as_8, ",", 0) >= 0) li_24 = TRUE;
   else li_24 = FALSE;
   if (StringFind(as_8, "Z", 0) >= 0) li_28 = TRUE;
   else li_28 = FALSE;
   if (StringFind(as_8, "B", 0) >= 0) li_32 = TRUE;
   else li_32 = FALSE;
   if (StringFind(as_8, "R", 0) >= 0) li_36 = TRUE;
   else li_36 = FALSE;
   if (StringFind(as_8, "*", 0) >= 0) li_40 = TRUE;
   else li_40 = FALSE;
   if (StringFind(as_8, "L", 0) >= 0) li_44 = TRUE;
   else li_44 = FALSE;
   if (StringFind(as_8, ";", 0) >= 0) li_48 = TRUE;
   else li_48 = FALSE;
   if (StringFind(as_8, "T", 0) >= 0) li_52 = TRUE;
   else li_52 = FALSE;
   if (li_36) ad_0 = MathFix(ad_0, li_104);
   string ls_ret_136 = ad_0;
   int l_count_144 = 0;
   for (li_108 = 0; li_108 < StringLen(ls_ret_136); li_108++) {
      ls_16 = StringSubstr(ls_ret_136, li_108, 1);
      if (ls_16 >= "0" && ls_16 <= "9") l_count_144++;
      if (ls_16 == ".") break;
   }
   if (li_28) ls_56 = "0";
   else ls_56 = " ";
   if (ad_0 < 0.0) ls_ret_136 = "-" + StringRepeat(ls_56, li_100 - l_count_144) + StringSubstr(ls_ret_136, 1, StringLen(ls_ret_136) - 1);
   else ls_ret_136 = StringRepeat(ls_56, li_100 - l_count_144) + StringSubstr(ls_ret_136, 0, StringLen(ls_ret_136));
   ls_ret_136 = StringSubstr(ls_ret_136, StringLen(ls_ret_136) - 9 - li_100, li_100 + 1 + li_104 - li_92);
   if (li_24) {
      li_64 = FALSE;
      li_68 = FALSE;
      ls_72 = "";
      ls_80 = "";
      for (li_108 = 0; li_108 < StringLen(ls_ret_136); li_108++) {
         ls_16 = StringSubstr(ls_ret_136, li_108, 1);
         if (ls_16 == ".") li_68 = TRUE;
         if (!li_68 && li_100 - li_108 == 3 || li_100 - li_108 == 6 || li_100 - li_108 == 9) {
            if (li_64) ls_72 = ls_72 + ",";
            else ls_72 = ls_72 + " ";
         }
         ls_72 = ls_72 + ls_16;
         if (ls_16 >= "0" && ls_16 <= "9") li_64 = TRUE;
      }
      ls_ret_136 = ls_72;
   }
   ls_ret_136 = ls_112 + ls_120 + ls_ret_136 + ls_128;
   ls_72 = "";
   ls_80 = "";
   bool li_148 = TRUE;
   for (li_108 = 0; li_108 < StringLen(ls_ret_136); li_108++) {
      ls_16 = StringSubstr(ls_ret_136, li_108, 1);
      if (ls_16 >= "0" && ls_16 <= "9") li_148 = FALSE;
      if ((ls_16 == " " && li_148) || (li_32 && ad_0 == 0.0)) ls_72 = ls_72 + " ";
      else ls_80 = ls_80 + ls_16;
   }
   ls_ret_136 = ls_72 + ls_80;
   if (li_40 && l_count_144 > li_100) ls_ret_136 = "*" + StringSubstr(ls_ret_136, 1, StringLen(ls_ret_136) - 1);
   if (li_44) {
      l_str_len_88 = StringLen(ls_ret_136);
      ls_ret_136 = StringLeftTrim(ls_ret_136);
      ls_ret_136 = ls_ret_136 + StringRepeat(" ", l_str_len_88 - StringLen(ls_ret_136));
   }
   if (li_48) {
      ls_72 = "";
      for (li_108 = 0; li_108 < StringLen(ls_ret_136); li_108++) {
         ls_16 = StringSubstr(ls_ret_136, li_108, 1);
         if (ls_16 == ".") ls_72 = ls_72 + ",";
         else {
            if (ls_16 == ",") ls_72 = ls_72 + ".";
            else ls_72 = ls_72 + ls_16;
         }
      }
      ls_ret_136 = ls_72;
   }
   if (li_52) ls_ret_136 = StringTrim(ls_ret_136);
   return (ls_ret_136);
}

string StringRepeat(string as_0, int ai_8) {
   string ls_ret_12 = "";
   for (int l_count_20 = 0; l_count_20 < ai_8; l_count_20++) ls_ret_12 = ls_ret_12 + as_0;
   return (ls_ret_12);
}

string StringLeftTrim(string as_0) {
   bool li_8 = TRUE;
   string ls_ret_12 = "";
   for (int li_20 = 0; li_20 < StringLen(as_0); li_20++) {
      if (StringSubstr(as_0, li_20, 1) != " " || !li_8) {
         ls_ret_12 = ls_ret_12 + StringSubstr(as_0, li_20, 1);
         li_8 = FALSE;
      }
   }
   return (ls_ret_12);
}

string StringUpper(string as_0) {
   int li_8;
   string ls_ret_12 = "";
   string ls_20 = "abcdefghijklmnopqrstuvwxyz";
   string ls_28 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   for (int li_36 = 0; li_36 < StringLen(as_0); li_36++) {
      li_8 = StringFind(ls_20, StringSubstr(as_0, li_36, 1), 0);
      if (li_8 >= 0) ls_ret_12 = ls_ret_12 + StringSubstr(ls_28, li_8, 1);
      else ls_ret_12 = ls_ret_12 + StringSubstr(as_0, li_36, 1);
   }
   return (ls_ret_12);
}

string StringTrim(string as_0) {
   string ls_ret_8 = "";
   for (int li_16 = 0; li_16 < StringLen(as_0); li_16++)
      if (StringSubstr(as_0, li_16, 1) != " ") ls_ret_8 = ls_ret_8 + StringSubstr(as_0, li_16, 1);
   return (ls_ret_8);
}

double MathFix(double ad_0, int ai_8) {
   return (MathRound(ad_0 * MathPow(10, ai_8) + 0.0 * MathSign(ad_0)) / MathPow(10, ai_8));
}

int MathSign(double ad_0) {
   if (ad_0 > 0.0) return (1);
   if (ad_0 < 0.0) return (-1);
   return (0);
}

string TimeFrameToString(int ai_0) {
   string ls_ret_4;
   switch (ai_0) {
   case 1:
      ls_ret_4 = "M1";
      break;
   case 5:
      ls_ret_4 = "M5";
      break;
   case 15:
      ls_ret_4 = "M15";
      break;
   case 30:
      ls_ret_4 = "M30";
      break;
   case 60:
      ls_ret_4 = "H1";
      break;
   case 240:
      ls_ret_4 = "H4";
      break;
   case 1440:
      ls_ret_4 = "D1";
      break;
   case 10080:
      ls_ret_4 = "W1";
      break;
   case 43200:
      ls_ret_4 = "MN";
   }
   return (ls_ret_4);
}