/* Generated by EX4-TO-MQ4 decompiler FREEWARE V4.0.451.1 [-] Website: http://www.metaquotes.net E-mail : support@metaquotes.net */ #property copyright "Copyright © 2014, Dr. Zain Agha" #property link "http://www.zwinner.com" #property indicator_separate_window #property indicator_minimum 0.0 #property indicator_maximum 2.0 #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red int gi_unused_76 = 100; extern int gi_76 = 8; extern int WingDingUp = 110; extern int WingDingDn = 110; double g_ibuf_92[]; double g_ibuf_96[]; double g_ibuf_100[]; // E37F0136AA3FFAF149B351F6A4C948E9 int init() { IndicatorBuffers(3); SetIndexBuffer(0, g_ibuf_96); SetIndexStyle(0, DRAW_ARROW, EMPTY); SetIndexArrow(0, WingDingUp); SetIndexBuffer(1, g_ibuf_100); SetIndexStyle(1, DRAW_ARROW, EMPTY); SetIndexArrow(1, WingDingDn); SetIndexBuffer(2, g_ibuf_92); IndicatorShortName("ZWINNER TREND INDICATOR"); return (0); } // EA2B2676C28C0DB26D39331A336C6B92 int start() { double ld_0; double ld_8; double ld_16; int li_24 = IndicatorCounted(); double ld_28 = 0; double ld_36 = 0; double ld_unused_44 = 0; double ld_unused_52 = 0; double ld_60 = 0; double ld_unused_68 = 0; double low_76 = 0; double high_84 = 0; if (li_24 > 0) li_24--; int li_92 = Bars - li_24; for (int li_96 = 0; li_96 < Bars; li_96++) { high_84 = High[iHighest(NULL, 0, MODE_HIGH, gi_76, li_96)]; low_76 = Low[iLowest(NULL, 0, MODE_LOW, gi_76, li_96)]; ld_16 = (High[li_96] + Low[li_96]) / 2.0; if (high_84 - low_76 == 0.0) ld_28 = 0.67 * ld_36 + (-0.33); else ld_28 = 0.66 * ((ld_16 - low_76) / (high_84 - low_76) - 0.5) + 0.67 * ld_36; ld_28 = MathMin(MathMax(ld_28, -0.999), 0.999); if (1 - ld_28 == 0.0) g_ibuf_92[li_96] = ld_60 / 2.0 + 0.5; else g_ibuf_92[li_96] = MathLog((ld_28 + 1.0) / (1 - ld_28)) / 2.0 + ld_60 / 2.0; ld_36 = ld_28; ld_60 = g_ibuf_92[li_96]; } bool li_100 = TRUE; for (li_96 = Bars; li_96 >= 0; li_96--) { ld_8 = g_ibuf_92[li_96]; ld_0 = g_ibuf_92[li_96 + 1]; if ((ld_8 < 0.0 && ld_0 > 0.0) || ld_8 < 0.0) li_100 = FALSE; if ((ld_8 > 0.0 && ld_0 < 0.0) || ld_8 > 0.0) li_100 = TRUE; if (!li_100) { g_ibuf_100[li_96] = 1.0; g_ibuf_96[li_96] = EMPTY_VALUE; } else { g_ibuf_96[li_96] = 1.0; g_ibuf_100[li_96] = EMPTY_VALUE; } } return (0); }