xb4d.mq4
xb4d.mq4 FOREX MetaTrader4 Indicators Download
xb4d.mq4 download link will appear after 10 seconds.
xb4d.mq4 Programming source code.
#property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Black #property indicator_color2 Blue #property indicator_color3 Red extern int period = 70; double g_ibuf_80[]; double g_ibuf_84[]; double g_ibuf_88[]; string gs_92 = ""; string gs_xb4_ind_100 = "XB4 ind"; int init() { SetIndexStyle(0, DRAW_HISTOGRAM); SetIndexStyle(1, DRAW_HISTOGRAM); SetIndexStyle(2, DRAW_HISTOGRAM); IndicatorDigits(Digits + 1); SetIndexBuffer(0, g_ibuf_80); SetIndexBuffer(1, g_ibuf_84); SetIndexBuffer(2, g_ibuf_88); IndicatorShortName(gs_xb4_ind_100); SetIndexLabel(1, NULL); SetIndexLabel(2, NULL); return (0); } 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 l_low_76 = 0; double l_high_84 = 0; //creataalltext(); int li_92 = 16777215; if (li_24 > 0) li_24--; int li_96 = Bars - li_24; for (int li_100 = 0; li_100 < li_96; li_100++) { l_high_84 = High[iHighest(NULL, 0, MODE_HIGH, period, li_100+1)]; l_low_76 = Low[iLowest(NULL, 0, MODE_LOW, period, li_100)]; ld_16 = (High[li_100+1] + Low[li_100+1]) / 2.0; ld_28 = 0.66 * ((ld_16 - l_low_76) / (l_high_84 - l_low_76) - 0.5) + 0.67 * ld_36; ld_28 = MathMin(MathMax(ld_28, -0.999), 0.999); g_ibuf_80[li_100] = MathLog((ld_28 + 1.0) / (1 - ld_28)) / 2.0 + ld_60 / 2.0; ld_36 = ld_28; ld_60 = g_ibuf_80[li_100]; } bool li_104 = TRUE; for (li_100 = li_96 - 2; li_100 >= 0; li_100--) { ld_8 = g_ibuf_80[li_100+1]; ld_0 = g_ibuf_80[li_100 + 1]; if ((ld_8 < 0.0 && ld_0 > 0.0) || ld_8 < 0.0) li_104 = FALSE; if ((ld_8 > 0.0 && ld_0 < 0.0) || ld_8 > 0.0) li_104 = TRUE; if (!li_104) { g_ibuf_88[li_100+1] = ld_8; g_ibuf_84[li_100+1] = 0.0; gs_92 = "SHORT"; li_92 = 65535; } else { g_ibuf_84[li_100+1] = ld_8; g_ibuf_88[li_100+1] = 0.0; gs_92 = "LONG"; li_92 = 65280; } } //settext("xboxforex_ind", gs_92, 12, li_92, 10, 15); return (0); }