今天我们来聊聊一款非常实用的指标——超绝无滞后LWMA。这个指标基于多个信号线的分析,帮助我们更好地识别市场趋势。
信号周期(数字) = 起始长度 + 数字 * 步长
这里的“数字”变量范围从零到总步数。通过这个算法,我们得到了多个平滑值,这些值会在每个指标的tick中被使用,从而计算出当前趋势的方向,以及整个数组中正向和负向趋势的数量。
最终的正向和负向趋势数值会被平滑处理,并作为指标线形成一个彩色直方图。这个直方图的颜色代表了趋势的方向,而其宽度则代表了趋势的强度。
为了表示趋势,指标使用四种颜色来区分两个方向:当直方图值未进入超买/超卖区域时,颜色较深;而当突破超买/超卖水平时,颜色会变得更浅。
指标的输入参数
//+----------------------------------------------+ //| 指标输入参数 | //+----------------------------------------------+ input uint FLength=7; // 平滑深度 input Applied_price_ IPC=PRICE_CLOSE_; // 价格常量 //---- input Smooth_Method W_Method=MODE_JJMA; // 平滑方法 input int StartLength=3; // 初始平滑周期 input int WPhase=100; // 平滑参数 //---- input uint Step=5; // 周期变化步长 input uint StepsTotal=10; // 周期变化次数 //---- input Smooth_Method SmoothMethod=MODE_JJMA; // 平滑方法 input int SmoothLength=3; // 平滑深度 input int SmoothPhase=100; // 平滑参数 //---- input uint UpLevel=80; // 超买水平 input uint DnLevel=20; // 超卖水平 input color UpLevelsColor=Blue; // 超买水平颜色 input color DnLevelsColor=Blue; // 超卖水平颜色 input STYLE Levelstyle=DASH_; // 水平样式 input WIDTH LevelsWidth=Width_1; // 水平厚度
在平滑算法中,你可以从十种可能的版本中进行选择:
- 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,提升的比例也是2。
该指标使用了SmoothAlgorithms.mqh库类(请将其复制到<terminal_data_folder>\MQL5\Include)。有关类的使用,您可以参考文章“在不使用额外缓冲区的情况下对价格序列进行平均计算”。

图1 超绝无滞后LWMA指标