MQL5:写一个简单的自定义指标
在MT5平台中,交易者可根据自己的习惯、需要,去编写供自己参考的指标。
如何写一个简单的自定义的指标?
在这里将写一个 取当日最高价和最低价中值的折线 的指标 作为演示(结尾有可运行的完整代码)。
写指标一般可以概述为如下步骤:
1.新建自定义指标项目
2.代码部分
2.1 设置指标属性
2.2 定义数据存放的数组
2.3 在初始化函数 OnInit中设置数组映射
2.4 在OnCalculate函数中,编写绘制指标的算法
1.新建自定义指标项目。
在编辑器中,点击左上角的 新
然后在 向导 中 选择 自定义指标。
填写 自定义指标 的名字和 作者信息
在模板选择中选择 OnCalculate(…,开盘,最高,最低,收盘)
为什么选择OnCalculate(…,开盘,最高,最低,收盘)?
首先OnCalculate是所有价格计算处理函数,其次此处我们要写的是一个取当日最高价和最低价中值的折线指标。选择带有最高价(&high[])和最低价(&low[])参数的OnCalculate更合适。
然后点击下一步,下一步不选择独立窗口,最后点击完成。
在得到的my_indicator.mq5中可以看到已经生成的模板
//+------------------------------------------------------------------+
//| my_indicator.mq5 |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double