真实作者: 账目管理者
SnakeInBorders是一个用于MetaTrader 5的指标,它通过计算市场的过滤通道,限制在两个边界(BorderTopBuffer[] 和 BorderBotBuffer[])之间,并生成信号(MartBuffer[])。
指标输入参数
//+--------------------------------------------+
//| 指标输入参数 |
//+--------------------------------------------+
input 平滑方法 XMA_Method=MODE_LWMA_; //平滑方法
input uint SnakeRange=2; //蛇形轴计算的半周期
input int XPhase=15; //第一个平均参数,影响过渡过程的质量
input uint 过滤周期 = 24; //过滤周期
input double MartFiltr = 2; //市场过滤比率,值越大,过滤通道越窄。默认值为2;
input bool 硬计算 = true;
input 应用价格 IPC=PRICE_WEIGHTED_;//价格常量
input int 移动=0; //水平指标在柱上的移动
input int 价格移动=0; //垂直指标在点上的移动
input color 上边界颜色=clrMediumSeaGreen;
input color 下边界颜色=clrRed;
//| 指标输入参数 |
//+--------------------------------------------+
input 平滑方法 XMA_Method=MODE_LWMA_; //平滑方法
input uint SnakeRange=2; //蛇形轴计算的半周期
input int XPhase=15; //第一个平均参数,影响过渡过程的质量
input uint 过滤周期 = 24; //过滤周期
input double MartFiltr = 2; //市场过滤比率,值越大,过滤通道越窄。默认值为2;
input bool 硬计算 = true;
input 应用价格 IPC=PRICE_WEIGHTED_;//价格常量
input int 移动=0; //水平指标在柱上的移动
input int 价格移动=0; //垂直指标在点上的移动
input color 上边界颜色=clrMediumSeaGreen;
input color 下边界颜色=clrRed;
信号线在通道内的表现
当市场上涨时,信号线会远离下边界,穿越通道并靠近上边界。反之亦然,当市场下跌时,情况也是如此。
在市场发生方向性移动时,信号线会保持在相应的通道边界。通道的宽度扩大意味着市场走势的加强,而在市场波动时,通道会变窄。在通道收窄期间,信号线会在通道内从一边移动到另一边。达到对边后,通道会开始扩展。
SnakeInBorders可以独立使用,通过比较不同时间框架上的信号线移动,也可以用于构建其他指标,使用Mart替代柱价格。对于如MA、OA、AC等指标,可以设置硬计算为true,而对于ZigZag、Channel等指标,则应设置为false,并且MartFiltr的值应在3到5之间选择。可以区分真实峰值和虚假峰值:如果一个峰值是中间的,Mart信号线不会与边界匹配。
该指标使用了SmoothAlgorithms.mqh库类(请将其复制到<终端数据文件夹>\\MQL5\Include)。有关类的使用,已在文章“在不使用额外缓冲区的情况下平均价格序列进行中间计算”中详细描述。
该指标首次在MQL4中实现,并于2006年12月19日发布在CodeBase上。

图1. SnakeInBorders指标