今天我们来聊聊Fractal_WeightOscillator_HTF指标,这是一款针对MetaTrader 5的高阶交易指标,能够帮助你在不同时间框架下分析市场。这个指标的输入参数中可以选择时间框架,使用起来非常灵活。
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H4; // 指标图表周期(时间框架)
需要注意的是,Fractal_WeightOscillator_HTF指标依赖于自定义指标文件Fractal_WeightOscillator.mq5,因此在编译之前,请确保将其放置在 <terminal_data_folder>\MQL5\Indicators 目录下。
一旦编译完成,生成的Fractal_WeightOscillator_HTF.ex5文件会将Fractal_WeightOscillator.ex5作为资源包含在内,因此在运行时,原始指标文件不必存在于终端文件夹中。为了实现这一点,代码中已经添加了相应的部分,将WeightOscillator指标包含在可执行文件中。
指标的可执行文件已经作为资源添加到了全局作用域中:
//---- 将自定义指标作为资源包含在指标代码中
#resource \Indicators\Fractal_WeightOscillator.ex5
#resource \Indicators\Fractal_WeightOscillator.ex5
在OnInit()函数中修改了使用的指标路径:
//--- 获取 Fractal_WeightOscillator 指标句柄
Ind_Handle=iCustom(Symbol_,TimeFrame,"::Indicators\Fractal_WeightOscillator",e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
Ind_Handle=iCustom(Symbol_,TimeFrame,"::Indicators\Fractal_WeightOscillator",e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
同时,Fractal_WeightOscillator.ex5源指标文件也包含了作为资源的指标。因此,编译后的可执行文件可以在其他交易终端上独立使用,而无需原始指标的支持。
最后,让我们看看编译文件的顺序:
- Fractal_RSI.mq5、Fractal_MFI.mq5、Fractal_WPR.mq5 和 Fractal_DeMarker.mq5;
- Fractal_WeightOscillator.mq5;
- Fractal_WeightOscillator_HTF.mq5。

图1. Fractal_WeightOscillator_HTF 指标