 | |  | | - #property indicator_separate_window
- #property indicator_buffers 4
- #property indicator_color1 Black
- #property indicator_color2 Red
- #property indicator_color3 Black
- #property indicator_color4 Red
- extern bool EmailON=false;
- extern int FastEMA = 12;
- extern int SlowEMA = 26;
- extern int SignalSMA = 9;
- double g_ibuf_88[];
- double g_ibuf_92[];
- double g_ibuf_96[];
- double g_ibuf_100[];
- int init() {
- SetIndexStyle(0, DRAW_HISTOGRAM);
- SetIndexStyle(1, DRAW_LINE);
- SetIndexDrawBegin(1, SignalSMA);
- IndicatorDigits(Digits + 1);
- SetIndexBuffer(0, g_ibuf_88);
- SetIndexBuffer(1, g_ibuf_92);
- SetIndexBuffer(2, g_ibuf_96);
- SetIndexBuffer(3, g_ibuf_100);
- SetIndexStyle(2, DRAW_ARROW);
- SetIndexStyle(3, DRAW_ARROW);
- SetIndexArrow(2, 233);
- SetIndexArrow(3, 234);
- IndicatorShortName("MACD(" + FastEMA + "," + SlowEMA + "," + SignalSMA + ")");
- SetIndexLabel(0, "MACD");
- SetIndexLabel(1, "Signal");
- return (0);
- }
- int start() {
- int li_4 = IndicatorCounted();
- if (li_4 > 0) li_4--;
- int li_0 = Bars - li_4;
- for (int li_8 = 0; li_8 < li_0; li_8++) g_ibuf_88[li_8] = iMA(NULL, 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, li_8) - iMA(NULL, 0, SlowEMA, 0, MODE_EMA, PRICE_CLOSE, li_8);
- for (li_8 = 0; li_8 < li_0; li_8++) g_ibuf_92[li_8] = iMAOnArray(g_ibuf_88, Bars, SignalSMA, 0, MODE_SMA, li_8);
- for (li_8 = 0; li_8 < li_0; li_8++) {
- if (g_ibuf_88[li_8 + 1] < 0.0 && g_ibuf_88[li_8] > 0.0) g_ibuf_96[li_8] = g_ibuf_88[li_8];
-
- Alert(Symbol()+"MACD 上穿0轴");
-
- if (g_ibuf_88[li_8 + 1] > 0.0 && g_ibuf_88[li_8] < 0.0) g_ibuf_100[li_8] = g_ibuf_88[li_8];
-
- Alert(Symbol()+"MACD 下穿0轴");
-
- }
- return (0);
- }
复制代码 请问,如题,加载上去就不断提示直至卡死,如何改写才让它只提示一次呢?谢谢!!! |  |  |  |  |
|