在使用MetaTrader平台的MQL4语言进行外汇交易的自动化策略测试时,很多时候需要对图表进行简化处理,以便更专注于策略逻辑本身而非图表上的各类指标显示。本文将详细介绍如何通过HideTestIndicators
函数实现在专家顾问(EA)测试中隐藏或显示图表指标的方法。
函数解析
HideTestIndicators
函数是MQL4语言中用来设置是否隐藏由专家顾问调用的指标的一个功能。该函数的定义如下:
void HideTestIndicators(bool hide); // 设置隐藏标志
参数说明:
hide
:布尔类型参数,当设置为true
时,表示隐藏所有专家顾问调用的指标;当为false
时,则显示这些指标。
返回值:
此函数没有返回值。
功能特点:
在进行EA测试后,如果启用了隐藏功能,那么在测试图表上不会绘制被隐藏的指标。每一个被调用的指标都会根据当前的隐藏标志进行标记。需要注意的是,只有直接从测试中的专家顾问调用的指标才能在测试图表上被绘制。
示例详解
下面我们通过一个简单的例子来展示如何在EA测试中使用HideTestIndicators
函数来控制指标的显示或隐藏。
假设我们在策略中需要使用移动平均线(MA)作为交易的参考,但在测试时希望暂时隐藏这些指标,以防干扰视觉判断。
// 隐藏测试中的所有指标
HideTestIndicators(true);
// 计算当前的移动平均值,不显示在图表上
double MaCurrent = iMA(NULL, 0, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
// 计算前一周期的移动平均值,同样不显示
double MaPrevious = iMA(NULL, 0, 50, 0, MODE_SMA, PRICE_CLOSE, 1);
// 完成计算后,恢复指标显示
HideTestIndicators(false);
在这个示例中,我们首先调用HideTestIndicators(true)
来设置隐藏标志。随后计算当前和前一周期的简单移动平均值(SMA),在这期间,所有调用的指标都不会显示在测试图表上。最后,通过HideTestIndicators(false)
恢复指标的显示。
总结
使用HideTestIndicators
函数可以帮助开发者在EA测试时控制指标的显示状态,这对于测试环境的设置以及专注于策略逻辑的验证非常有帮助。通过适时地隐藏和显示指标,可以更清晰地分析策略的纯粹性能,无需受到图表上过多信息的干扰。