- 显示:
- 26
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
1. 概述
Alpha-Beta趋势过滤器 是一种源自控制理论和数字信号处理的预测性平滑指标。从概念上讲,它相当于一个简化的稳态卡尔曼滤波器。 标准移动平均线(SMA、EMA、LWMA)完全依赖于对历史数据的平均计算——因此本质上会滞后于实时价格走势——而阿尔法-贝塔滤波器则在过滤市场噪音的同时,主动估算当前的“真实”价格及趋势速度。
此特定的 MQL5 实现方案通过整合多符号、多时间周期矩阵仪表盘,对经典的单线指标进行了升级。它允许交易者直接通过单张图表监控整个投资组合的 Alpha-Beta 趋势偏向,并随每个报价点动态更新。
2. 数学引擎
该过滤器对每个新价格K线进行迭代处理。它依赖于两个主要的调参系数:
-
$\alpha$(阿尔法): 价格敏感度系数。它控制原始新价格观测值相对于滤波器内部预测值的权重。
-
$\beta$(贝塔): 速度敏感系数。它控制对趋势动量变化的响应程度。
该算法针对每根K线执行两个不同的阶段:
阶段 1:预测步骤
在当前K线收盘之前,该滤波器会根据上一根K线计算出的状态,预测当前价格($\hat{P}_{t}$)和速度($\hat{V}_{t}$):
第二阶段:更新步骤
一旦实际收盘价($Z_{t}$)公布,该滤波器便会计算其预测值与实际值之间的误差/残差($E_{t}$),并更新其内部状态:
其中:
-
$Z_{t}$: 当前K线的实际收盘价。
-
$P_{t}$: 更新后的平滑价格估计值(绘制在图表上)。
-
$V_{t}$: 更新后的速度(用于判断多头/空头趋势倾向)。
3. 该实现方案的主要特点
-
零滞后预测平滑: 主指标线比传统指数移动平均线(EMA)更紧密地贴合价格走势,使其成为快速交叉策略的绝佳基础层。
-
动态颜色编码绘制: 主图表线利用 DRAW_COLOR_LINE 函数,根据$V_{t}$ 的内部状态在蓝色(看涨速度)和红色(看跌速度)之间自动切换。
-
非侵入式矩阵仪表盘: 图表上的图形化用户界面可跟踪用户自定义外部符号列表中多达 5 个时间周期的趋势状态(看涨、看跌、观望)。
-
轻量级资源管理: 仪表盘中的外部符号和时间周期不会加载完整的历史数据。脚本仅通过 CopyClose() 提取计算实时状态所需的最小数量K线,从而避免终端延迟。
4. 输入参数说明
过滤引擎设置
-
inpAlpha(默认值:$0.2$): 取值范围通常为$0.1$ 至$0.9$。 较高的$\alpha$ 值能紧密追踪原始价格(非常适合剥头皮交易);较低的$\alpha$ 值会大幅平滑走势,以忽略横盘震荡(更适合波段交易)。
-
inpBeta(默认值:$0.05$): 取值范围通常为$0.01$ 至$0.5$。 较高的$\beta$ 值会对突发的动量变化做出剧烈反应;极低的$\beta$ 值则假设趋势稳定且坚定不移。
仪表盘网格设置
-
inpSymbols(默认值:“EURUSD,GBPUSD,USDJPY,AUDUSD”): 以逗号分隔的字符串,包含您希望跟踪的交易品种。代码会使用 StringSplit() 自动解析该字符串。
-
时间周期切换(showM5 至 showD1): 布尔型输入参数,用于自定义矩阵仪表盘上显示的列。
5. 架构与代码亮点
对于审查源代码的 MQL5 开发者,请注意以下结构设计:
-
时间序列索引: MQL5 默认会按从最旧到最新的顺序对数组进行索引。为了与标准交易逻辑保持一致(其中 [0] 代表当前实时K线),代码对所有指标缓冲区和获取的数组都广泛使用了 ArraySetAsSeries(buffer, true) 函数。
-
状态提取辅助函数: GetStateForTarget() 函数是仪表盘使用的独立循环。它会获取目标符号/时间周期的 50 根 K 线收盘价,初始化预测引擎,并返回一个整数状态(0 表示看涨,1 表示看跌),无需调用外部的 iCustom 函数。
-
干净的对象初始化解除: OnDeinit() 函数会遍历 UI 前缀(AB_Matrix_),以确保在指标被移除的瞬间,所有图形标签均从图表中清除。
6. 交易应用
-
超短线交易配置: 尝试将$\alpha$ 设为 0.45,$\beta$ 设为 0.12。彩色线条将快速翻转,使您能够捕捉 M1 或 M5 图表上的微趋势。
-
宏观波段交易配置: 将参数值调低至$\alpha$ 为 0.15,$\beta$ 为 0.02。在日内波动期间,指标将趋于平稳,使您能够持仓直至出现真正的宏观速度转变。
-
矩阵汇聚: 利用仪表盘,仅在当前图表中,当该特定交易品种的 H1、H4 和 D1 单元格完全呈现相同颜色时,才进行交易。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/74958
SuperTrend_Amarnath_Kondiyan_Mohan
采用篮式止盈止损管理的超级趋势策略
CKS Position Risk Dashboard
一个只读的MT5仪表盘,用于基于风险的手数设定、账户健康状况、经纪商交易量限制以及当前交易品种的风险敞口。
