今天,我想和大家聊聊一个非常有用的指标——3XMA_Ishimoku。这个指标结合了三条 移动均线,其计算原理源自 Ichimoku Kinko Hyo。
这几条较慢的移动均线,结合不同的周期,形成了一个云层,云层的颜色则表示趋势的方向。可以说,使用这个指标的效果几乎等同于使用 Ichimoku 指标。
指标输入参数:
//+-----------------------------------+ //| 指标输入参数 | //+-----------------------------------+ input uint Up_period1=3; // 最高价计算周期 1 input uint Dn_period1=3; // 最低价计算周期 1 input uint Up_period2=6; // 最高价计算周期 2 input uint Dn_period2=6; // 最低价计算周期 2 input uint Up_period3=9; // 最高价计算周期 3 input uint Dn_period3=9; // 最低价计算周期 3 //---- input MODE_PRICE Up_mode1=HIGH; // 查找最高价的价格类型 1 input MODE_PRICE Dn_mode1=LOW; // 查找最低价的价格类型 1 input MODE_PRICE Up_mode2=HIGH; // 查找最高价的价格类型 2 input MODE_PRICE Dn_mode2=LOW; // 查找最低价的价格类型 2 input MODE_PRICE Up_mode3=HIGH; // 查找最高价的价格类型 3 input MODE_PRICE Dn_mode3=LOW; // 查找最低价的价格类型 3 //---- input Smooth_Method XMA1_Method=MODE_SMA; // 平滑方法 1 input Smooth_Method XMA2_Method=MODE_SMA; // 平滑方法 2 input Smooth_Method XMA3_Method=MODE_SMA; // 平滑方法 3 //---- input int XLength1=8; // 平滑深度 1 input int XLength2=25; // 平滑深度 2 input int XLength3=80; // 平滑深度 3 input int XPhase=15; // 平滑参数 input int Shift1=0; // 指标 1 的水平偏移 input int Shift2=0; // 指标 2 的水平偏移 input int Shift3=0; // 指标 3 的水平偏移
您可以选择十种不同的平滑算法:
- SMA - 简单移动均线;
- EMA - 指数移动均线;
- SMMA - 平滑移动均线;
- LWMA - 线性加权移动均线;
- JJMA - JMA 自适应平均;
- JurX - 超线性平滑;
- ParMA - 抛物线平滑;
- T3 - Tillson 多重指数平滑;
- VIDYA - Tushar Chande 算法平滑;
- AMA - Perry Kaufman 算法平滑。
需要注意的是,不同平滑算法的相位参数具有完全不同的含义。例如,对于 JMA,它是一个外部相位变量,范围从 -100 到 +100;而对于 T3,它是一个平滑比率,乘以 100 以便更好地可视化。对于 VIDYA,它是 CMO 振荡器周期,而对于 AMA,它是慢 EMA 周期。在其他算法中,这些参数不会影响平滑效果。对于 AMA,快速 EMA 周期是固定值,默认为 2。
将 XMA_Ichimoku.mq5 编译文件放入 MQL5\Indicators\ 目录中。
这个指标使用了 SmoothAlgorithms.mqh 库类(需要复制到 terminal_data_folder\MQL5\Include)。这些类的使用在文章 “在不使用额外缓冲区的情况下对价格序列进行平均计算” 中有详细描述。
