请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
指标

Adaptive Kalman Trend Filter with Regime Bands submission - MetaTrader 5脚本

显示:
15
等级:
(1)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
带状态带的自适应卡尔曼趋势滤波器

具有状态带的自适应卡尔曼趋势滤波器

简要说明: 一种单状态卡尔曼滤波器,该滤波器在每个K线周期内均采用考夫曼效率比对自身过程噪声进行缩放,在趋势行情中紧贴价格波动,而在震荡行情中则进行更强平滑处理;图表中绘制了状态带,这些状态带在同一读数下会随之扩张和收缩。

作者: ADEDAYO GBADEBO

其背后的思路

普通的卡尔曼滤波器存在一个弱点,这个弱点迟早会在每张图表上显现出来:决定滤波器采信新价格数据速度的过程噪声(Q)和测量噪声(R)是固定的。如果将Q设得过低,在震荡行情中线形会保持平滑,但一旦真正的趋势开始,就会出现严重的滞后。 若将Q设得较高,虽然能紧跟趋势,但在每个盘整区间内却会出现剧烈震荡。 该指标通过使 Q值自适应 来消除这种权衡:在每个K线中,它计算考夫曼效率比(ER)——即回溯窗口内的净方向性变动除以同一窗口内各K线之间变动的总和——并利用该值将 Q 值在最小和最大倍数之间进行缩放。 当 ER 接近 1(清晰、有方向性的价格走势)时,滤波器的过程噪声会升至最大值,因此卡尔曼增益增加,曲线紧贴价格走势。 当ER接近0(重叠且无明确方向的K线)时,Q会降至最小值,增益缩小,曲线会平滑地穿过噪声区域,而不是追随噪声。

同一效率比率(ER)还驱动了绘制在滤波器周围的两条状态带。这些带宽等于残差(价格减去卡尔曼线)的滚动标准差乘以用户设定的系数,且该系数会随着 ER 的下降而进一步放大,因此趋势状态下带宽自然更窄,而盘整状态下则更宽。 由于整个滤波器是一个从一根K线传递到另一根K线的单一递归状态(无重绘,无前瞻),因此它适用于任何交易品种和时间周期; 该策略主要基于欧元/美元(EURUSD) 和英镑/美元(GBPUSD)H1及H4图表 构建并经过测试,在这些图表上,趋势行情与区间震荡的转换足够频繁,使得其自适应性得以充分发挥。

如何解读该指标

  • 卡尔曼线—— 主要趋势估计值,以颜色编码的线条直接绘制在图表上。当价格处于符合条件的趋势状态且向上移动时,该线显示一种颜色;向下趋势时显示第二种颜色;当效率比率低于趋势阈值且市场被归类为震荡状态时,则显示第三种中性颜色。
  • 自适应过程噪声——在内部,滤波器的Q值每根K线都会重新计算,采用InpMinQMultiplier与 InpMaxQMultiplier 之间的线性混合,并按当前效率比率加权。 正是这一机制使得该线在趋势中具有较低的滞后性,同时在震荡行情中仍能保持平滑度,这与固定参数的移动平均线不同。
  • 上/下区间带——以与近期残差波动率成比例的距离包围卡尔曼线的虚线。区间带收窄表明低噪声、高效率的趋势;区间带保持宽阔且大致平坦,则表明市场处于震荡且均值回归的阶段,此时不应依赖趋势颜色来判断方向。
  • 信号逻辑——卡尔曼线的颜色反转(从灰色变为趋势色或从趋势色变为灰色)仅在K线收盘时发生,因此不会重新绘制。 当价格徘徊在外部波带附近时转为方向性颜色,表明趋势阶段刚刚形成;而在价格持续运行一段时间后转为中性/震荡颜色,则是动能正在减弱、价格即将反转的早期信号。
  • 实际应用——趋势跟随者可将持续的趋势色视为“持仓”信号,一旦该线转为中性灰色,则平仓或收紧止损。 均值回归交易者则可采取相反策略:当颜色为中性且价格正在测试外轨之一时,特别青睐向卡尔曼线方向的反向交易;一旦该线转为趋势色,则暂不参与交易。

外部变量(输入)

输入 默认 用途
InpPriceType PRICE_CLOSE 输入到卡尔曼滤波器中的应用价格。
输入基准处理噪声 0.005 状态模式缩放前的基本卡尔曼过程噪声 (Q)。
InpMeasurementNoise 0.80 卡尔曼测量噪声(R);数值越大,曲线越平滑,增益变化越缓慢。
InpMinQMultiplier 0.5 当效率比接近零(处于波动状态)时,应用于 Q 的下限。
InpMaxQMultiplier 5.0 当效率比接近1时(呈趋势),应用于Q的上限。
InpEfficiencyPeriod 20 用于计算考夫曼效率比的回溯窗口。
输入带宽周期 20 用于计算带外滚动残差标准差的回溯窗口。
InpBandMultiplier 1.5 应用于残差波动率的基础乘数,用于设定与趋势线的带宽距离。
InpRegimeThreshold 0.40 效率比的阈值,超过该阈值,该状态将被归类为趋势行情而非震荡行情。

推荐用法

将该指标加载到一个干净的图表模板上,为提高可见度将线宽调整为2或3,并保留默认的适合灰度显示的配色方案,或替换为自定义的上涨趋势/下跌趋势/盘整趋势颜色。 在H1–H4图表上,建议先使用默认周期,仅当交易的是在不同市场状态间切换更快的金融工具时,才缩短InpEfficiencyPeriod参数。 在将新的方向性反转视为入场信号之前,请将颜色状态与次级确认信号(例如突破前一波段高点或低点)结合使用,并将带状区域附近连续出现两到三根中性颜色的K线视为该指标给出的最强均值回归信号。 由于该过滤器绝不会重绘已收盘K线的颜色,因此直接基于缓冲区的颜色状态构建信号规则并进行回测也是合理的。



图1。当效率比率跨越区间阈值时,卡尔曼线会从中性状态的虚线切换为实线的趋势线;而在高效率趋势阶段,上、下虚线带会收缩,而在两侧震荡区间内则再次扩张。

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/76149

BMP Chart Wallpaper BMP Chart Wallpaper

MT5的BMP图表壁纸背景

Custom Simple Moving Average Custom Simple Moving Average

一种两阶段自适应移动平均线(基础均线 + 二次平滑),该指标会根据斜率自动变色,并用箭头标记价格与均线的交叉点。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。