© 本贴为 wuwei 原创/首发,严禁抄袭!
这段代码创建了一个名为"NoDriftIndicator"的指标,它的计算方式是基于指定周期内收盘价的简单移动平均。在这个示例中,我们使用了默认的周期14,你可以根据自己的需要进行调整。
在init()函数中,我们设置了指标的样式、缓冲区和标签。在start()函数中,我们计算了每个周期的简单移动平均值,并将结果保存在buffer数组中。
请注意,这只是一个简单的示例代码,你可以根据自己的需求进行修改和扩展。同时,记得在MT4中编译和加载该指标,以便在图表上显示和使用。
- #property indicator_chart_window
- #property indicator_buffers 1
- #property indicator_color1 Blue
-
- extern int period = 14;
-
- double buffer[];
-
- int init()
- {
- SetIndexStyle(0, DRAW_LINE);
- SetIndexBuffer(0, buffer);
- SetIndexLabel(0, "NoDriftIndicator");
-
- return 0;
- }
-
- int start()
- {
- int limit = MathMin(Bars - 1, IndicatorCounted());
-
- for (int i = limit; i >= 0; i--)
- {
- double sum = 0;
-
- for (int j = 0; j < period; j++)
- {
- sum += Close[i + j];
- }
-
- buffer[i] = sum / period;
- }
-
- return 0;
- }
复制代码
这段代码创建了一个名为"NoDriftIndicator"的指标,它的计算方式仍然是基于指定周期内收盘价的简单移动平均。在这个示例中,我们使用了周期20,你可以根据需要进行调整。
在init()函数中,我们设置了指标的样式、缓冲区和标签。在start()函数中,我们计算了每个周期的简单移动平均值,并将结果保存在buffer数组中。
同样地,请记得在MT4中编译和加载该指标,以便在图表上显示和使用。这只是一个示例代码,你可以根据自己的需求进行修改和扩展。
- #property indicator_chart_window
- #property indicator_buffers 1
- #property indicator_color1 Red
-
- extern int period = 20;
-
- double buffer[];
-
- int init()
- {
- SetIndexStyle(0, DRAW_LINE);
- SetIndexBuffer(0, buffer);
- SetIndexLabel(0, "NoDriftIndicator");
-
- return 0;
- }
-
- int start()
- {
- int limit = MathMin(Bars - 1, IndicatorCounted());
-
- for (int i = limit; i >= 0; i--)
- {
- double sum = 0;
-
- for (int j = 0; j < period; j++)
- {
- sum += Close[i + j];
- }
-
- buffer[i] = sum / period;
- }
-
- return 0;
- }
复制代码
|