//+------------------------------------------------------------------+ //| Converted by: MqlConvert.com | //| Site of CyberFX.org | //+------------------------------------------------------------------+ /* Generated by EX4-TO-MQ4 decompiler V4.0.224.1 [] Website: http://purebeam.biz E-mail : purebeam@gmail.com */ #property copyright "Under The GNU General Public License" #property link "www.gnu.org" #property indicator_separate_window #property indicator_minimum -300.0 #property indicator_maximum 300.0 #property indicator_levelcolor C'0x73,0x9D,0x7B' #property indicator_buffers 8 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_color3 Gray #property indicator_color4 Gold #property indicator_color5 Black #property indicator_color6 YellowGreen #property indicator_color7 Lime #property indicator_color8 Red #property indicator_width1 2 #property indicator_level1 300.0 #property indicator_width2 2 #property indicator_level2 200.0 #property indicator_width3 2 #property indicator_level3 100.0 #property indicator_width4 2 #property indicator_level4 -100.0 #property indicator_width5 3 #property indicator_level5 -200.0 #property indicator_width6 1 #property indicator_level6 -300.0 input int TrendCCI_Period = 14; input int EntryCCI_Period = 6; input int LSMAPeriod = 25; input int Trend_period = 5; input color Panel_TextColor_Normal = Black; input color Background_Panel_Color = C'0x73,0x9D,0x7B'; input int Tickvalue_Alarm = 10; input int Horizontal_Offset = 10; input int Vertical_Offset = 0; input bool SoundAlert = FALSE; input int SoundAlertSecondsLeft = 35; input string SoundFile = "alert2.wav"; input int CountBars = 1000; input int CCISize = 3; input int TCCISize = 1; input int TrendSize = 2; input int NoTrendSize = 2; input int LineSize3 = 1; double g_ibuf_152[]; double g_ibuf_156[]; double g_ibuf_160[]; double g_ibuf_164[]; double g_ibuf_168[]; double g_ibuf_172[]; double gda_176[]; double g_ibuf_180[]; double g_ibuf_184[]; int g_period_188 = 34; int gi_192 = 0; double gda_196[]; double gda_200[]; int g_count_204; int g_count_208; int g_digits_212; double g_ticksize_216; double gd_224 = 0.0; double gd_232 = 0.0; double gd_240 = 0.0; double gd_unused_248 = 0.0; double gd_256 = 0.0; double gd_264 = 0.0; double gd_unused_272 = 0.0; double gd_unused_280 = 0.0; double gd_unused_288 = 0.0; double gd_296 = 0.0; double gd_304 = 0.0; double gd_312; double gd_320; double gd_328; double gd_336; double gd_344; double gd_352; double gd_368; double gd_376; double gd_392; double gd_400; string gs_408; string gs_416; string gs_424; string gs_dummy_432; string gs_440; string gs_448; string gs_dummy_456; string gs_464; string gs_472; double gd_480; double gd_488; double gd_496; double gd_504 = 0.0; double gd_512 = 0.0; double gd_520 = 0.0; double gda_528[2][6]; int gi_unused_532 = 0; int g_bars_536 = 0; int g_bars_540 = 0; int g_bars_544 = 0; int g_bars_548 = 0; int g_bars_552 = 0; int init() { SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, CCISize); SetIndexBuffer(4, g_ibuf_152); SetIndexLabel(4, "TrendCCI"); SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, TrendSize); SetIndexBuffer(0, g_ibuf_160); SetIndexLabel(0, NULL); SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, TrendSize); SetIndexBuffer(1, g_ibuf_164); SetIndexLabel(1, NULL); SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, NoTrendSize); SetIndexBuffer(2, g_ibuf_168); SetIndexLabel(2, NULL); SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, NoTrendSize); SetIndexBuffer(3, g_ibuf_172); SetIndexLabel(3, NULL); SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, TCCISize); SetIndexBuffer(5, g_ibuf_156); SetIndexLabel(5, "EntryCCI"); SetIndexStyle(6, DRAW_ARROW, STYLE_SOLID, LineSize3); SetIndexBuffer(6, g_ibuf_184); SetIndexLabel(6, NULL); SetIndexArrow(6, 167); SetIndexStyle(7, DRAW_ARROW, STYLE_SOLID, LineSize3); SetIndexBuffer(7, g_ibuf_180); SetIndexArrow(7, 167); SetIndexLabel(7, NULL); g_digits_212 = MarketInfo(_Symbol, 12); g_ticksize_216 = MarketInfo(_Symbol, 17); gd_312 = 0; gd_320 = 0; gd_328 = 0; gd_480 = 0; gd_488 = 0; gd_496 = 0; return (0); } int deinit() { return (0); } int start() { double ld_20; double ld_28; double ld_36; double ld_44; int li_56; int li_60; double l_ima_64; double l_iclose_72; double l_iclose_80; double l_ima_88; double l_ima_96; double l_ima_104; double l_ima_112; double ld_120; double ld_128; double l_ihigh_136; double l_ihigh_144; double l_ilow_152; double l_ilow_160; double ld_168; double ld_176; string ls_184; int li_192; double ld_204; double ld_212; double ld_220; double ld_228; int li_16 = IndicatorCounted(); if (li_16 < 0) return (-1); if (li_16 > 0) li_16--; int l_bars_0 = Bars; SetIndexDrawBegin(0, Bars - CountBars); SetIndexDrawBegin(1, Bars - CountBars); SetIndexDrawBegin(2, Bars - CountBars); SetIndexDrawBegin(3, Bars - CountBars); SetIndexDrawBegin(4, Bars - CountBars); SetIndexDrawBegin(5, Bars - CountBars); SetIndexDrawBegin(6, Bars - CountBars); SetIndexDrawBegin(7, Bars - CountBars); int l_period_8 = TrendCCI_Period; int l_period_12 = EntryCCI_Period; for (int l_bars_4 = l_bars_0; l_bars_4 >= 0; l_bars_4--) { g_ibuf_168[l_bars_4] = 0; g_ibuf_164[l_bars_4] = 0; g_ibuf_172[l_bars_4] = 0; g_ibuf_160[l_bars_4] = 0; gda_176[l_bars_4] = 0; g_ibuf_152[l_bars_4] = iCCI(NULL, 0, l_period_8, PRICE_TYPICAL, l_bars_4); g_ibuf_156[l_bars_4] = iCCI(NULL, 0, l_period_12, PRICE_TYPICAL, l_bars_4); if (g_ibuf_152[l_bars_4] > 0.0 && g_ibuf_152[l_bars_4 + 1] < 0.0) if (g_count_208 > Trend_period) g_count_204 = 0; if (g_ibuf_152[l_bars_4] > 0.0) { if (g_count_204 < Trend_period) { g_ibuf_168[l_bars_4] = g_ibuf_152[l_bars_4]; g_count_204++; } if (g_count_204 == Trend_period) { g_ibuf_172[l_bars_4] = g_ibuf_152[l_bars_4]; g_count_204++; } if (g_count_204 > Trend_period) g_ibuf_160[l_bars_4] = g_ibuf_152[l_bars_4]; } if (g_ibuf_152[l_bars_4] < 0.0 && g_ibuf_152[l_bars_4 + 1] > 0.0) if (g_count_204 > Trend_period) g_count_208 = 0; if (g_ibuf_152[l_bars_4] < 0.0) { if (g_count_208 < Trend_period) { g_ibuf_168[l_bars_4] = g_ibuf_152[l_bars_4]; g_count_208++; } if (g_count_208 == Trend_period) { g_ibuf_172[l_bars_4] = g_ibuf_152[l_bars_4]; g_count_208++; } if (g_count_208 > Trend_period) g_ibuf_164[l_bars_4] = g_ibuf_152[l_bars_4]; } } if (li_16 >= 0) { if (li_16 > 0) li_16--; li_16 = Bars - li_16; for (int li_52 = 0; li_52 < li_16; li_52++) { gda_200[li_52] = -gi_192; gda_196[li_52] = -gi_192; l_ima_64 = iMA(NULL, 0, g_period_188, 0, MODE_EMA, PRICE_TYPICAL, li_52); if (Close[li_52] > l_ima_64) gda_196[li_52] = EMPTY_VALUE; if (Close[li_52] < l_ima_64) gda_200[li_52] = EMPTY_VALUE; } li_56 = Bars - LSMAPeriod - 5; li_60 = li_56 - LSMAPeriod - 1; for (li_52 = li_60; li_52 >= 0; li_52--) { ld_20 = 0; for (l_bars_4 = LSMAPeriod; l_bars_4 >= 1; l_bars_4--) { ld_28 = LSMAPeriod + 1; ld_28 /= 3.0; ld_36 = 0; ld_36 = (l_bars_4 - ld_28) * (Close[LSMAPeriod - l_bars_4 + li_52]); ld_20 += ld_36; } ld_44 = 6.0 * ld_20 / (LSMAPeriod * (LSMAPeriod + 1)); g_ibuf_180[li_52] = 0; g_ibuf_184[li_52] = 0; if (ld_44 > Close[li_52]) g_ibuf_184[li_52] = EMPTY_VALUE; if (ld_44 < Close[li_52]) g_ibuf_180[li_52] = EMPTY_VALUE; } IndicatorShortName("Woodie CCI Panel"); ObjectOnce(Background_Panel_Color, 1); l_iclose_72 = iClose(_Symbol, Period(), 0); l_iclose_80 = iClose(_Symbol, Period(), 1); l_ima_88 = iMA(_Symbol, PERIOD_D1, 1, 0, MODE_SMMA, PRICE_HIGH, 0); l_ima_96 = iMA(_Symbol, PERIOD_D1, 1, 0, MODE_EMA, PRICE_LOW, 0); l_ima_104 = iMA(_Symbol, PERIOD_D1, 1, 0, MODE_SMMA, PRICE_HIGH, 1); l_ima_112 = iMA(_Symbol, PERIOD_D1, 1, 0, MODE_EMA, PRICE_LOW, 1); gd_392 = MathRound((l_ima_88 - l_iclose_72) / g_ticksize_216); if (gd_392 > 0.0) gs_464 = "+"; else gs_464 = ""; gd_400 = MathRound((l_ima_96 - l_iclose_72) / g_ticksize_216); if (gd_400 > 0.0) gs_472 = "+"; else gs_472 = ""; ObjectCreate("DayHigh", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (MathAbs(gd_392) < Tickvalue_Alarm) ObjectSetText("DayHigh", "DH: " + DoubleToString(l_ima_88, g_digits_212) + " " + gs_464 + DoubleToString(gd_392, 0), 9, "Verdana", Yellow); else ObjectSetText("DayHigh", "DH: " + DoubleToString(l_ima_88, g_digits_212) + " " + gs_464 + DoubleToString(gd_392, 0), 8, "Verdana", Panel_TextColor_Normal); ObjectSet("DayHigh", OBJPROP_CORNER, 1); ObjectSet("DayHigh", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("DayHigh", OBJPROP_YDISTANCE, Vertical_Offset + 10); ObjectCreate("DayLow", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (MathAbs(gd_400) < Tickvalue_Alarm) ObjectSetText("DayLow", "DL: " + DoubleToString(l_ima_96, g_digits_212) + " " + gs_472 + DoubleToString(gd_400, 0), 9, "Verdana", Yellow); else ObjectSetText("DayLow", "DL: " + DoubleToString(l_ima_96, g_digits_212) + " " + gs_472 + DoubleToString(gd_400, 0), 8, "Verdana", Panel_TextColor_Normal); ObjectSet("DayLow", OBJPROP_CORNER, 1); ObjectSet("DayLow", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("DayLow", OBJPROP_YDISTANCE, Vertical_Offset + 250); ld_120 = MathRound(g_ibuf_152[1] - g_ibuf_152[2]); ld_128 = MathRound(g_ibuf_152[0] - g_ibuf_152[1]); ObjectCreate("CCIDiff_Last_Bar", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (MathAbs(ld_120) > 0.0) ObjectSetText("CCIDiff_Last_Bar", DoubleToString(ld_120, 0), 11, "Arial Black", Red); if (MathAbs(ld_120) > 14.0) ObjectSetText("CCIDiff_Last_Bar", DoubleToString(ld_120, 0), 11, "Arial Black", Yellow); if (MathAbs(ld_120) > 19.0) ObjectSetText("CCIDiff_Last_Bar", DoubleToString(ld_120, 0), 11, "Arial Black", Chartreuse); if (MathAbs(ld_120) > 119.0) ObjectSetText("CCIDiff_Last_Bar", DoubleToString(ld_120, 0), 11, "Arial Black", Red); ObjectSet("CCIDiff_Last_Bar", OBJPROP_CORNER, 1); ObjectSet("CCIDiff_Last_Bar", OBJPROP_XDISTANCE, Horizontal_Offset + 63); ObjectSet("CCIDiff_Last_Bar", OBJPROP_YDISTANCE, Vertical_Offset + 27); ObjectCreate("CCIDiff_Last_Bar_Value", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("CCIDiff_Last_Bar_Value", DoubleToString(g_ibuf_152[1], 2), 7, "Verdana", Panel_TextColor_Normal); ObjectSet("CCIDiff_Last_Bar_Value", OBJPROP_CORNER, 1); ObjectSet("CCIDiff_Last_Bar_Value", OBJPROP_XDISTANCE, Horizontal_Offset + 59); ObjectSet("CCIDiff_Last_Bar_Value", OBJPROP_YDISTANCE, Vertical_Offset + 45); ObjectCreate("CCIDiff_Current_Bar", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (MathAbs(ld_128) > 0.0) ObjectSetText("CCIDiff_Current_Bar", DoubleToString(ld_128, 0), 11, "Arial Black", Red); if (MathAbs(ld_128) > 14.0) ObjectSetText("CCIDiff_Current_Bar", DoubleToString(ld_128, 0), 11, "Arial Black", Yellow); if (MathAbs(ld_128) > 19.0) ObjectSetText("CCIDiff_Current_Bar", DoubleToString(ld_128, 0), 11, "Arial Black", Chartreuse); if (MathAbs(ld_128) > 119.0) ObjectSetText("CCIDiff_Current_Bar", DoubleToString(ld_128, 0), 11, "Arial Black", Red); ObjectSet("CCIDiff_Current_Bar", OBJPROP_CORNER, 1); ObjectSet("CCIDiff_Current_Bar", OBJPROP_XDISTANCE, Horizontal_Offset + 8); ObjectSet("CCIDiff_Current_Bar", OBJPROP_YDISTANCE, Vertical_Offset + 27); ObjectCreate("CCIDiff_Current_Bar_Value", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("CCIDiff_Current_Bar_Value", DoubleToString(g_ibuf_152[0], 2), 7, "Verdana", Panel_TextColor_Normal); ObjectSet("CCIDiff_Current_Bar_Value", OBJPROP_CORNER, 1); ObjectSet("CCIDiff_Current_Bar_Value", OBJPROP_XDISTANCE, Horizontal_Offset + 4); ObjectSet("CCIDiff_Current_Bar_Value", OBJPROP_YDISTANCE, Vertical_Offset + 45); ObjectCreate("Prev_Close", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("Prev_Close", "PC: " + DoubleToString(l_iclose_80, g_digits_212), 7, "Verdana", Panel_TextColor_Normal); ObjectSet("Prev_Close", OBJPROP_CORNER, 1); ObjectSet("Prev_Close", OBJPROP_XDISTANCE, Horizontal_Offset + 15); ObjectSet("Prev_Close", OBJPROP_YDISTANCE, Vertical_Offset + 60); l_ihigh_136 = iHigh(_Symbol, Period(), 1); l_ihigh_144 = iHigh(_Symbol, Period(), 0); ObjectCreate("High_Previous_Bar", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("High_Previous_Bar", DoubleToString(l_ihigh_136, g_digits_212) + " " + DoubleToString(l_ihigh_144, g_digits_212), 8, "Verdana", Lime); ObjectSet("High_Previous_Bar", OBJPROP_CORNER, 1); ObjectSet("High_Previous_Bar", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("High_Previous_Bar", OBJPROP_YDISTANCE, Vertical_Offset + 112); if (l_iclose_72 > l_ihigh_136) { ObjectCreate("High_Previous_Bar_Signal", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("High_Previous_Bar_Signal", "__", 59, "Verdana", Lime); ObjectSet("High_Previous_Bar_Signal", OBJPROP_CORNER, 1); ObjectSet("High_Previous_Bar_Signal", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("High_Previous_Bar_Signal", OBJPROP_YDISTANCE, Vertical_Offset + 22); } if (l_iclose_72 <= l_ihigh_136 && ObjectFind("High_Previous_Bar_Signal") == 1) ObjectDelete("High_Previous_Bar_Signal"); ObjectCreate("CurrentBar", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("CurrentBar", DoubleToString(l_iclose_72, g_digits_212), 12, "Arial Black", Panel_TextColor_Normal); ObjectSet("CurrentBar", OBJPROP_CORNER, 1); ObjectSet("CurrentBar", OBJPROP_XDISTANCE, Horizontal_Offset + 15); ObjectSet("CurrentBar", OBJPROP_YDISTANCE, Vertical_Offset + 125); l_ilow_152 = iLow(_Symbol, Period(), 1); l_ilow_160 = iLow(_Symbol, Period(), 0); ObjectCreate("Low_Previous_Bar", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("Low_Previous_Bar", DoubleToString(l_ilow_152, g_digits_212) + " " + DoubleToString(l_ilow_160, g_digits_212), 8, "Verdana", Crimson); ObjectSet("Low_Previous_Bar", OBJPROP_CORNER, 1); ObjectSet("Low_Previous_Bar", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("Low_Previous_Bar", OBJPROP_YDISTANCE, Vertical_Offset + 150); if (l_iclose_72 < l_ilow_152) { ObjectCreate("Low_Previous_Bar_Signal", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("Low_Previous_Bar_Signal", "__", 59, "Verdana", Red); ObjectSet("Low_Previous_Bar_Signal", OBJPROP_CORNER, 1); ObjectSet("Low_Previous_Bar_Signal", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("Low_Previous_Bar_Signal", OBJPROP_YDISTANCE, Vertical_Offset + 78); } if (l_iclose_72 >= l_ilow_152 && ObjectFind("Low_Previous_Bar_Signal") == 1) ObjectDelete("Low_Previous_Bar_Signal"); ld_168 = MathAbs(MathRound(g_ibuf_152[0])); if (ld_168 > 200.0) { ObjectCreate("HFE_Alert", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); ObjectSetText("HFE_Alert", "HFE", 14, "Arial Black", Yellow); ObjectSet("HFE_Alert", OBJPROP_CORNER, 1); ObjectSet("HFE_Alert", OBJPROP_XDISTANCE, Horizontal_Offset + 20); ObjectSet("HFE_Alert", OBJPROP_YDISTANCE, Vertical_Offset + 170); } if (ld_168 < 200.0 && ObjectFind("HFE_Alert") == 1) ObjectDelete("HFE_Alert"); li_192 = Time[0] + 60 * Period() - TimeCurrent(); ld_176 = li_192 / 60.0; ls_184 = li_192 % 60; li_192 = (li_192 - li_192 % 60) / 60; if (li_192 > 0 && StringLen(ls_184) < 2) ls_184 = "0" + ls_184; else ls_184 = "" + ls_184; if (SoundAlert) { if (li_192 < 1) if (StringToInteger(ls_184) < SoundAlertSecondsLeft) AlertOnce(SoundFile, 1); } ObjectCreate("time", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (li_192 < 1) ObjectSetText("time", ls_184 + "s", 11, "Arial Black", Yellow); else ObjectSetText("time", li_192 + ":" + ls_184 + " Min", 10, "Verdana", Panel_TextColor_Normal); ObjectSet("time", OBJPROP_CORNER, 1); ObjectSet("time", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("time", OBJPROP_YDISTANCE, Vertical_Offset + 198); if (Period() > PERIOD_D1) { Print("Error - Chart period is greater than 1 day."); return (-1); } ArrayCopyRates(gda_528, _Symbol, PERIOD_D1); gd_264 = gda_528[1][4]; gd_unused_248 = gda_528[1][1]; gd_unused_272 = gda_528[0][1]; gd_240 = gda_528[1][3]; gd_256 = gda_528[1][2]; gd_224 = gda_528[0][3]; gd_232 = gda_528[0][2]; gd_520 = gd_224 - gd_232; gd_304 = gd_240 - gd_256; gd_296 = (gd_240 + gd_256 + gd_264) / 3.0; gd_312 = 2.0 * gd_296 - gd_256; gd_480 = 2.0 * gd_296 - gd_240; gd_320 = gd_296 + (gd_240 - gd_256); gd_488 = gd_296 - (gd_240 - gd_256); gd_328 = 2.0 * gd_296 + (gd_240 - 2.0 * gd_256); gd_496 = 2.0 * gd_296 - (2.0 * gd_240 - gd_256); if (gd_304 > 5.0) gd_504 = gd_304; else gd_504 = 10000.0 * gd_304; if (gd_520 > 5.0) gd_512 = gd_520; else gd_512 = 10000.0 * gd_520; gd_336 = MathRound((gd_296 - l_iclose_72) / g_ticksize_216); if (gd_336 > 0.0) gs_408 = "+"; else gs_408 = "-"; gd_368 = MathRound((gd_480 - l_iclose_72) / g_ticksize_216); if (gd_368 > 0.0) gs_440 = "+"; else gs_440 = "-"; gd_376 = MathRound((gd_488 - l_iclose_72) / g_ticksize_216); if (gd_376 > 0.0) gs_448 = "+"; else gs_448 = "-"; gd_344 = MathRound((gd_312 - l_iclose_72) / g_ticksize_216); if (gd_344 > 0.0) gs_416 = "+"; else gs_416 = "-"; gd_352 = MathRound((gd_320 - l_iclose_72) / g_ticksize_216); if (gd_352 > 0.0) gs_424 = "+"; else gs_424 = "-"; ld_204 = MathMin(MathAbs(gd_336), MathAbs(gd_368)); ld_212 = MathMin(MathAbs(gd_368), MathAbs(gd_376)); ld_220 = MathMin(MathAbs(ld_204), MathAbs(ld_212)); ObjectCreate("Bottom_Pivot_Point", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (ld_220 == MathAbs(gd_336)) { if (MathAbs(gd_336) < Tickvalue_Alarm) ObjectSetText("Bottom_Pivot_Point", "PP " + gs_408 + DoubleToString(ld_220, 0), 10, "Verdana", Yellow); else ObjectSetText("Bottom_Pivot_Point", "PP " + gs_408 + DoubleToString(ld_220, 0), 8, "Verdana", Panel_TextColor_Normal); } if (ld_220 == MathAbs(gd_368)) { if (MathAbs(gd_368) < Tickvalue_Alarm) ObjectSetText("Bottom_Pivot_Point", "S1 " + gs_440 + DoubleToString(ld_220, 0), 10, "Verdana", Yellow); else ObjectSetText("Bottom_Pivot_Point", "S1 " + gs_440 + DoubleToString(ld_220, 0), 8, "Verdana", Panel_TextColor_Normal); } if (ld_220 == MathAbs(gd_376)) { if (MathAbs(gd_376) < Tickvalue_Alarm) ObjectSetText("Bottom_Pivot_Point", "S2 " + gs_448 + DoubleToString(ld_220, 0), 10, "Verdana", Yellow); else ObjectSetText("Bottom_Pivot_Point", "S2 " + gs_448 + DoubleToString(ld_220, 0), 8, "Verdana", Panel_TextColor_Normal); } ObjectSet("Bottom_Pivot_Point", OBJPROP_CORNER, 1); ObjectSet("Bottom_Pivot_Point", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("Bottom_Pivot_Point", OBJPROP_YDISTANCE, Vertical_Offset + 229); ld_228 = MathMin(MathAbs(gd_344), MathAbs(gd_352)); ObjectCreate("Upper_Pivot_Point", OBJ_LABEL, WindowFind("Woodie CCI Panel"), 0, 0); if (ld_228 == MathAbs(gd_344)) { if (MathAbs(gd_344) < Tickvalue_Alarm) ObjectSetText("Upper_Pivot_Point", "R1 " + gs_416 + DoubleToString(ld_228, 0), 10, "Verdana", Yellow); else ObjectSetText("Upper_Pivot_Point", "R1 " + gs_416 + DoubleToString(ld_228, 0), 8, "Verdana", Panel_TextColor_Normal); } if (ld_228 == MathAbs(gd_352)) { if (MathAbs(gd_352) < Tickvalue_Alarm) ObjectSetText("Upper_Pivot_Point", "R2 " + gs_424 + DoubleToString(ld_228, 0), 10, "Verdana", Yellow); else ObjectSetText("Upper_Pivot_Point", "R2 " + gs_424 + DoubleToString(ld_228, 0), 8, "Verdana", Panel_TextColor_Normal); } ObjectSet("Upper_Pivot_Point", OBJPROP_CORNER, 1); ObjectSet("Upper_Pivot_Point", OBJPROP_XDISTANCE, Horizontal_Offset); ObjectSet("Upper_Pivot_Point", OBJPROP_YDISTANCE, Vertical_Offset + 85); } return (0); } int AlertOnce(string as_0, int ai_8) { switch (ai_8) { case 1: if (g_bars_536 == 0 || g_bars_536 < Bars) { PlaySound(as_0); g_bars_536 = Bars; return (1); } break; case 2: if (g_bars_540 == 0 || g_bars_540 < Bars) { PlaySound(as_0); g_bars_540 = Bars; return (1); } break; case 3: if (g_bars_544 == 0 || g_bars_544 < Bars) { PlaySound(as_0); g_bars_544 = Bars; return (1); } break; case 4: if (g_bars_548 == 0 || g_bars_548 < Bars) { PlaySound(as_0); g_bars_548 = Bars; return (1); } break; } return (0); } void ObjectOnce(color a_color_0, int ai_4) { double l_price_12; double l_price_20; datetime lt_unused_28; int li_32; int l_datetime_36; int li_8 = ai_4; if (li_8 == 1) { if (g_bars_552 == 0 || g_bars_552 < Bars) { if (ObjectFind("Background_Color_Panel") == 1) ObjectDelete("Background_Color_Panel"); l_price_12 = WindowPriceMax(WindowFind("Woodie CCI Panel")); l_price_20 = WindowPriceMin(WindowFind("Woodie CCI Panel")); lt_unused_28 = Time[WindowFirstVisibleBar()]; li_32 = WindowFirstVisibleBar() - WindowBarsPerChart(); if (li_32 < 0) li_32 = 0; l_datetime_36 = Time[li_32] + 60 * Period(); ObjectCreate("Background_Color_Panel", OBJ_RECTANGLE, 1, l_datetime_36, l_price_12, l_datetime_36 + 60 * (30 * Period()), l_price_20); ObjectSet("Background_Color_Panel", OBJPROP_BACK, TRUE); ObjectSet("Background_Color_Panel", OBJPROP_COLOR, a_color_0); ObjectsRedraw(); g_bars_552 = Bars; return; } } } //******************************************** Emulation ******************************************* double Ask; double Bid; double Bars; double Open[]; double Close[]; double High[]; double Low[]; datetime Time[]; long Volume[]; void Set_Values_to_variables() { MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); Ask=last_tick.ask; Bid=last_tick.bid; ArraySetAsSeries(Close,true); CopyClose(_Symbol,_Period,0,Bars(_Symbol,_Period),Close); ArraySetAsSeries(Open,true); CopyOpen(_Symbol,_Period,0,Bars(_Symbol,_Period),Open); ArraySetAsSeries(Low,true); CopyLow(_Symbol,_Period,0,Bars(_Symbol,_Period),Low); ArraySetAsSeries(High,true); CopyHigh(_Symbol,_Period,0,Bars(_Symbol,_Period),High); ArraySetAsSeries(Time,true); CopyTime(_Symbol,_Period,0,Bars(_Symbol,_Period),Time); ArraySetAsSeries(Volume,true); CopyTickVolume(_Symbol,_Period,0,Bars(_Symbol,_Period),Volume); } void OnTick() { Set_Values_to_variables(); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { Set_Values_to_variables(); } void OnInit() { Set_Values_to_variables(); init(); } void OnDeinit() { deinit(); } int Day() { MqlDateTime tm; TimeCurrent(tm); return(tm.day); } int Seconds() { MqlDateTime tm; TimeCurrent(tm); return(tm.sec); } ENUM_TIMEFRAMES TFMigrate(int tf) { switch(tf) { case 0: return(PERIOD_CURRENT); case 1: return(PERIOD_M1); case 5: return(PERIOD_M5); case 15: return(PERIOD_M15); case 30: return(PERIOD_M30); case 60: return(PERIOD_H1); case 240: return(PERIOD_H4); case 1440: return(PERIOD_D1); case 10080: return(PERIOD_W1); case 43200: return(PERIOD_MN1); case 2: return(PERIOD_M2); case 3: return(PERIOD_M3); case 4: return(PERIOD_M4); case 6: return(PERIOD_M6); case 10: return(PERIOD_M10); case 12: return(PERIOD_M12); case 16385: return(PERIOD_H1); case 16386: return(PERIOD_H2); case 16387: return(PERIOD_H3); case 16388: return(PERIOD_H4); case 16390: return(PERIOD_H6); case 16392: return(PERIOD_H8); case 16396: return(PERIOD_H12); case 16408: return(PERIOD_D1); case 32769: return(PERIOD_W1); case 49153: return(PERIOD_MN1); default: return(PERIOD_CURRENT); } }