MQL4(MetaQuotes Language 4)是一种用于编写交易策略和技术指标的编程语言,主要应用于MetaTrader 4平台。本文将详细解释MQL4中的一个重要技术指标函数iATR(),以帮助交易者和开发者更好地理解和运用这一功能。
一、ATR(Average True Range)简介
ATR,即平均真实波动幅度,是一种衡量市场波动性的技术指标。ATR是由著名技术分析师J. Welles Wilder Jr.在1978年首次提出的,主要用于衡量市场价格变动的潜在范围。ATR指标能够帮助交易者判断市场的波动程度,从而更好地设定止损和止盈点位。
二、MQL4中的iATR()函数
在MQL4中,iATR()函数用于计算指定时间段内的ATR值。其函数原型如下:
double iATR(string symbol, int timeframe, int period, int shift);
参数说明:
- symbol:交易品种的符号,如”EURUSD”。若为NULL或空字符串,则默认为当前品种。
- timeframe:时间周期,如PERIOD_M1、PERIOD_M5、PERIOD_H1等。
- period:计算ATR所需的时间周期数,通常取14。
- shift:计算ATR值的数据偏移量。例如,取0表示当前最新的K线,取1表示前一根K线。
返回值:返回指定条件下的ATR值。
三、iATR()函数示例
以下是一个简单的MQL4代码示例,用于计算当前品种在1小时图上最近14周期的ATR值:
// 示例代码:计算1小时图上的14周期ATR
void OnStart()
{
string symbol = Symbol(); // 获取当前品种
int timeframe = PERIOD_H1; // 设置时间周期为1小时
int period = 14; // 设置ATR计算周期为14
int shift = 0; // 设置偏移量为0,表示计算当前K线的ATR值
double atr = iATR(symbol, timeframe, period, shift);
Print("当前", symbol, "1小时图的14周期ATR值为:", atr);
}
综上所述,MQL4中的iATR()函数提供了一种简便的方法来计算指定时间周期内的ATR值,以衡量市场的波动性。通过对iATR()函数的正确使用,交易者和开发者可以更好地了解市场波动,优化交易策略和风险管理。