布林带以DRAW_FILLING样式呈现,作为彩色背景显示,这种方式在许多情况下使得指标更加明显。
输入参数:
//+-----------------------------------+ //| 指标输入参数 | //+-----------------------------------+ input 平滑方法 MA_Method1=MODE_SMA; // 第一个平滑方法 input int Length1=100; // 第一个平滑深度 input int Phase1=15; // 第一个平滑参数 input 平滑方法 MA_Method2=MODE_JJMA; // 第二个平滑方法 input int Length2=20; // 第二个平滑深度 input int Phase2=100; // 第二个平滑参数 input int BandsPeriod=100; // BB 平滑周期 input double BandsDeviation = 2.0; // 偏差数量 input 应用价格 IPC=PRICE_CLOSE; // 应用的价格 input int Shift=0; // 指标在柱子上的水平偏移 input int PriceShift=0; // 指标在点上的垂直偏移
该指标的中线由通用移动平均线构成,具有两个平滑层,并且可以从多种平滑版本中选择:
- SMA - 简单移动平均线;
- EMA - 指数移动平均线;
- SMMA - 平滑移动平均线;
- LWMA - 线性加权移动平均线;
- JJMA - JMA 自适应平均线;
- JurX - 超线性平滑;
- ParMA - 抛物线平滑;
- T3 - Tillson 的多重指数平滑;
- VIDYA - 使用 Tushar Chande 算法的平滑;
- AMA - 使用 Perry Kaufman 算法的平滑。
需要注意的是,Phase1 和 Phase2 参数在不同平滑算法中具有完全不同的含义。对于 JMA,它是一个外部相位变量,范围在 -100 到 +100。对于 T3,它是一个平滑比率,乘以 100 以便于可视化;对于 VIDYA,则是 CMO 振荡器周期;对于 AMA,它是一个慢 EMA 周期。在其他算法中,这些参数不会影响平滑效果。对于 AMA,快速 EMA 周期是一个固定值,默认等于 2。提升的比例也等于 2。
该指标使用 SmoothAlgorithms.mqh 库类(必须复制到 terminal_data_folder\MQL5\Include)。关于这些类的使用,详细描述在文章 “在不使用额外缓冲区的情况下平均价格序列进行中间计算” 中。
