作者:Svinozavr
AsymmetricStochNR是对标准随机振荡器的增强版本。与标准随机振荡器相比,AsymmetricStochNR在参数设置上有三大不同:
K周期现在由两个值组成——短期KperiodShort(短期)和长期KperiodLong(长期)。
增加了超买(OB)和超卖(OS)水平参数。如果随机振荡器进入OS/OB区域,K周期(寻找高点/低点的长度)会进行切换。
第三个不同之处是敏感度限制,即Sens参数,允许在设定的点数下切断低于一定水平的波动,从而显著减少虚假信号。标准的随机振荡器在%K(K周期)参数设定的条形图中定位当前价格与价格高点和低点之间的关系,而极端点之间的差异无论是1还是100点,都将显示OS/OB值。因此,实施一定的限制可以切断对交易系统不重要的波动。
行为:
当随机振荡器进入超卖(OS)区域时,指标会在短期K周期(KperiodShort)内寻找低点,而在长期K周期(KperiodLong)内寻找高点;相反,当进入超买(OB)区域时,低点在长期间隔内寻找,而高点则在短期内寻找。
解读和使用:随机振荡器进入OS/OB区域通常意味着趋势方向的切换。然而,趋势切换并不总是意味着可以根据当前趋势方向进入市场。应该在修正时开仓,而修正可以通过50%线的交叉或触碰来识别。如果你采用“海龟”策略,应该在修正期间增加仓位。在趋势切换时,应该完全平仓或减少持仓,后者情况下,可在修正期间完全平仓,并同时开设一个相反方向的新仓位。止损水平设置在之前的(相反)极限附近,留有合理的回撤,但在实际操作中触发的可能性不大。止损设置仅用于应对突发情况。
该指标最初在MQL4中实现,并于代码库上发布于2010年4月22日。
指标输入参数:
//+-----------------------------------+ //| 指标输入参数 | //+-----------------------------------+ input uint KperiodShort=5; // %K周期 input uint KperiodLong=12; // %K周期 input Smooth_Method DMethod=MODE_SMA; // 信号线平滑方法 input uint Dperiod=7; // %D信号线周期 input int DPhase=15; // 信号线平滑参数 input uint Slowing=3; // 减速 input ENUM_STO_PRICE PriceField=STO_LOWHIGH; // 计算价格选择参数 input uint Sens=7; // 敏感度(点数) input uint OverBought=80; // 超买水平,%% input uint OverSold=20; // 超卖水平,%% input color LevelsColor=Blue; // 水平线颜色 input STYLE Levelstyle=DASH_; // 水平线样式 input WIDTH LevelsWidth=Width_1; // 水平线宽度 input int Shift=0; // 指标在条形图中的水平偏移
该指标允许从十种可能的版本中选择信号线的平滑类型:
- 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)。关于这些类的使用已在文章“无额外缓冲区的中间计算的价格系列平均化”中详细描述。
