/* Generated by EX4-TO-MQ4 decompiler ONE FILE V4.0.217.1 EX4 ID : E6CC67A05D9D3DA9631A985BD7CAE011 Website: http://purebeam.biz E-mail : purebeam@gmail.com */ #property copyright "Copyright © 2007, Patrick Nouvion" #property link "www.patricknouvion.com" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Black #property indicator_color2 Black int gi_76 = 0; string gs_80 = ""; int gi_88 = 12; int gi_92 = 6; extern string Options = "===========OPTIONS==========="; extern bool DisplayWaves = TRUE; extern bool DisplayTarget = TRUE; extern bool DisplayComment = TRUE; extern string Colors = "===========COLORS============"; extern color Waves = Crimson; extern color ProfitTarget = DarkBlue; extern int Shift_Points = 10; input int InpWidth=5; input int TextSize=15; int init() { //CustomInit(); CleanUp(); if (DisplayComment) Comment("\n Elliot Waves: No Signal"); return (0); } int deinit() { CleanUp(); return (0); } int start() { string l_str_concat_24; double ld_36; double ld_44; double ld_52; double ld_60; double ld_68; double ld_76; double ld_84; double ld_92; double ld_100; double ld_108; int li_184; string ls_188; double l_price_196; double l_price_204; double ld_228; double ld_236; double ld_244; double ld_260; double ld_268; double ld_276; double ld_284; double ld_292; double ld_300; double ld_308; double ld_316; double ld_324; double ld_340; int li_360; //CustomInit(); int li_0 = IndicatorCounted(); if (li_0 < 0) return (-1); if (li_0 > 0) li_0--; int li_4 = Bars - li_0; int li_8 = 0; int li_12 = 0; string l_text_16 = ""; int li_32 = 0; bool li_116 = FALSE; bool li_120 = FALSE; double ld_124 = CalcAdjust(1); bool li_132 = FALSE; bool li_136 = FALSE; double ld_140 = CalcAdjust(0); for (int l_index_148 = 0; l_index_148 < li_4; l_index_148++) { if (High[l_index_148] == MathMax(MaxHighPres(l_index_148, gi_92), MaxHighPast(l_index_148, gi_92)) && li_32 >= 0 && !li_136) { switch (li_32) { case 0: ld_108 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh5", Symbol(), Period()); li_12 = 144; li_32 = -1; break; case 1: ld_100 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh4", Symbol(), Period()); li_12 = 143; li_32 = -2; break; case 2: ld_92 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh3", Symbol(), Period()); li_12 = 142; li_32 = -3; break; case 3: ld_84 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh2", Symbol(), Period()); li_12 = 141; li_32 = -4; break; case 4: ld_76 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh1", Symbol(), Period()); li_12 = 140; li_32 = -5; } if (DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_ARROW, 0, Time[l_index_148], High[l_index_148] + ld_140); ObjectSet(l_str_concat_24, OBJPROP_ARROWCODE, li_12); ObjectSet(l_str_concat_24, OBJPROP_COLOR, Waves); ObjectSet(l_str_concat_24, OBJPROP_WIDTH, InpWidth); } } else { if (High[l_index_148] == MathMax(MaxHighPres(l_index_148, gi_92), MaxHighPast(l_index_148, gi_92)) && li_32 < 0 && !li_136) { switch (li_32) { case -1: if (High[l_index_148] > ld_108) { ld_108 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh5", Symbol(), Period()); li_12 = 144; li_132 = TRUE; } break; case -2: if (High[l_index_148] > ld_100) { ld_100 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh4", Symbol(), Period()); li_12 = 143; li_132 = TRUE; } break; case -3: if (High[l_index_148] > ld_92) { ld_92 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh3", Symbol(), Period()); li_12 = 142; li_132 = TRUE; } break; case -4: if (High[l_index_148] > ld_84) { ld_84 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh2", Symbol(), Period()); li_12 = 141; li_132 = TRUE; } break; case -5: if (High[l_index_148] > ld_76) { ld_76 = High[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesmh1", Symbol(), Period()); li_12 = 140; li_132 = TRUE; li_136 = TRUE; } break; default: li_136 = TRUE; } if (li_132 && DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_ARROW, 0, Time[l_index_148], High[l_index_148] + ld_140); ObjectSet(l_str_concat_24, OBJPROP_ARROWCODE, li_12); ObjectSet(l_str_concat_24, OBJPROP_COLOR, Waves); ObjectSet(l_str_concat_24, OBJPROP_WIDTH, InpWidth); li_132 = FALSE; } } } if (Low[l_index_148] == MathMin(MinLowPres(l_index_148, gi_92), MinLowPast(l_index_148, gi_92)) && li_32 <= 0 && !li_136) { switch (li_32) { case 0: ld_108 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml5", Symbol(), Period()); li_12 = 144; li_32 = 1; break; case -1: ld_100 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml4", Symbol(), Period()); li_12 = 143; li_32 = 2; break; case -2: ld_92 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml3", Symbol(), Period()); li_12 = 142; li_32 = 3; break; case -3: ld_84 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml2", Symbol(), Period()); li_12 = 141; li_32 = 4; break; case -4: ld_76 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml1", Symbol(), Period()); li_12 = 140; li_32 = 5; li_136 = TRUE; } if (DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_ARROW, 0, Time[l_index_148], Low[l_index_148] - ld_140); ObjectSet(l_str_concat_24, OBJPROP_ARROWCODE, li_12); ObjectSet(l_str_concat_24, OBJPROP_COLOR, Waves); ObjectSet(l_str_concat_24, OBJPROP_WIDTH, InpWidth); } } else { if (Low[l_index_148] == MathMin(MinLowPres(l_index_148, gi_92), MinLowPast(l_index_148, gi_92)) && li_32 > 0 && !li_136) { switch (li_32) { case 1: if (Low[l_index_148] < ld_108) { ld_108 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml5", Symbol(), Period()); li_12 = 144; li_132 = TRUE; } break; case 2: if (Low[l_index_148] < ld_100) { ld_100 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml4", Symbol(), Period()); li_12 = 143; li_132 = TRUE; } break; case 3: if (Low[l_index_148] < ld_92) { ld_92 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml3", Symbol(), Period()); li_12 = 142; li_132 = TRUE; } break; case 4: if (Low[l_index_148] < ld_84) { ld_84 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml2", Symbol(), Period()); li_12 = 141; li_132 = TRUE; } break; case 5: if (Low[l_index_148] < ld_76) { ld_76 = Low[l_index_148]; l_str_concat_24 = StringConcatenate("Small", "ibfxwavesml1", Symbol(), Period()); li_12 = 140; li_132 = TRUE; li_136 = TRUE; } break; default: li_136 = TRUE; } if (li_132 && DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_ARROW, 0, Time[l_index_148], Low[l_index_148] - ld_140); ObjectSet(l_str_concat_24, OBJPROP_ARROWCODE, li_12); ObjectSet(l_str_concat_24, OBJPROP_COLOR, Waves); ObjectSet(l_str_concat_24, OBJPROP_WIDTH, InpWidth); li_132 = FALSE; } } } if (High[l_index_148] == MathMax(MaxHighPres(l_index_148, gi_88), MaxHighPast(l_index_148, gi_88)) && li_8 >= 0 && !li_120) { switch (li_8) { case 0: ld_68 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh5"); l_text_16 = "E"; li_8 = -1; break; case 1: ld_60 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh4"); l_text_16 = "D"; li_8 = -2; break; case 2: ld_52 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh3"); l_text_16 = "C"; li_8 = -3; break; case 3: ld_44 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh2"); l_text_16 = "B"; li_8 = -4; break; case 4: ld_36 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh1"); l_text_16 = "A"; li_8 = -5; } if (DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_TEXT, 0, Time[l_index_148], High[l_index_148] + ld_124*0.1); ObjectSetText(l_str_concat_24, l_text_16, TextSize, "Arial Bold", Waves); } } else { if (High[l_index_148] == MathMax(MaxHighPres(l_index_148, gi_88), MaxHighPast(l_index_148, gi_88)) && li_8 < 0 && !li_120) { switch (li_8) { case -1: if (High[l_index_148] > ld_68) { ld_68 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh5"); l_text_16 = "E"; li_116 = TRUE; } break; case -2: if (High[l_index_148] > ld_60) { ld_60 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh4"); l_text_16 = "D"; li_116 = TRUE; } break; case -3: if (High[l_index_148] > ld_52) { ld_52 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh3"); l_text_16 = "C"; li_116 = TRUE; } break; case -4: if (High[l_index_148] > ld_44) { ld_44 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh2"); l_text_16 = "B"; li_116 = TRUE; } break; case -5: if (High[l_index_148] > ld_36) { ld_36 = High[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesh1"); l_text_16 = "A"; li_116 = TRUE; li_120 = TRUE; } break; default: li_120 = TRUE; } if (li_116 && DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_TEXT, 0, Time[l_index_148], High[l_index_148] + ld_124*0.1); ObjectSetText(l_str_concat_24, l_text_16, TextSize, "Arial Bold", Waves); li_116 = FALSE; } } } if (Low[l_index_148] == MathMin(MinLowPres(l_index_148, gi_88), MinLowPast(l_index_148, gi_88)) && li_8 <= 0 && !li_120) { switch (li_8) { case 0: ld_68 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl5"); l_text_16 = "E"; li_8 = 1; break; case -1: ld_60 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl4"); l_text_16 = "D"; li_8 = 2; break; case -2: ld_52 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl3"); l_text_16 = "C"; li_8 = 3; break; case -3: ld_44 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl2"); l_text_16 = "B"; li_8 = 4; break; case -4: ld_36 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl1"); l_text_16 = "A"; li_8 = 5; li_120 = TRUE; } if (DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_TEXT, 0, Time[l_index_148], Low[l_index_148] - ld_124*0.1); ObjectSetText(l_str_concat_24, l_text_16, TextSize, "Arial Bold", Waves); } } else { if (Low[l_index_148] == MathMin(MinLowPres(l_index_148, gi_88), MinLowPast(l_index_148, gi_88)) && li_8 > 0 && !li_120) { switch (li_8) { case 1: if (Low[l_index_148] < ld_68) { ld_68 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl5"); l_text_16 = "E"; li_116 = TRUE; } break; case 2: if (Low[l_index_148] < ld_60) { ld_60 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl4"); l_text_16 = "D"; li_116 = TRUE; } break; case 3: if (Low[l_index_148] < ld_52) { ld_52 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl3"); l_text_16 = "C"; li_116 = TRUE; } break; case 4: if (Low[l_index_148] < ld_44) { ld_44 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl2"); l_text_16 = "B"; li_116 = TRUE; } break; case 5: if (Low[l_index_148] < ld_36) { ld_36 = Low[l_index_148]; l_str_concat_24 = StringConcatenate(Symbol(), Period(), "ibfxwavesl1"); l_text_16 = "A"; li_116 = TRUE; li_120 = TRUE; } break; default: li_120 = TRUE; } if (li_116 && DisplayWaves) { ObjectCreate(l_str_concat_24, OBJ_TEXT, 0, Time[l_index_148], Low[l_index_148] - ld_124*0.1); ObjectSetText(l_str_concat_24, l_text_16, TextSize, "Arial Bold", Waves); li_116 = FALSE; } } } li_184 = CalculateSignals(ld_36, ld_44, ld_52, ld_60, ld_68, ld_76, ld_84, ld_92, ld_100, ld_108); ls_188 = TimeToStr(Time[l_index_148] + 60 * (gi_92 * Period()), TIME_DATE|TIME_MINUTES); if (li_184 != gi_76 && ls_188 != gs_80 && li_184 != 0) { gi_76 = li_184; gs_80 = ls_188; switch (li_184) { case 3: case -3: ld_300 = ld_68 - 0.6 * (ld_44 - ld_36); ld_308 = ld_68 - 1.0 * (ld_44 - ld_36); ld_316 = ld_68 - 1.6 * (ld_44 - ld_36); ld_324 = ld_68 - 2.6 * (ld_44 - ld_36); if (ld_68 > ld_36 - 0.05 * (ld_44 - ld_36)) { ld_260 = ld_44 - 0.2 * (ld_44 - ld_68); ld_268 = ld_44 - 0.6 * (ld_44 - ld_68); ld_276 = ld_44 - 1.0 * (ld_44 - ld_68); ld_284 = ld_44 - 1.6 * (ld_44 - ld_68); ld_292 = ld_44 - 2.6 * (ld_44 - ld_68); } else { ld_260 = ld_44 - 0.2 * (ld_44 - ld_36); ld_268 = ld_44 - 0.6 * (ld_44 - ld_68); ld_276 = ld_44 - 1.0 * (ld_44 - ld_68); ld_284 = ld_44 - 1.6 * (ld_44 - ld_36); ld_292 = ld_44 - 2.6 * (ld_44 - ld_36); } ld_340 = ld_300 - ld_260; ld_228 = ld_300; if (ld_340 > ld_300 - ld_268) { ld_340 = ld_300 - ld_268; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_276) { ld_340 = ld_300 - ld_276; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_284) { ld_340 = ld_300 - ld_284; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_292) { ld_340 = ld_300 - ld_292; ld_228 = ld_300; } if (ld_340 > ld_308 - ld_260) { ld_340 = ld_308 - ld_260; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_268) { ld_340 = ld_308 - ld_268; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_276) { ld_340 = ld_308 - ld_276; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_284) { ld_340 = ld_308 - ld_284; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_292) { ld_340 = ld_308 - ld_292; ld_228 = ld_308; } if (ld_340 > ld_316 - ld_260) { ld_340 = ld_316 - ld_260; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_268) { ld_340 = ld_316 - ld_268; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_276) { ld_340 = ld_316 - ld_276; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_284) { ld_340 = ld_316 - ld_284; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_292) { ld_340 = ld_316 - ld_292; ld_228 = ld_316; } if (ld_340 > ld_324 - ld_260) { ld_340 = ld_324 - ld_260; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_268) { ld_340 = ld_324 - ld_268; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_276) { ld_340 = ld_324 - ld_276; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_284) { ld_340 = ld_324 - ld_284; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_292) { ld_340 = ld_324 - ld_292; ld_228 = ld_324; } ld_236 = MathAbs(ld_340) + ld_228; ld_244 = (ld_44 - ld_36) / MathMax(ld_44, 0.0000001); l_price_196 = ld_236 + ld_236 * (ld_244 / 40.0); l_price_204 = ld_236 - ld_236 * (ld_244 / 40.0); break; case 2: case -2: ld_300 = ld_68 + 0.3 * (ld_60 - ld_36); ld_308 = ld_68 + 0.6 * (ld_60 - ld_36); ld_316 = ld_68 + 1.0 * (ld_60 - ld_36); ld_260 = ld_60 + 0.2 * (ld_60 - ld_68); ld_268 = ld_60 + 0.6 * (ld_60 - ld_68); ld_276 = ld_60 + 1.0 * (ld_60 - ld_68); ld_284 = ld_60 + 1.6 * (ld_60 - ld_68); ld_292 = ld_60 + 2.6 * (ld_60 - ld_68); ld_340 = ld_300 - ld_260; ld_228 = ld_300; if (ld_340 > ld_300 - ld_268) { ld_340 = ld_300 - ld_268; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_276) { ld_340 = ld_300 - ld_276; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_284) { ld_340 = ld_300 - ld_284; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_292) { ld_340 = ld_300 - ld_292; ld_228 = ld_300; } if (ld_340 > ld_308 - ld_260) { ld_340 = ld_308 - ld_260; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_268) { ld_340 = ld_308 - ld_268; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_276) { ld_340 = ld_308 - ld_276; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_284) { ld_340 = ld_308 - ld_284; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_292) { ld_340 = ld_308 - ld_292; ld_228 = ld_308; } if (ld_340 > ld_316 - ld_260) { ld_340 = ld_316 - ld_260; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_268) { ld_340 = ld_316 - ld_268; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_276) { ld_340 = ld_316 - ld_276; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_284) { ld_340 = ld_316 - ld_284; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_292) { ld_340 = ld_316 - ld_292; ld_228 = ld_316; } ld_236 = MathAbs(ld_340) + ld_228; ld_244 = (ld_36 - ld_44) / MathMax(ld_36, 0.0000001); l_price_196 = ld_236 + ld_236 * (ld_244 / 10.0); l_price_204 = ld_236 - ld_236 * (ld_244 / 10.0); break; case 1: case -1: ld_300 = ld_68 + 0.6 * (ld_60 - ld_52); ld_308 = ld_68 + 1.0 * (ld_60 - ld_52); ld_316 = ld_68 + 1.6 * (ld_60 - ld_52); ld_324 = ld_68 + 2.6 * (ld_60 - ld_52); if (ld_68 < ld_60 - 0.05 * (ld_60 - ld_52)) { ld_260 = ld_60 + 0.2 * (ld_60 - ld_68); ld_268 = ld_60 + 0.6 * (ld_60 - ld_68); ld_276 = ld_60 + 1.0 * (ld_60 - ld_68); ld_284 = ld_60 + 1.6 * (ld_60 - ld_68); ld_292 = ld_60 + 2.6 * (ld_60 - ld_68); } else { ld_260 = ld_60 + 0.2 * (ld_60 - ld_52); ld_268 = ld_60 + 0.6 * (ld_60 - ld_68); ld_276 = ld_60 + 1.0 * (ld_60 - ld_52); ld_284 = ld_60 + 1.6 * (ld_60 - ld_52); ld_292 = ld_60 + 2.6 * (ld_60 - ld_52); } ld_340 = ld_300 - ld_260; ld_228 = ld_300; if (ld_340 > ld_300 - ld_268) { ld_340 = ld_300 - ld_268; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_276) { ld_340 = ld_300 - ld_276; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_284) { ld_340 = ld_300 - ld_284; ld_228 = ld_300; } if (ld_340 > ld_300 - ld_292) { ld_340 = ld_300 - ld_292; ld_228 = ld_300; } if (ld_340 > ld_308 - ld_260) { ld_340 = ld_308 - ld_260; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_268) { ld_340 = ld_308 - ld_268; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_276) { ld_340 = ld_308 - ld_276; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_284) { ld_340 = ld_308 - ld_284; ld_228 = ld_308; } if (ld_340 > ld_308 - ld_292) { ld_340 = ld_308 - ld_292; ld_228 = ld_308; } if (ld_340 > ld_316 - ld_260) { ld_340 = ld_316 - ld_260; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_268) { ld_340 = ld_316 - ld_268; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_276) { ld_340 = ld_316 - ld_276; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_284) { ld_340 = ld_316 - ld_284; ld_228 = ld_316; } if (ld_340 > ld_316 - ld_292) { ld_340 = ld_316 - ld_292; ld_228 = ld_316; } if (ld_340 > ld_324 - ld_260) { ld_340 = ld_324 - ld_260; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_268) { ld_340 = ld_324 - ld_268; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_276) { ld_340 = ld_324 - ld_276; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_284) { ld_340 = ld_324 - ld_284; ld_228 = ld_324; } if (ld_340 > ld_324 - ld_292) { ld_340 = ld_324 - ld_292; ld_228 = ld_324; } ld_236 = MathAbs(ld_340) + ld_228; ld_244 = (ld_60 - ld_52) / MathMax(ld_52, 0.0000001); l_price_196 = ld_236 + ld_236 * (ld_244 / 10.0); l_price_204 = ld_236 - ld_236 * (ld_244 / 10.0); } li_360 = 0; if (l_index_148 < 10) li_360 = 10; if (DisplayTarget) { ObjectCreate(StringConcatenate(Symbol(), Period(), "ibfxwavestarget"), OBJ_RECTANGLE, 0, Time[l_index_148] + 60 * (gi_92 * Period()), l_price_204, Time[li_360], l_price_196); ObjectSet(StringConcatenate(Symbol(), Period(), "ibfxwavestarget"), OBJPROP_COLOR, ProfitTarget); } if (DisplayComment) { if (li_184 > 0) Comment("\n Signal: Buy \n Profit Target: ", NormalizeDouble(l_price_196, MarketInfo(Symbol(), MODE_DIGITS)), " \n Signal Given on: ", ls_188); else if (li_184 < 0) Comment("\n Signal: Sell \n Profit Target: ", NormalizeDouble(l_price_204, MarketInfo(Symbol(), MODE_DIGITS)), " \n Signal Given on: ", ls_188); } } } return (0); } double MaxHighPres(int ai_0, int ai_4) { double ld_ret_8 = 0.0; for (int l_count_16 = 0; l_count_16 < ai_4; l_count_16++) ld_ret_8 = MathMax(ld_ret_8, iHigh(NULL, 0, ai_0 - l_count_16)); return (ld_ret_8); } double MaxHighPast(int ai_0, int ai_4) { double ld_ret_8 = 0.0; for (int l_count_16 = 0; l_count_16 < ai_4; l_count_16++) ld_ret_8 = MathMax(ld_ret_8, iHigh(NULL, 0, ai_0 + l_count_16)); return (ld_ret_8); } double MinLowPres(int ai_0, int ai_4) { double ld_ret_8 = 10000000000000000.0; for (int l_count_16 = 0; l_count_16 < ai_4; l_count_16++) ld_ret_8 = MathMin(ld_ret_8, iLow(NULL, 0, ai_0 - l_count_16)); return (ld_ret_8); } double MinLowPast(int ai_0, int ai_4) { double ld_ret_8 = 10000000000000000.0; for (int l_count_16 = 0; l_count_16 < ai_4; l_count_16++) ld_ret_8 = MathMin(ld_ret_8, iLow(NULL, 0, ai_0 + l_count_16)); return (ld_ret_8); } void CleanUp() { ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesh1")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesh2")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesh3")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesh4")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesh5")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesl1")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesl2")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesl3")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesl4")); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavesl5")); ObjectDelete(StringConcatenate("Small", "ibfxwavesmh1", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesmh2", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesmh3", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesmh4", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesmh5", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesml1", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesml2", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesml3", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesml4", Symbol(), Period())); ObjectDelete(StringConcatenate("Small", "ibfxwavesml5", Symbol(), Period())); ObjectDelete(StringConcatenate(Symbol(), Period(), "ibfxwavestarget")); Comment(""); } double CalcAdjust(bool ai_0) { double ld_ret_4 = 0; int li_12 = 1; if (ai_0) li_12 = Shift_Points; switch (Period()) { case PERIOD_M1: ld_ret_4 = 100 * li_12 * Point; break; case PERIOD_M5: ld_ret_4 = 100 * li_12 * Point; break; case PERIOD_M15: ld_ret_4 = 150 * li_12 * Point; break; case PERIOD_M30: ld_ret_4 = 200 * li_12 * Point; break; case PERIOD_H1: ld_ret_4 = 250 * li_12 * Point; break; case PERIOD_H4: ld_ret_4 = 300 * li_12 * Point; break; case PERIOD_D1: ld_ret_4 = 600 * li_12 * Point; break; case PERIOD_W1: ld_ret_4 = 800 * li_12 * Point; break; case PERIOD_MN1: ld_ret_4 = 1200 * li_12 * Point; } return (ld_ret_4); } int CalculateSignals(double ad_0, double ad_8, double ad_16, double ad_24, double ad_32, double ad_40, double ad_48, double ad_56, double ad_64, double ad_72) { if (ad_0 > 0.0 && ad_8 > 0.0 && ad_16 > 0.0 && ad_24 > 0.0 && ad_32 > 0.0 && ad_40 > 0.0 && ad_48 > 0.0 && ad_56 > 0.0 && ad_64 > 0.0 && ad_72 > 0.0) { if (ad_32 < ad_24 - (ad_24 - ad_16) / 2.0 && ad_32 >= ad_16 && ad_16 < ad_0 && ad_56 < ad_48 && ad_64 > ad_56 && ad_64 < ad_48 && ad_72 < ad_56) return (1); else { if (ad_32 > ad_24 - (ad_24 - ad_16) / 2.0 && ad_32 <= ad_16 && ad_16 > ad_0 && ad_56 > ad_48 && ad_64 < ad_56 && ad_64 > ad_48 && ad_72 > ad_56) return (-1); else { if (ad_8 > ad_0 && ad_16 > ad_0 && ad_16 < ad_8 && ad_24 > ad_16 && ad_24 > ad_8 && ad_32 < ad_24 && ad_32 > ad_16 && ad_24 - ad_16 > ad_8 - ad_0 && ad_32 > (ad_8 + ad_16) / 2.0) return (2); else { if (ad_8 < ad_0 && ad_16 < ad_0 && ad_16 > ad_8 && ad_24 < ad_16 && ad_24 < ad_8 && ad_32 > ad_24 && ad_32 < ad_16 && ad_24 - ad_16 < ad_8 - ad_0 && ad_32 < (ad_8 + ad_16) / 2.0) return (-2); else { if (ad_8 < ad_0 && ad_16 > ad_8 && ad_16 < ad_0 && ad_24 < ad_16 && ad_24 >= ad_8 && ad_32 >= ad_16 && ad_32 < ad_0 && ad_24 - ad_32 > 1.3 * (ad_8 - ad_16)) return (3); else { if (ad_8 > ad_0 && ad_16 < ad_8 && ad_16 > ad_0 && ad_24 > ad_16 && ad_24 <= ad_8 && ad_32 <= ad_16 && ad_32 > ad_0 && ad_24 - ad_32 < 1.3 * (ad_8 - ad_16)) return (-3); else return (0); } } } } } } return (0); } void CustomInit() { if (!IsConnected() || AccountNumber() == 0) return; if (StringFind(AccountServer(), "", 0) == -1 && StringFind(AccountServer(), "IBFX", 0) == -1) Alert("InterbankFX users Only!!!"); }