MetaTrader 4(MT4)平台提供了丰富的内置技术指标,但有时交易者可能需要在策略中使用自定义指标。iCustom() 函数使得在 MT4 平台上使用自定义指标变得简单。本文将详细介绍 iCustom() 函数的用法,并通过实例来展示如何在交易策略中使用自定义指标。
iCustom() 函数结构如下:
double iCustom(
string symbol, // 交易品种
int timeframe, // 时间周期
string name, // 自定义指标编译程序的路径/名称 ... // 自定义指标的输入参数(如果有的话)
int mode, // 线索引
int shift // 位移
);
其中参数说明:
- symbol:交易品种,例如 “EURUSD”。
- timeframe:时间周期,例如 PERIOD_H1(1 小时)。
- name:自定义指标编译程序的路径/名称,例如 “MyCustomIndicator”。
- …:自定义指标的输入参数(如果有的话),这些参数将传递给自定义指标。
- mode:线索引,用于指定需要获取的指标线。
- shift:位移,用于指定需要获取的指标值在数组中的位置。0 代表当前最新数据点,1 代表前一个数据点,以此类推。
下面我们通过一个实际例子来说明如何使用 iCustom() 函数获取自定义指标的值。
假设我们有一个名为 “MyCustomIndicator” 的自定义指标,该指标有两个输入参数(Param1 和 Param2),并输出两条线(Line1 和 Line2)。我们希望获取 EURUSD 品种在 1 小时周期上,当前最新 K 线的 Line1 和 Line2 的值。我们可以使用以下代码:
double Line1Value = iCustom("EURUSD", PERIOD_H1, "MyCustomIndicator", Param1, Param2, 0, 0);
double Line2Value = iCustom("EURUSD", PERIOD_H1, "MyCustomIndicator", Param1, Param2, 1, 0);
在这个例子中,我们分别使用 0 和 1 作为线索引,以获取 Line1 和 Line2 的值。位移设置为 0,以获取当前最新 K 线的值。
如果我们需要获取过去的数据点,只需调整 shift 参数即可。例如,要获取前 5 个 K 线的 Line1 值,我们可以使用以下代码:
double Line1ValuePrevious5 = iCustom("EURUSD", PERIOD_H1, "MyCustomIndicator", Param1, Param2, 0, 5);
下面我们将介绍如何在不同品种和时间周期上使用 iCustom() 函数。
例如,我们希望获取 GBPUSD 30 分钟周期上当前最新 K 线的 Line1 和 Line2 值。我们可以使用以下代码:
double Line1Value = iCustom("GBPUSD", PERIOD_M30, "MyCustomIndicator", Param1, Param2, 0, 0);
double Line2Value = iCustom("GBPUSD", PERIOD_M30, "MyCustomIndicator", Param1, Param2, 1, 0);
在这个例子中,我们将交易品种更改为 “GBPUSD”,并将时间周期设置为 PERIOD_M30(30 分钟)。
我们还可以在交叉品种上使用 iCustom() 函数。例如,我们希望获取 AUDJPY 4 小时周期上当前最新 K 线的 Line1 和 Line2 值。我们可以使用以下代码:
double Line1Value = iCustom("AUDJPY", PERIOD_H4, "MyCustomIndicator", Param1, Param2, 0, 0);
double Line2Value = iCustom("AUDJPY", PERIOD_H4, "MyCustomIndicator", Param1, Param2, 1, 0);
在这个例子中,我们将交易品种更改为 “AUDJPY”,并将时间周期设置为 PERIOD_H4(4 小时)。
iCustom() 函数的灵活性使其成为使用自定义指标的理想选择。了解其参数和应用方法后,您将能够在您的交易策略中无缝整合各种自定义指标,为您的交易决策提供更多支持。实际操作时,请根据自定义指标的具体参数和输出进行相应的调整,确保正确地获取所需的数据。
总之,iCustom() 函数为交易者提供了在 MT4 平台上灵活使用自定义指标的方法。通过了解该函数的用法和参数设置,您可以轻松地在您的交易策略中整合自定义指标,为您的交易决策提供更多信息。