/* Generated by EX4-TO-MQ4 decompiler V4.0.224.1 [] Website: http://purebeam.biz E-mail : purebeam@gmail.com */ #property link "nen" #property indicator_chart_window #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 extern string ExtDepth = "12,12,12,0,12,12,12,12,12"; extern string ExtDeviation = "5,5,5,0,5,5,5,5,5"; extern string ExtBackstep = "3,3,3,0,3,3,3,3,3"; extern string ExtMaxBar = "5000,1000,350,350,350,350,350,350,350,350"; extern string GrossPeriod = "1,5,15,30,60,240,1440,10080,43200"; extern string zzVisible = "1,1,1,1,1,1,1,1,1"; extern string zzColor = "Tan,RoyalBlue,Brown,Blue,Red,GreenYellow,Magenta,IndianRed,MediumGreen"; extern string extColor = "Indigo,Olive,Teal"; extern bool fibofan = FALSE; extern string fanVisible = "1,1,1,1,1,1,1,1,1"; extern string fanStyle = "2,2,2,2,2,2,2,2,2"; extern string fanWidth = "0,0,0,0,0,0,0,0,0"; extern string FiboFreeFan = "0.382,0.618,0.786"; extern bool fiboChannel = TRUE; extern string ChannelVisible = "1,1,1,1,1,1,1,1,1"; extern string ChannelWidth = "2,2,2,2,2,2,2,2,2"; extern string ChannelStyleLevel = "2,2,2,2,2,2,2,2,2"; extern string ChannelWidthLevel = "0,0,0,0,0,0,0,0,0"; extern string FiboFreeChannel = "-2,-1.1,-0.9,-0.1,0.1,1"; extern bool ExtProcedureOfPayments = FALSE; extern int showZigZag = 1; extern int ExtReCalculate = 3; extern int ExtComplect = 0; int gia_236[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_240[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_244[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_248[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_252[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_256[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_260[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_264[] = {0, 0, 0}; int gia_268[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_272[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_276[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_280[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_284[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_288[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_292[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_296[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; double g_ibuf_300[]; double g_ibuf_304[]; double g_ibuf_308[]; double g_ibuf_312[]; double g_ibuf_316[]; double g_ibuf_320[]; double g_ibuf_324[]; double g_ibuf_328[]; double gda_332[]; double gda_336[]; double gda_340[]; double gda_344[]; double gda_348[]; double gda_352[]; double gda_356[]; double gda_360[]; double gda_364[]; double gda_368[]; double gda_372[]; double gda_376[]; double gda_380[]; double gda_384[]; double gda_388[]; double gda_392[]; double gda_396[]; double gda_400[]; bool gba_404[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; bool gba_408[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_412[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_416[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; double gda_420[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; double gda_424[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_428[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int gia_432[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int g_bars_436; int gia_440[9][3]; int gi_444; double gda_448[9][4]; int gia_452[9][4]; int gia_456[9][4]; int gi_460; int gi_464; int init() { int li_4; int li_12; string ls_24 = ""; SetIndexBuffer(0, g_ibuf_300); SetIndexBuffer(1, g_ibuf_304); SetIndexBuffer(2, g_ibuf_308); SetIndexBuffer(3, g_ibuf_312); SetIndexBuffer(4, g_ibuf_316); SetIndexBuffer(5, g_ibuf_320); SetIndexBuffer(6, g_ibuf_324); SetIndexBuffer(7, g_ibuf_328); SetIndexEmptyValue(0, 0.0); SetIndexEmptyValue(1, 0.0); SetIndexEmptyValue(2, 0.0); SetIndexEmptyValue(3, 0.0); SetIndexEmptyValue(4, 0.0); SetIndexEmptyValue(5, 0.0); SetIndexEmptyValue(6, 0.0); SetIndexEmptyValue(7, 0.0); _stringtointarray(ExtDepth, gia_236, 9); _stringtointarray(ExtDeviation, gia_240, 9); _stringtointarray(ExtBackstep, gia_244, 9); _stringtointarray(ExtMaxBar, gia_248, 9); _stringtointarray(GrossPeriod, gia_252, 9); _stringtointarray(zzVisible, gia_256, 9); _stringtocolorarray(zzColor, gia_260, 9); _stringtocolorarray(extColor, gia_264, 3); _stringtointarray(fanVisible, gia_272, 9); _stringtointarray(fanStyle, gia_276, 9); _stringtointarray(fanWidth, gia_280, 9); _stringtointarray(ChannelVisible, gia_284, 9); _stringtointarray(ChannelWidth, gia_292, 9); _stringtointarray(ChannelStyleLevel, gia_288, 9); _stringtointarray(ChannelWidthLevel, gia_296, 9); gi_460 = quantityFibo(FiboFreeFan); gi_464 = quantityFibo(FiboFreeChannel); for (int l_index_0 = 0; l_index_0 < 9; l_index_0++) { gba_404[l_index_0] = 0; gba_408[l_index_0] = 0; li_4 = gia_252[l_index_0]; gia_252[l_index_0] = _period(l_index_0, li_4); if (gia_236[l_index_0] <= 0) gia_256[l_index_0] = 0; if (gia_256[l_index_0] > 0) { li_12 = gia_244[l_index_0] + gia_236[l_index_0]; if (gia_248[l_index_0] > iBars(NULL, gia_252[l_index_0]) - li_12 || gia_248[l_index_0] == 0) gi_444 = iBars(NULL, gia_252[l_index_0]) - li_12; else gi_444 = gia_248[l_index_0]; if (l_index_0 == 0) arr_resize(gda_332, gda_336, gi_444 + li_12, l_index_0); else { if (l_index_0 == 1) arr_resize(gda_340, gda_344, gi_444 + li_12, l_index_0); else { if (l_index_0 == 2) arr_resize(gda_348, gda_352, gi_444 + li_12, l_index_0); else { if (l_index_0 == 3) arr_resize(gda_356, gda_360, gi_444 + li_12, l_index_0); else { if (l_index_0 == 4) arr_resize(gda_364, gda_368, gi_444 + li_12, l_index_0); else { if (l_index_0 == 5) arr_resize(gda_372, gda_376, gi_444 + li_12, l_index_0); else { if (l_index_0 == 6) arr_resize(gda_380, gda_384, gi_444 + li_12, l_index_0); else { if (l_index_0 == 7) arr_resize(gda_388, gda_392, gi_444 + li_12, l_index_0); else if (l_index_0 == 8) arr_resize(gda_396, gda_400, gi_444 + li_12, l_index_0); } } } } } } } } gia_440[l_index_0][0] = gia_252[l_index_0]; gia_440[l_index_0][1] = l_index_0; } ArraySort(gia_440, WHOLE_ARRAY, 0, MODE_ASCEND); if (showZigZag < 0) showZigZag = 0; if (showZigZag > 2) showZigZag = 2; li_4 = 1; int l_index_8 = 0; int li_20 = -1; for (int l_index_16 = 0; l_index_16 < 9; l_index_16++) { l_index_0 = gia_440[l_index_16][1]; if (gia_256[l_index_0] == 0 || li_4 > 4) gia_440[l_index_16][2] = 0; else { if (gia_252[l_index_0] == 0 || gia_252[l_index_0] > Period()) { if (gia_252[l_index_0] == li_20) { gia_260[l_index_0] = gia_264[l_index_8]; l_index_8++; } li_20 = gia_252[l_index_0]; if (li_4 == 1) { if (showZigZag == 0) { SetIndexStyle(0, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(1, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); } else { SetIndexStyle(0, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(1, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); if (showZigZag == 1) { SetIndexArrow(0, 116); SetIndexArrow(1, 116); } else { SetIndexArrow(0, 159); SetIndexArrow(1, 159); } } } else { if (li_4 == 2) { if (showZigZag == 0) { SetIndexStyle(2, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(3, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); } else { SetIndexStyle(2, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(3, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); if (showZigZag == 1) { SetIndexArrow(2, 116); SetIndexArrow(3, 116); } else { SetIndexArrow(2, 159); SetIndexArrow(3, 159); } } } else { if (li_4 == 3) { if (showZigZag == 0) { SetIndexStyle(4, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(5, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); } else { SetIndexStyle(4, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(5, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); if (showZigZag == 1) { SetIndexArrow(4, 116); SetIndexArrow(5, 116); } else { SetIndexArrow(4, 159); SetIndexArrow(5, 159); } } } else { if (li_4 == 4) { if (showZigZag == 0) { SetIndexStyle(6, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(7, DRAW_ZIGZAG, EMPTY, 0, gia_260[l_index_0]); } else { SetIndexStyle(6, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); SetIndexStyle(7, DRAW_ARROW, EMPTY, 0, gia_260[l_index_0]); if (showZigZag == 1) { SetIndexArrow(6, 116); SetIndexArrow(7, 116); } else { SetIndexArrow(6, 159); SetIndexArrow(7, 159); } } } } } } gia_440[l_index_16][2] = li_4; li_4++; } } } if (ExtProcedureOfPayments) ArraySort(gia_440, WHOLE_ARRAY, 0, MODE_ASCEND); else ArraySort(gia_440, WHOLE_ARRAY, 0, MODE_DESCEND); for (l_index_16 = 0; l_index_16 < 9; l_index_16++) { if (gia_252[gia_440[l_index_16][1]] == 0) ls_24 = "" + Period(); else ls_24 = "" + gia_252[gia_440[l_index_16][1]]; if (gia_440[l_index_16][2] == 1) { SetIndexLabel(0, "Low1_" + ls_24); SetIndexLabel(1, "High1_" + ls_24); } else { if (gia_440[l_index_16][2] == 2) { SetIndexLabel(2, "Low2_" + ls_24); SetIndexLabel(3, "High2_" + ls_24); } else { if (gia_440[l_index_16][2] == 3) { SetIndexLabel(4, "Low3_" + ls_24); SetIndexLabel(5, "High3_" + ls_24); } else { if (gia_440[l_index_16][2] == 4) { SetIndexLabel(6, "Low4_" + ls_24); SetIndexLabel(7, "High4_" + ls_24); } } } } } ArrayInitialize(gda_448, 0); ArrayInitialize(gia_452, 0); ArrayInitialize(gia_456, 0); g_bars_436 = 0; return (0); } int deinit() { _delete_fibo(); return (0); } int start() { int li_0; int li_4; bool li_12; if (Bars - g_bars_436 > 1) { for (int l_index_8 = 0; l_index_8 < 9; l_index_8++) { if (gia_440[l_index_8][2] > 0) { li_0 = gia_440[l_index_8][1]; gia_432[li_0] = 0; gia_268[li_0] = 0; } } } g_bars_436 = Bars; for (l_index_8 = 0; l_index_8 < 9; l_index_8++) { li_0 = gia_440[l_index_8][1]; if (gia_256[li_0] != 0) { if (iBars(NULL, gia_252[li_0]) - gia_268[li_0] > 1) gia_432[li_0] = 0; gia_268[li_0] = iBars(NULL, gia_252[li_0]); li_4 = gia_244[li_0] + gia_236[li_0]; if (gia_268[li_0] - 1 < li_4 || li_4 <= 0) continue; li_12 = FALSE; gi_444 = iBars(NULL, gia_252[li_0]) - gia_432[li_0] + 1; if (gi_444 > 2) { li_12 = TRUE; gba_404[li_0] = 0; gba_408[li_0] = 0; if (gia_248[li_0] > iBars(NULL, gia_252[li_0]) - li_4 || gia_248[li_0] == 0) gi_444 = iBars(NULL, gia_252[li_0]) - li_4; else gi_444 = gia_248[li_0]; if (li_0 == 0) arr_resize(gda_332, gda_336, gi_444 + li_4, li_0); else { if (li_0 == 1) arr_resize(gda_340, gda_344, gi_444 + li_4, li_0); else { if (li_0 == 2) arr_resize(gda_348, gda_352, gi_444 + li_4, li_0); else { if (li_0 == 3) arr_resize(gda_356, gda_360, gi_444 + li_4, li_0); else { if (li_0 == 4) arr_resize(gda_364, gda_368, gi_444 + li_4, li_0); else { if (li_0 == 5) arr_resize(gda_372, gda_376, gi_444 + li_4, li_0); else { if (li_0 == 6) arr_resize(gda_380, gda_384, gi_444 + li_4, li_0); else { if (li_0 == 7) arr_resize(gda_388, gda_392, gi_444 + li_4, li_0); else if (li_0 == 8) arr_resize(gda_396, gda_400, gi_444 + li_4, li_0); } } } } } } } if (gia_440[l_index_8][2] == 1) { ArrayInitialize(g_ibuf_300, 0); ArrayInitialize(g_ibuf_304, 0); } else { if (gia_440[l_index_8][2] == 2) { ArrayInitialize(g_ibuf_308, 0); ArrayInitialize(g_ibuf_312, 0); } else { if (gia_440[l_index_8][2] == 3) { ArrayInitialize(g_ibuf_316, 0); ArrayInitialize(g_ibuf_320, 0); } else { if (gia_440[l_index_8][2] == 4) { ArrayInitialize(g_ibuf_324, 0); ArrayInitialize(g_ibuf_328, 0); } } } } } else if (gda_420[li_0] > iLow(NULL, gia_252[li_0], 0) || gda_424[li_0] < iHigh(NULL, gia_252[li_0], 0) || gia_428[li_0] != iTime(NULL, gia_252[li_0], 0)) li_12 = TRUE; if (li_12) { if (li_0 == 0) _Gross(gda_332, gda_336, gi_444, l_index_8); else { if (li_0 == 1) _Gross(gda_340, gda_344, gi_444, l_index_8); else { if (li_0 == 2) _Gross(gda_348, gda_352, gi_444, l_index_8); else { if (li_0 == 3) _Gross(gda_356, gda_360, gi_444, l_index_8); else { if (li_0 == 4) _Gross(gda_364, gda_368, gi_444, l_index_8); else { if (li_0 == 5) _Gross(gda_372, gda_376, gi_444, l_index_8); else { if (li_0 == 6) _Gross(gda_380, gda_384, gi_444, l_index_8); else { if (li_0 == 7) _Gross(gda_388, gda_392, gi_444, l_index_8); else if (li_0 == 8) _Gross(gda_396, gda_400, gi_444, l_index_8); } } } } } } } } } } return (0); } int _Gross(double ada_0[], double ada_4[], int ai_8, int ai_12) { int li_16 = gia_440[ai_12][1]; if (gia_252[li_16] == 0) { if (gia_440[ai_12][2] == 1) ZigZag_(g_ibuf_300, g_ibuf_304, li_16); else { if (gia_440[ai_12][2] == 2) ZigZag_(g_ibuf_308, g_ibuf_312, li_16); else { if (gia_440[ai_12][2] == 3) ZigZag_(g_ibuf_316, g_ibuf_320, li_16); else { if (gia_440[ai_12][2] == 4) ZigZag_(g_ibuf_324, g_ibuf_328, li_16); else { if (ai_8 == 2) Shift_elements(ada_0, ada_4); ZigZag_(ada_0, ada_4, li_16); } } } } } else { if (ai_8 == 2) Shift_elements(ada_0, ada_4); if (ZigZag_(ada_0, ada_4, li_16) == 0) { if (gia_440[ai_12][2] == 1) ZigZagDT(g_ibuf_300, g_ibuf_304, ada_0, ada_4, li_16); else { if (gia_440[ai_12][2] == 2) ZigZagDT(g_ibuf_308, g_ibuf_312, ada_0, ada_4, li_16); else { if (gia_440[ai_12][2] == 3) ZigZagDT(g_ibuf_316, g_ibuf_320, ada_0, ada_4, li_16); else if (gia_440[ai_12][2] == 4) ZigZagDT(g_ibuf_324, g_ibuf_328, ada_0, ada_4, li_16); } } } } return (0); } int ZigZag_(double &ada_0[], double &ada_4[], int ai_8) { int l_lowest_12; int l_shift_24; int l_shift_28; int li_32; int li_40; int li_52; int li_56; double ld_76; double ld_84; double ld_92; double ld_100; double ld_108; double ld_124; double ld_132; double l_str2dbl_140; string l_name_152; string ls_160; string ls_168; string ls_176; int li_44 = 0; int li_68 = -1; int li_72 = -1; double ld_116 = gia_240[ai_8] * Point; bool li_148 = FALSE; if (gba_408[ai_8]) { l_shift_24 = iBarShift(NULL, gia_252[ai_8], gia_412[ai_8], TRUE); l_shift_28 = iBarShift(NULL, gia_252[ai_8], gia_416[ai_8], TRUE); if (l_shift_24 < 0 || l_shift_28 < 0) { gia_432[ai_8] = 0; return (-1); } if (gia_412[ai_8] <= gia_416[ai_8]) gi_444 = l_shift_24; else gi_444 = l_shift_28; li_32 = gi_444 - 1; ld_100 = iLow(NULL, gia_252[ai_8], l_shift_24); ld_92 = iHigh(NULL, gia_252[ai_8], l_shift_28); } else { gba_408[ai_8] = 1; l_shift_24 = gi_444; l_shift_28 = gi_444; li_32 = gi_444; } for (int li_60 = li_32; li_60 >= 0; li_60--) { if (li_60 < l_shift_24) { l_lowest_12 = iLowest(NULL, gia_252[ai_8], MODE_LOW, gia_236[ai_8], li_60); ld_108 = iLow(NULL, gia_252[ai_8], l_lowest_12); if (ld_108 == ld_100) ld_108 = 0.0; else { ld_100 = ld_108; if (iLow(NULL, gia_252[ai_8], li_60) - ld_108 > ld_116) ld_108 = 0.0; else { for (int li_64 = 1; li_64 <= gia_244[ai_8]; li_64++) if (ld_108 < ada_0[l_lowest_12 + li_64]) ada_0[l_lowest_12 + li_64] = 0.0; } } if (l_lowest_12 == li_60) ada_0[l_lowest_12] = ld_108; } if (li_60 < l_shift_28) { l_lowest_12 = iHighest(NULL, gia_252[ai_8], MODE_HIGH, gia_236[ai_8], li_60); ld_108 = iHigh(NULL, gia_252[ai_8], l_lowest_12); if (ld_108 == ld_92) ld_108 = 0.0; else { ld_92 = ld_108; if (ld_108 - iHigh(NULL, gia_252[ai_8], li_60) > ld_116) ld_108 = 0.0; else { for (li_64 = 1; li_64 <= gia_244[ai_8]; li_64++) if (ld_108 > ada_4[l_lowest_12 + li_64]) ada_4[l_lowest_12 + li_64] = 0.0; } } if (l_lowest_12 == li_60) ada_4[l_lowest_12] = ld_108; } } ld_92 = -1; ld_100 = -1; for (li_60 = gi_444; li_60 >= 0; li_60--) { ld_76 = ada_0[li_60]; ld_84 = ada_4[li_60]; if (ld_76 == 0.0 && ld_84 == 0.0) continue; if (ld_84 != 0.0) { if (ld_92 > 0.0) { if (ld_92 < ld_84) ada_4[li_68] = 0; else ada_4[li_60] = 0; } if (ld_92 < ld_84 || ld_92 < 0.0) { ld_92 = ld_84; li_68 = li_60; } ld_100 = -1; } if (ld_76 != 0.0) { if (ld_100 > 0.0) { if (ld_100 > ld_76) ada_0[li_72] = 0; else ada_0[li_60] = 0; } if (ld_76 < ld_100 || ld_100 < 0.0) { ld_100 = ld_76; li_72 = li_60; } ld_92 = -1; } } gia_432[ai_8] = iBars(NULL, gia_252[ai_8]); gda_420[ai_8] = iLow(NULL, gia_252[ai_8], 0); gda_424[ai_8] = iHigh(NULL, gia_252[ai_8], 0); gia_428[ai_8] = iTime(NULL, gia_252[ai_8], 0); int l_count_16 = 0; int l_count_20 = 0; if (fibofan || fiboChannel) li_40 = 0; else li_40 = 4; for (li_60 = 0; li_60 < gia_432[ai_8]; li_60++) { if (li_40 < 4) { if (ada_0[li_60] > 0.0 || ada_4[li_60] > 0.0) { if (li_44 == 0) { if (li_40 == 0) { gia_452[ai_8][0] = iTime(NULL, gia_252[ai_8], li_60); if (ada_0[li_60] > 0.0 && ada_4[li_60] > 0.0) { ld_132 = ada_0[li_60]; ld_124 = ada_4[li_60]; if (gia_452[ai_8][1] != gia_452[ai_8][0]) { gia_452[ai_8][1] = gia_452[ai_8][0]; li_148 = TRUE; li_40++; } else li_40 = 4; } else { if (ada_0[li_60] > 0.0) { gda_448[ai_8][0] = ada_0[li_60]; li_44 = -1; } else { if (ada_4[li_60] > 0.0) { gda_448[ai_8][0] = ada_4[li_60]; li_44 = 1; } } } li_40++; } else { gia_452[ai_8][2] = iTime(NULL, gia_252[ai_8], li_60); if (ada_0[li_60] > 0.0) { gda_448[ai_8][0] = ld_132; gda_448[ai_8][1] = ld_124; gda_448[ai_8][2] = ada_0[li_60]; li_44 = -1; } else { if (ada_4[li_60] > 0.0) { gda_448[ai_8][0] = ld_124; gda_448[ai_8][1] = ld_132; gda_448[ai_8][2] = ada_4[li_60]; li_44 = 1; } } li_40++; } } else { if (li_40 == 1) { if (gia_452[ai_8][1] != iTime(NULL, gia_252[ai_8], li_60)) { gia_452[ai_8][1] = iTime(NULL, gia_252[ai_8], li_60); li_148 = TRUE; if (ada_0[li_60] > 0.0 && ada_4[li_60] > 0.0) { gia_452[ai_8][2] = gia_452[ai_8][1]; if (li_44 == -1) { gda_448[ai_8][1] = ada_4[li_60]; gda_448[ai_8][2] = ada_0[li_60]; } else { gda_448[ai_8][1] = ada_0[li_60]; gda_448[ai_8][2] = ada_4[li_60]; } li_40++; } else { if (ada_0[li_60] > 0.0) { gda_448[ai_8][1] = ada_0[li_60]; li_44 = -1; } else { if (ada_4[li_60] > 0.0) { gda_448[ai_8][1] = ada_4[li_60]; li_44 = 1; } } } li_40++; } else li_40 = 4; } else { if (li_40 == 2) { gia_452[ai_8][2] = iTime(NULL, gia_252[ai_8], li_60); if (ada_0[li_60] > 0.0 && ada_4[li_60] > 0.0) { gia_452[ai_8][3] = gia_452[ai_8][2]; if (li_44 == -1) { gda_448[ai_8][2] = ada_4[li_60]; gda_448[ai_8][3] = ada_0[li_60]; } else { gda_448[ai_8][2] = ada_0[li_60]; gda_448[ai_8][3] = ada_4[li_60]; } li_40++; } else { if (ada_0[li_60] > 0.0) { gda_448[ai_8][2] = ada_0[li_60]; li_44 = -1; } else { if (ada_4[li_60] > 0.0) { gda_448[ai_8][2] = ada_4[li_60]; li_44 = 1; } } } li_40++; } else { if (li_40 == 3) { gia_452[ai_8][3] = iTime(NULL, gia_252[ai_8], li_60); if (ada_0[li_60] > 0.0 && ada_4[li_60] > 0.0) { if (li_44 == -1) gda_448[ai_8][3] = ada_4[li_60]; else gda_448[ai_8][3] = ada_0[li_60]; } else { if (ada_0[li_60] > 0.0) gda_448[ai_8][3] = ada_0[li_60]; else if (ada_4[li_60] > 0.0) gda_448[ai_8][3] = ada_4[li_60]; } li_40++; } } } } } } if (ada_0[li_60] > 0.0) { if (l_count_16 <= 1) gia_412[ai_8] = iTime(NULL, gia_252[ai_8], li_60); l_count_16++; } if (ada_4[li_60] > 0.0) { if (l_count_20 <= 1) gia_416[ai_8] = iTime(NULL, gia_252[ai_8], li_60); l_count_20++; } if (l_count_16 > 1 && l_count_20 > 1) break; } if (!li_148) return (0); if (fibofan || fiboChannel) { if (gia_252[ai_8] == 0 || gia_252[ai_8] == Period()) { gia_456[ai_8][0] = gia_452[ai_8][0]; gia_456[ai_8][1] = gia_452[ai_8][1]; gia_456[ai_8][2] = gia_452[ai_8][2]; gia_456[ai_8][3] = gia_452[ai_8][3]; } else { if (gda_448[ai_8][0] > gda_448[ai_8][1]) li_44 = 1; else li_44 = -1; ld_124 = gda_448[ai_8][1]; for (li_40 = 0; li_40 < 4; li_40++) { if (gia_452[ai_8][li_40] != 0) { li_60 = iBarShift(NULL, 0, gia_452[ai_8][li_40], FALSE); li_52 = li_60; li_56 = gia_452[ai_8][li_40] + 60 * gia_252[ai_8]; if (li_56 > Time[Bars - 1]) { for (int li_48 = li_60; iTime(NULL, 0, li_48) < li_56 && li_48 >= 0; li_48--) { if (li_44 < 0) { ld_132 = iLow(NULL, 0, li_48); if (ld_124 > ld_132) { ld_124 = ld_132; li_52 = li_48; } } else { ld_132 = iHigh(NULL, 0, li_48); if (ld_124 < ld_132) { ld_124 = ld_132; li_52 = li_48; } } } gia_456[ai_8][li_40] = iTime(NULL, 0, li_52); } if (li_44 > 0) { li_44 = -1; ld_124 = 1000000; } else { li_44 = 1; ld_124 = 0; } if (!fiboChannel && li_40 == 2) li_40 = 4; } } } } if (fibofan && gia_456[ai_8][2] > 0 && gia_456[ai_8][1] && gia_272[ai_8] == 1) { if (gia_252[ai_8] == 0) ls_176 = _getTF(Period()); else ls_176 = _getTF(gia_252[ai_8]); l_name_152 = "f_" + ExtComplect + "_" + ai_8 + " fibo fan " + ls_176; ObjectDelete(l_name_152); ObjectCreate(l_name_152, OBJ_FIBOFAN, 0, gia_456[ai_8][2], gda_448[ai_8][2], gia_456[ai_8][1], gda_448[ai_8][1]); ObjectSet(l_name_152, OBJPROP_COLOR, CLR_NONE); ObjectSet(l_name_152, OBJPROP_LEVELCOLOR, gia_260[ai_8]); ObjectSet(l_name_152, OBJPROP_LEVELSTYLE, gia_276[ai_8]); ObjectSet(l_name_152, OBJPROP_LEVELWIDTH, gia_280[ai_8]); ObjectSet(l_name_152, OBJPROP_FIBOLEVELS, gi_460); ls_160 = FiboFreeFan; for (li_48 = 0; li_48 <= gi_460; li_48++) { li_40 = StringFind(ls_160, ",", 0); ls_168 = StringTrimLeft(StringTrimRight(StringSubstr(ls_160, 0, li_40))); l_str2dbl_140 = StrToDouble(ls_168); if (l_str2dbl_140 < 1.0) ls_168 = StringSubstr(ls_168, 1); ObjectSet(l_name_152, li_48 + 210, l_str2dbl_140); ObjectSetFiboDescription(l_name_152, li_48, ls_168); if (li_40 >= 0) ls_160 = StringSubstr(ls_160, li_40 + 1); } } if (fiboChannel && gia_456[ai_8][3] > 0 && gia_456[ai_8][2] > 0 && gia_456[ai_8][1] && gia_284[ai_8] == 1) { if (gia_252[ai_8] == 0) ls_176 = _getTF(Period()); else ls_176 = _getTF(gia_252[ai_8]); l_name_152 = "f_" + ExtComplect + "_" + ai_8 + " channel " + ls_176; ObjectDelete(l_name_152); ObjectCreate(l_name_152, OBJ_FIBOCHANNEL, 0, gia_456[ai_8][3], gda_448[ai_8][3], gia_456[ai_8][1], gda_448[ai_8][1], gia_456[ai_8][2], gda_448[ai_8][2]); if (gia_292[ai_8] > 0) { ObjectSet(l_name_152, OBJPROP_WIDTH, gia_292[ai_8]); ObjectSet(l_name_152, OBJPROP_COLOR, gia_260[ai_8]); } else ObjectSet(l_name_152, OBJPROP_COLOR, CLR_NONE); ObjectSet(l_name_152, OBJPROP_LEVELCOLOR, gia_260[ai_8]); ObjectSet(l_name_152, OBJPROP_LEVELSTYLE, gia_288[ai_8]); ObjectSet(l_name_152, OBJPROP_LEVELWIDTH, gia_296[ai_8]); ObjectSet(l_name_152, OBJPROP_FIBOLEVELS, gi_464); ls_160 = FiboFreeChannel; for (li_48 = 0; li_48 <= gi_464; li_48++) { li_40 = StringFind(ls_160, ",", 0); ls_168 = StringTrimLeft(StringTrimRight(StringSubstr(ls_160, 0, li_40))); l_str2dbl_140 = StrToDouble(ls_168); ObjectSet(l_name_152, li_48 + 210, l_str2dbl_140); if (li_40 >= 0) ls_160 = StringSubstr(ls_160, li_40 + 1); } } return (0); } int ZigZagDT(double &ada_0[], double &ada_4[], double ada_8[], double ada_12[], int ai_16) { int li_28; int li_32; int li_40; int l_datetime_64; int li_68; int li_20 = 0; int l_count_36 = 0; double l_low_48 = -1; double l_high_56 = -1; int li_72 = 60 * gia_252[ai_16] - 1; bool li_76 = FALSE; if (gba_404[ai_16]) { li_40 = ExtReCalculate + 1; l_datetime_64 = iTime(NULL, gia_252[ai_16], li_20); for (int l_index_24 = 0; l_count_36 < li_40 && l_index_24 < Bars; l_index_24++) { if (Period() == PERIOD_W1) { if (l_low_48 < 0.0 && l_high_56 < 0.0) li_76 = Time[l_index_24] < l_datetime_64; else li_76 = Time[l_index_24] + li_72 < l_datetime_64; } else li_76 = Time[l_index_24] < l_datetime_64; if (li_76) { li_20++; if (showZigZag == 2) li_68 = l_datetime_64 + 60 * gia_252[ai_16]; l_datetime_64 = iTime(NULL, gia_252[ai_16], li_20); } ada_0[l_index_24] = 0; ada_4[l_index_24] = 0; if (ada_8[li_20] > 0.0) { if (l_low_48 >= Low[l_index_24] || l_low_48 < 0.0) { l_low_48 = Low[l_index_24]; li_28 = l_index_24; } } else { if (l_low_48 > 0.0) { if (showZigZag == 2) { for (int li_44 = l_index_24 - 1; Time[li_44] < li_68; li_44--) { if (li_44 < 0) break; ada_0[li_44] = l_low_48; } } ada_0[li_28] = l_low_48; l_low_48 = -1; l_count_36++; } } if (ada_12[li_20] > 0.0) { if (l_high_56 <= High[l_index_24]) { l_high_56 = High[l_index_24]; li_32 = l_index_24; } } else { if (l_high_56 > 0.0) { if (showZigZag == 2) { for (li_44 = l_index_24 - 1; Time[li_44] < li_68; li_44--) { if (li_44 < 0) break; ada_4[li_44] = l_high_56; } } ada_4[li_32] = l_high_56; l_high_56 = -1; l_count_36++; } } } } else { if (gi_444 <= gia_236[ai_16] + gia_244[ai_16]) { gia_432[ai_16] = 0; return (-1); } li_40 = iBarShift(NULL, Period(), iTime(NULL, gia_252[ai_16], gi_444), FALSE); if (li_40 <= 0) { gia_432[ai_16] = 0; return (-1); } gba_404[ai_16] = 1; l_datetime_64 = iTime(NULL, gia_252[ai_16], li_20); for (l_index_24 = 0; l_index_24 < li_40; l_index_24++) { if (Period() == PERIOD_W1) { if (l_low_48 < 0.0 && l_high_56 < 0.0) li_76 = Time[l_index_24] < l_datetime_64; else li_76 = Time[l_index_24] + li_72 < l_datetime_64; } else li_76 = Time[l_index_24] < l_datetime_64; if (li_76) { li_20++; if (showZigZag == 2) li_68 = l_datetime_64 + 60 * gia_252[ai_16]; l_datetime_64 = iTime(NULL, gia_252[ai_16], li_20); } if (ada_8[li_20] > 0.0) { if (l_low_48 >= Low[l_index_24] || l_low_48 < 0.0) { l_low_48 = Low[l_index_24]; li_28 = l_index_24; } } else { if (l_low_48 > 0.0) { if (showZigZag == 2) { for (li_44 = l_index_24 - 1; Time[li_44] < li_68; li_44--) { if (li_44 < 0) break; ada_0[li_44] = l_low_48; } } ada_0[li_28] = l_low_48; l_low_48 = -1; } } if (ada_12[li_20] > 0.0) { if (l_high_56 <= High[l_index_24]) { l_high_56 = High[l_index_24]; li_32 = l_index_24; } } else { if (l_high_56 > 0.0) { if (showZigZag == 2) { for (li_44 = l_index_24 - 1; Time[li_44] < li_68; li_44--) { if (li_44 < 0) break; ada_4[li_44] = l_high_56; } } ada_4[li_32] = l_high_56; l_high_56 = -1; } } } } return (0); } int _period(int ai_0, int ai_4) { if (ai_4 < Period() && ai_4 > 0) gia_236[ai_0] = 0; if (ai_4 == Period()) return (0); return (ai_4); } void Shift_elements(double &ada_0[], double &ada_4[]) { int li_12 = ArraySize(ada_0) - 1; for (int li_8 = li_12; li_8 > 0; li_8--) { ada_0[li_8] = ada_0[li_8 - 1]; ada_4[li_8] = ada_4[li_8 - 1]; } ada_0[0] = 0; ada_4[0] = 0; } void arr_resize(double ada_0[], double ada_4[], int ai_8, int ai_12) { if (gia_252[ai_12] > 0) { ArrayResize(ada_0, ai_8); ArrayResize(ada_4, ai_8); ArrayInitialize(ada_0, 0); ArrayInitialize(ada_4, 0); } } void _stringtointarray(string as_0, int &aia_8[], int ai_12) { int li_20; int li_24 = 0; for (int l_index_16 = 0; l_index_16 < ai_12; l_index_16++) { li_20 = StringFind(as_0, ",", li_24); if (li_20 < 0) { aia_8[l_index_16] = StrToInteger(StringSubstr(as_0, li_24)); return; } aia_8[l_index_16] = StrToInteger(StringSubstr(as_0, li_24, li_20 - li_24)); li_24 = li_20 + 1; } } void _stringtocolorarray(string as_0, int &aia_8[], int ai_12) { int li_20; int li_24 = 0; for (int l_index_16 = 0; l_index_16 < ai_12; l_index_16++) { li_20 = StringFind(as_0, ",", li_24); if (li_20 < 0) { aia_8[l_index_16] = fStrToColor(StringSubstr(as_0, li_24)); return; } aia_8[l_index_16] = fStrToColor(StringSubstr(as_0, li_24, li_20 - li_24)); li_24 = li_20 + 1; } } int fStrToColor(string as_0) { int lia_8[] = {0, 25600, 5197615, 32896, 32768, 8421376, 8388608, 8388736, 128, 8519755, 7346457, 9109504, 3107669, 1262987, 2263842, 2330219, 5737262, 755384, 9125192, 2970272, 13434880, 2763429, 13749760, 6908265, 11186720, 13828244, 2237106, 8721863, 7451452, 1993170, 3937500, 11829830, 2139610, 10156544, 64636, 10526303, 13382297, 3329434, 3329330, 17919, 36095, 42495, 55295, 65535, 65407, 65280, 8388352, 16776960, 16760576, 16711680, 16711935, 255, 8421504, 9470064, 4163021, 14822282, 10061943, 9639167, 13422920, 16748574, 13688896, 14772545, 13458026, 7059389, 6053069, 13850042, 3145645, 11193702, 9419919, 4678655, 9408444, 14053594, 14381203, 9662683, 5275647, 15570276, 11119017, 6333684, 15624315, 9221330, 8034025, 8894686, 11823615, 7504122, 15631086, 8421616, 15453831, 8036607, 14524637, 9234160, 9498256, 13959039, 12632256, 16436871, 14599344, 15128749, 10025880, 14204888, 15130800, 11200750, 15658671, 13882323, 11788021, 11394815, 11920639, 12695295, 14474460, 12180223, 13353215, 12903679, 13826810, 13495295, 13499135, 14480885, 14150650, 14020607, 14481663, 14745599, 16777184, 15134970, 16443110, 14804223, 15136253, 16119285, 15660543, 15794175, 15794160, 16775408, 16118015, 16449525, 16448255, 16777215}; string lsa_12[] = {"Black", "DarkGreen", "DarkSlateGray", "Olive", "Green", "Teal", "Navy", "Purple", "Maroon", "Indigo", "MidnightBlue", "DarkBlue", "DarkOliveGreen", "SaddleBrown", "ForestGreen", "OliveDrab", "SeaGreen", "DarkGoldenrod", "DarkSlateBlue", "Sienna", "MediumBlue", "Brown", "DarkTurquoise", "DimGray", "LightSeaGreen", "DarkViolet", "FireBrick", "MediumVioletRed", "MediumSeaGreen", "Chocolate", "Crimson", "SteelBlue", "Goldenrod", "MediumSpringGreen", "LawnGreen", "CadetBlue", "DarkOrchid", "YellowGreen", "LimeGreen", "OrangeRed", "DarkOrange", "Orange", "Gold", "Yellow", "Chartreuse", "Lime", "SpringGreen", "Aqua", "DeepSkyBlue", "Blue", "Magenta", "Red", "Gray", "SlateGray", "Peru", "BlueViolet", "LightSlateGray", "DeepPink", "MediumTurquoise", "DodgerBlue", "Turquoise", "RoyalBlue", "SlateBlue", "DarkKhaki", "IndianRed", "MediumOrchid", "GreenYellow", "MediumAquamarine", "DarkSeaGreen", "Tomato", "RosyBrown", "Orchid", "MediumPurple", "PaleVioletRed", "Coral", "CornflowerBlue", "DarkGray", "SandyBrown", "MediumSlateBlue", "Tan", "DarkSalmon", "BurlyWood", "HotPink", "Salmon", "Violet", "LightCoral", "SkyBlue", "LightSalmon", "Plum", "Khaki", "LightGreen", "Aquamarine", "Silver", "LightSkyBlue", "LightSteelBlue", "LightBlue", "PaleGreen", "Thistle", "PowderBlue", "PaleGoldenrod", "PaleTurquoise", "LightGray", "Wheat", "NavajoWhite", "Moccasin", "LightPink", "Gainsboro", "PeachPuff", "Pink", "Bisque", "LightGoldenrod", "BlanchedAlmond", "LemonChiffon", "Beige", "AntiqueWhite", "PapayaWhip", "Cornsilk", "LightYellow", "LightCyan", "Linen", "Lavender", "MistyRose", "OldLace", "WhiteSmoke", "Seashell", "Ivory", "Honeydew", "AliceBlue", "LavenderBlush", "MintCream", "Snow", "White"}; as_0 = StringTrimLeft(StringTrimRight(as_0)); for (int l_index_16 = 0; l_index_16 < ArraySize(lsa_12); l_index_16++) if (as_0 == lsa_12[l_index_16]) return (lia_8[l_index_16]); return (255); } void _delete_fibo() { string l_name_4; for (int l_objs_total_0 = ObjectsTotal(); l_objs_total_0 >= 0; l_objs_total_0--) { l_name_4 = ObjectName(l_objs_total_0); if (StringFind(l_name_4, "f_" + ExtComplect + "_") > -1) ObjectDelete(l_name_4); } } int quantityFibo(string as_0) { int li_12; int li_16; int l_count_8 = 0; while (true) { li_16 = StringFind(as_0, ",", li_12 + 1); if (li_16 <= 0) break; l_count_8++; li_12 = li_16; } return (l_count_8 + 1); } string _getTF(int ai_0) { switch (ai_0) { case 1: return ("m1"); case 5: return ("m5"); case 15: return ("m15"); case 30: return ("m30"); case 60: return ("h1"); case 240: return ("h4"); case 1440: return ("d1"); case 10080: return ("w1"); case 43200: return ("mn"); } return ("" + ai_0); }