Auto TL.03~(2)

Author: Copyright � 2005-2008, Todd A.Geiger aka fxid10t@yahoo.com
Price Data Components
Series array that contains open time of each bar
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
Auto TL.03~(2)
/*
   Generated by EX4-TO-MQ4 decompiler ONE FILE V4.0.218.3
   EX4 ID : 04E20A41724C2645BAEB3FDF008C44EC
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2005-2008, Todd A.Geiger aka fxid10t@yahoo.com"
#property link      ""

#property indicator_chart_window

extern string Sensitivity = "is.a.multiple.of.spread";
extern int sensitivity = 10;
extern color Color = Fuchsia;
extern bool Plot.Fibs? = TRUE;
string gs_tlo__96 = "tlo ";
string gs_thi__104 = "thi ";
int gi_112;
bool gi_116;
int g_datetime_120;
int gi_124;
int gi_128;
bool gi_132;
int g_datetime_136;
int gi_140;
double gd_144;
double gd_152;
double g_price_160;
double g_price_168;
double gd_176;
double gd_184;
double g_price_192;
double g_price_200;
int gi_208;

int init() {
   if (TimeCurrent() < StrToTime("2008.12.31 00:00:00")) {
      Alert("Auto TL.03 Custom Indicator has expired.");
      deinit();
      return (0);
   }
   return (0);
}

int deinit() {
   if (!IsTesting()) {
      for (int l_objs_total_0 = ObjectsTotal(); l_objs_total_0 >= 0; l_objs_total_0--) {
         if (StringSubstr(ObjectName(l_objs_total_0), 0, 3) == "tlo" || StringSubstr(ObjectName(l_objs_total_0), 0, 3) == "thi" || StringSubstr(ObjectName(l_objs_total_0), 0, 8) == "Bear Fib" ||
            StringSubstr(ObjectName(l_objs_total_0), 0, 8) == "Bull Fib") ObjectDelete(ObjectName(l_objs_total_0));
      }
   }
   return (0);
}

int start() {
   gi_208 = sensitivity;
   count();
   for (int li_0 = 0; li_0 <= ObjectsTotal(); li_0++) {
      if (StringSubstr(ObjectName(li_0), 0, 3) == "tlo") gs_tlo__96 = ObjectName(li_0);
      if (StringSubstr(ObjectName(li_0), 0, 3) == "thi") gs_thi__104 = ObjectName(li_0);
      if (gs_thi__104 != "" && High[1] > ObjectGetValueByShift(gs_thi__104, 1)) {
         ObjectDelete(gs_thi__104);
         ObjectsDeleteAll(0, OBJ_FIBO);
         gi_128 = 0;
         gi_132 = FALSE;
         g_datetime_136 = 0;
         gi_140 = 0;
         gd_176 = 0;
         gd_184 = 0;
         g_price_192 = 0;
         g_price_200 = 0;
         gs_thi__104 = "thi ";
      }
      if (gs_tlo__96 != "" && Low[1] < ObjectGetValueByShift(gs_tlo__96, 1)) {
         ObjectDelete(gs_tlo__96);
         ObjectsDeleteAll(0, OBJ_FIBO);
         gi_112 = 0;
         gi_116 = FALSE;
         g_datetime_120 = 0;
         gi_124 = 0;
         gd_144 = 0;
         gd_152 = 0;
         g_price_160 = 0;
         g_price_168 = 0;
         gs_tlo__96 = "tlo ";
      }
   }
   if (ObjectFind(gs_tlo__96) < 0) init.tlo();
   if (ObjectFind(gs_thi__104) < 0) init.thi();
   if (ObjectFind(gs_tlo__96) > -1) {
      gi_112 = ObjectGet(gs_tlo__96, OBJPROP_TIME1);
      gd_144 = ObjectGet(gs_tlo__96, OBJPROP_PRICE1);
      gi_116 = ObjectGet(gs_tlo__96, OBJPROP_TIME2);
      gd_152 = ObjectGet(gs_tlo__96, OBJPROP_PRICE2);
      if (Low[1] > ObjectGetValueByShift(gs_tlo__96, 1) + gi_208 * (Ask - Bid)) {
         g_price_160 = gd_152;
         g_datetime_120 = gi_116;
         g_price_168 = Low[1];
         gi_124 = Time[1];
         gs_tlo__96 = "tlo ";
         init.tlo();
         return;
      }
   }
   if (ObjectFind(gs_thi__104) > -1) {
      gi_128 = ObjectGet(gs_thi__104, OBJPROP_TIME1);
      gd_176 = ObjectGet(gs_thi__104, OBJPROP_PRICE1);
      gi_132 = ObjectGet(gs_thi__104, OBJPROP_TIME2);
      gd_184 = ObjectGet(gs_thi__104, OBJPROP_PRICE2);
      if (High[1] < ObjectGetValueByShift(gs_thi__104, 1) - gi_208 * (Ask - Bid)) {
         g_price_192 = gd_184;
         g_datetime_136 = gi_132;
         g_price_200 = High[1];
         gi_140 = Time[1];
         gs_thi__104 = "thi ";
         init.thi();
         return;
      }
   }
   count();
   if (Plot.Fibs?) fib();
   return (0);
}

void fib() {
   double l_price_4;
   double l_timeframe_12;
   double l_price_20;
   double l_timeframe_28;
   int li_36;
   int l_timeframe_40;
   int l_timeframe_44;
   int l_timeframe_48;
   int l_color_0 = Color;
   MathSrand(l_color_0);
   if (ObjectFind(gs_tlo__96) > -1) {
      gi_112 = ObjectGet(gs_tlo__96, OBJPROP_TIME1);
      gd_144 = ObjectGet(gs_tlo__96, OBJPROP_PRICE1);
      gi_116 = ObjectGet(gs_tlo__96, OBJPROP_TIME2);
      gd_152 = ObjectGet(gs_tlo__96, OBJPROP_PRICE2);
   }
   if (ObjectFind(gs_thi__104) > -1) {
      gi_128 = ObjectGet(gs_thi__104, OBJPROP_TIME1);
      gd_176 = ObjectGet(gs_thi__104, OBJPROP_PRICE1);
      gi_132 = ObjectGet(gs_thi__104, OBJPROP_TIME2);
      gd_184 = ObjectGet(gs_thi__104, OBJPROP_PRICE2);
   }
   if (gi_128 < gi_112) {
      l_price_4 = gd_176;
      li_36 = gi_128;
      l_timeframe_12 = Low[iLowest(Symbol(), Period(), MODE_LOW, iBarShift(Symbol(), Period(), li_36), 0)];
      l_timeframe_40 = Time[iLowest(Symbol(), Period(), MODE_LOW, iBarShift(Symbol(), Period(), li_36), 0)];
      ObjectCreate("Bear Fib " + TimeToStr(l_timeframe_40), OBJ_FIBO, 0, li_36, l_price_4, l_timeframe_40, l_timeframe_12);
      ObjectSet("Bear Fib " + TimeToStr(l_timeframe_40), OBJPROP_LEVELCOLOR, MathRand());
      ObjectSet("Bear Fib " + TimeToStr(l_timeframe_40), OBJPROP_RAY, FALSE);
      l_price_20 = l_timeframe_12;
      l_timeframe_44 = l_timeframe_40;
      l_timeframe_28 = High[iHighest(Symbol(), Period(), MODE_HIGH, iBarShift(Symbol(), Period(), l_timeframe_44), 0)];
      l_timeframe_48 = Time[iHighest(Symbol(), Period(), MODE_HIGH, iBarShift(Symbol(), Period(), l_timeframe_44), 0)];
      if (l_timeframe_28 > l_price_20 + (l_price_4 - l_timeframe_12) / 2.0) {
         ObjectCreate("Bull Fib " + TimeToStr(l_timeframe_48), OBJ_FIBO, 0, l_timeframe_44, l_price_20, l_timeframe_48, l_timeframe_28);
         ObjectSet("Bull Fib " + TimeToStr(l_timeframe_48), OBJPROP_LEVELCOLOR, MathRand());
         ObjectSet("Bull Fib " + TimeToStr(l_timeframe_40), OBJPROP_RAY, FALSE);
      }
   }
   if (gi_112 < gi_128) {
      l_price_20 = gd_144;
      l_timeframe_44 = gi_112;
      l_timeframe_28 = High[iHighest(Symbol(), Period(), MODE_HIGH, iBarShift(Symbol(), Period(), l_timeframe_44), 0)];
      l_timeframe_48 = Time[iHighest(Symbol(), Period(), MODE_HIGH, iBarShift(Symbol(), Period(), l_timeframe_44), 0)];
      ObjectCreate("Bull Fib " + TimeToStr(l_timeframe_48), OBJ_FIBO, 0, l_timeframe_44, l_price_20, l_timeframe_48, l_timeframe_28);
      ObjectSet("Bull Fib " + TimeToStr(l_timeframe_48), OBJPROP_LEVELCOLOR, MathRand());
      ObjectSet("Bull Fib " + TimeToStr(l_timeframe_40), OBJPROP_RAY, FALSE);
      l_price_4 = l_timeframe_28;
      li_36 = l_timeframe_48;
      l_timeframe_12 = Low[iLowest(Symbol(), Period(), MODE_LOW, iBarShift(Symbol(), Period(), li_36), 0)];
      l_timeframe_40 = Time[iLowest(Symbol(), Period(), MODE_LOW, iBarShift(Symbol(), Period(), li_36), 0)];
      if (l_timeframe_12 < l_price_4 - (l_timeframe_28 - l_price_20) / 2.0) {
         ObjectCreate("Bear Fib " + TimeToStr(l_timeframe_40), OBJ_FIBO, 0, li_36, l_price_4, l_timeframe_40, l_timeframe_12);
         ObjectSet("Bear Fib " + TimeToStr(l_timeframe_40), OBJPROP_LEVELCOLOR, MathRand());
         ObjectSet("Bear Fib " + TimeToStr(l_timeframe_40), OBJPROP_RAY, FALSE);
      }
   }
}

void count() {
   int li_0;
   int li_4;
   string ls_unused_8;
   string ls_unused_16;
   for (int l_objs_total_24 = ObjectsTotal(); l_objs_total_24 >= 0; l_objs_total_24--) {
      if (StringSubstr(ObjectName(l_objs_total_24), 0, 3) == "tlo") {
         li_0++;
         ls_unused_8 = ObjectName(l_objs_total_24 + li_0 - 1);
      }
      if (StringSubstr(ObjectName(l_objs_total_24), 0, 3) == "thi") {
         li_4++;
         ls_unused_16 = ObjectName(l_objs_total_24 + li_4 - 1);
      }
   }
}

void init.tlo() {
   if (g_price_160 == 0.0 && g_price_168 == 0.0) {
      g_price_160 = Low[iLowest(Symbol(), Period(), MODE_LOW, Bars, 0)];
      g_datetime_120 = Time[iLowest(Symbol(), Period(), MODE_LOW, Bars, 0)];
      g_price_168 = Low[iLowest(Symbol(), Period(), MODE_LOW, Bars, 0) - 1];
      gi_124 = Time[iLowest(Symbol(), Period(), MODE_LOW, Bars, 0) - 1];
   }
   gs_tlo__96 = gs_tlo__96 + TimeToStr(gi_124);
   ObjectCreate(gs_tlo__96, OBJ_TREND, 0, g_datetime_120, g_price_160, gi_124, g_price_168);
   ObjectSet(gs_tlo__96, OBJPROP_RAY, TRUE);
   ObjectSet(gs_tlo__96, OBJPROP_COLOR, Color);
   int l_shift_0 = iBarShift(Symbol(), Period(), g_datetime_120);
   for (int l_shift_4 = l_shift_0; l_shift_4 > 0; l_shift_4--) {
      if (Low[l_shift_4] > 0.0 && Low[l_shift_4] < ObjectGetValueByShift(gs_tlo__96, l_shift_4)) {
         g_price_168 = Low[l_shift_4];
         gi_124 = Time[l_shift_4];
         ObjectDelete(gs_tlo__96);
         gs_tlo__96 = "tlo ";
         gs_tlo__96 = gs_tlo__96 + TimeToStr(gi_124);
         ObjectCreate(gs_tlo__96, OBJ_TREND, 0, g_datetime_120, g_price_160, gi_124, g_price_168);
         ObjectSetText(gs_tlo__96, DoubleToStr(100.0 * (ObjectGetValueByShift(gs_tlo__96, 0) - ObjectGetValueByShift(gs_tlo__96, 1)), Digits) + "% slope");
         ObjectSet(gs_tlo__96, OBJPROP_RAY, TRUE);
         ObjectSet(gs_tlo__96, OBJPROP_COLOR, Color);
      }
   }
}

void init.thi() {
   if (g_price_192 == 0.0 && g_price_200 == 0.0) {
      g_price_192 = High[iHighest(Symbol(), Period(), MODE_HIGH, Bars, 0)];
      g_datetime_136 = Time[iHighest(Symbol(), Period(), MODE_HIGH, Bars, 0)];
      g_price_200 = High[iHighest(Symbol(), Period(), MODE_HIGH, Bars, 0) - 1];
      gi_140 = Time[iHighest(Symbol(), Period(), MODE_HIGH, Bars, 0) - 1];
   }
   gs_thi__104 = gs_thi__104 + TimeToStr(gi_140);
   ObjectCreate(gs_thi__104, OBJ_TREND, 0, g_datetime_136, g_price_192, gi_140, g_price_200);
   ObjectSet(gs_thi__104, OBJPROP_RAY, TRUE);
   ObjectSet(gs_thi__104, OBJPROP_COLOR, Color);
   int l_shift_0 = iBarShift(Symbol(), Period(), g_datetime_136);
   for (int l_shift_4 = l_shift_0; l_shift_4 > 0; l_shift_4--) {
      if (High[l_shift_4] > 0.0 && High[l_shift_4] > ObjectGetValueByShift(gs_thi__104, l_shift_4)) {
         g_price_200 = High[l_shift_4];
         gi_140 = Time[l_shift_4];
         ObjectDelete(gs_thi__104);
         gs_thi__104 = "thi ";
         gs_thi__104 = gs_thi__104 + TimeToStr(gi_140);
         ObjectCreate(gs_thi__104, OBJ_TREND, 0, g_datetime_136, g_price_192, gi_140, g_price_200);
         ObjectSetText(gs_thi__104, DoubleToStr(100.0 * (ObjectGetValueByShift(gs_thi__104, 1) - ObjectGetValueByShift(gs_thi__104, 0)), Digits) + "% slope");
         ObjectSet(gs_thi__104, OBJPROP_RAY, TRUE);
         ObjectSet(gs_thi__104, OBJPROP_COLOR, Color);
      }
   }
}

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---