#property copyright "zx815@126.com" #property link "zx815@126.com" #property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_color3 Red #property indicator_color4 Blue int g_ma_method_76 = MODE_SMA; int g_period_80 = 1; int gi_unused_84 = 0; int gi_unused_88 = 1; double g_ibuf_92[]; double g_ibuf_96[]; double g_ibuf_100[]; double g_ibuf_104[]; double g_ibuf_108[]; double g_ibuf_112[]; double g_ibuf_116[]; double g_ibuf_120[]; int gi_124; int init() { IndicatorBuffers(8); SetIndexStyle(0, DRAW_HISTOGRAM); SetIndexBuffer(0, g_ibuf_92); SetIndexStyle(1, DRAW_HISTOGRAM); SetIndexBuffer(1, g_ibuf_96); SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 2); SetIndexBuffer(2, g_ibuf_100); SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 2); SetIndexBuffer(3, g_ibuf_104); SetIndexBuffer(4, g_ibuf_108); SetIndexBuffer(5, g_ibuf_112); SetIndexBuffer(6, g_ibuf_116); SetIndexBuffer(7, g_ibuf_120); return (0); } int start() { gi_124 = Bars - IndicatorCounted(); showKS(); return (0); } void showKS() { double l_ima_0; double l_ima_8; double l_ima_16; double l_ima_24; double ld_32; double ld_40; double ld_48; double ld_56; double ld_64; double ld_72; for (int li_80 = gi_124; li_80 >= 0; li_80--) { l_ima_0 = iMA(NULL, 0, g_period_80, 0, g_ma_method_76, PRICE_CLOSE, li_80); l_ima_8 = iMA(NULL, 0, g_period_80, 0, g_ma_method_76, PRICE_LOW, li_80); l_ima_16 = iMA(NULL, 0, g_period_80, 0, g_ma_method_76, PRICE_OPEN, li_80); l_ima_24 = iMA(NULL, 0, g_period_80, 0, g_ma_method_76, PRICE_HIGH, li_80); ld_32 = (g_ibuf_108[li_80 + 1] + (g_ibuf_112[li_80 + 1])) / 2.0; ld_56 = (l_ima_0 + l_ima_24 + l_ima_16 + l_ima_8) / 4.0; ld_40 = MathMax(l_ima_24, MathMax(ld_32, ld_56)); ld_48 = MathMin(l_ima_16, MathMin(ld_32, ld_56)); ld_64 = MathMax(Open[li_80], Close[li_80]); ld_72 = MathMin(Open[li_80], Close[li_80]); if (ld_32 > ld_56) { g_ibuf_92[li_80] = High[li_80]; g_ibuf_96[li_80] = Low[li_80]; g_ibuf_100[li_80] = ld_64; g_ibuf_104[li_80] = ld_72; } else { g_ibuf_92[li_80] = Low[li_80]; g_ibuf_96[li_80] = High[li_80]; g_ibuf_100[li_80] = ld_72; g_ibuf_104[li_80] = ld_64; } g_ibuf_108[li_80] = ld_32; g_ibuf_112[li_80] = ld_56; } }