MQL5:写一个简单的自定义指标

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 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值