首页 技术指标 帖子

二元波动指标 - 专为MetaTrader 5设计的交易工具

附件
679.zip (21.26 KB, 下载 0次)

作者: LeMan

二元波动指标根据市场走势的看涨或看跌预期,返回正值或负值。当多个二元波动指标结合在一起时,它们的真实力量会显现出来。

我将七个独立的二元波动合并成一个复合波动:

  1. 收盘价相对于其移动平均线(高于 - 低于);
  2. MACD斜率;
  3. OsM与零线的交叉;
  4. CCI与零线的交叉;
  5. 动量交叉水平100;
  6. RSI交叉水平50;
  7. DMI+和DMI-相对位置(ADX)。

在创建复合波动时,首先测试各独立二元波动的有效性非常重要。一个好的复合波动,其结果应优于包含的各个独立波动。您可以通过将某个波动的权重(Weight参数)设为零,来从复合波动中排除该波动,从而验证独立波动的有效性。

二元波动的解读相对简单:较高的值表示看涨趋势,而较低的值则表示看跌趋势。复合波动的值依赖于包含的独立波动数量。您可以通过为相应的Weight参数分配值来“加权”二元波动的读数,以反映其预测能力的质量。例如,一个复合波动的某个组成部分可以赋值为5,而另一个可以为0.75。波动的最大总权重在指标区域的左上角以括号形式显示。

您可以通过设置bLength参数大于1来平滑二元波动。

我相信您可以轻松理解该指标的工作原理,并利用它为您的交易系统创建高质量的过滤器。

此指标提供十种平滑类型供您选择:

  1. SMA - 简单移动平均;
  2. EMA - 指数移动平均;
  3. SMMA - 平滑移动平均;
  4. LWMA - 线性加权移动平均;
  5. JJMA - JMA自适应平均;
  6. JurX - 超线性平滑;
  7. ParMA - 抛物线平滑;
  8. T3 - Tillson的多重指数平滑;
  9. VIDYA - 使用Tushar Chande算法进行平滑;
  10. AMA - 使用Perry Kaufman算法进行平滑。

需要注意的是,不同平滑算法的Phase类型参数含义各不相同。对于JMA,Phase是一个外部变量,范围从-100到+100。对于T3,它是平滑比率乘以100以便更好地可视化;对于VIDYA,它是CMO振荡器周期;而对于AMA,它是慢EMA周期。在其他算法中,这些参数不会影响平滑效果。对于AMA,快速EMA周期是固定值,默认等于2,指数提升的比率也等于2。

该指标使用SmoothAlgorithms.mqh库类(必须复制到terminal_data_folder\MQL5\Include)。类的使用已在文章“不使用额外缓冲区进行中间计算的价格系列平均化”中详细描述。

该指标首次在MQL4中实现,并于2009年8月21日发布在CodeBase

BinaryWave

指标输入参数:

//+-----------------------------------+
//|  指标输入参数       |
//+-----------------------------------+
//--- 指标权重。如果值为零,则指标不参与波动计算
input double WeightMA    = 1.0;
input double WeightMACD  = 1.0;
input double WeightOsMA  = 1.0;
input double WeightCCI   = 1.0;
input double WeightMOM   = 1.0;
input double WeightRSI   = 1.0;
input double WeightADX   = 1.0;
//---- 移动平均参数
input int   MAPeriod=13;
input  ENUM_MA_METHOD   MAType=MODE_EMA;
input ENUM_APPLIED_PRICE   MAPrice=PRICE_CLOSE;
//---- MACD参数
input int   FastMACD     = 12;
input int   SlowMACD     = 26;
input int   SignalMACD   = 9;
input ENUM_APPLIED_PRICE   PriceMACD=PRICE_CLOSE;
//---- OsMA参数
input int   FastPeriod   = 12;
input int   SlowPeriod   = 26;
input int   SignalPeriod = 9;
input ENUM_APPLIED_PRICE   OsMAPrice=PRICE_CLOSE;
//---- CCI参数
input int   CCIPeriod=14;
input ENUM_APPLIED_PRICE   CCIPrice=PRICE_MEDIAN;
//---- 动量参数
input int   MOMPeriod=14;
input ENUM_APPLIED_PRICE   MOMPrice=PRICE_CLOSE;
//---- RSI参数
input int   RSIPeriod=14;
input ENUM_APPLIED_PRICE   RSIPrice=PRICE_CLOSE;
//---- ADX参数
input int   ADXPeriod=14;
//---- 包括波动平滑
input int MovWavePer     = 1;
input int MovWaveType    = 0;
input Smooth_Method bMA_Method=MODE_JJMA;// 平滑方法
input int bLength=5;                    // 平滑深度
input int bPhase=100;                   // 平滑参数

相关帖子

评论 (0)