- 显示:
- 45
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
这是一个下一代超级趋势指标,在经典趋势跟踪概念的基础上增加了一个完整的机器学习引擎。该指标不使用固定的 ATR 乘数和静态规则,而是不断从自身的信号历史中学习,逐条调整其核心参数,并在图表上绘制任何箭头之前,通过多级确认管道过滤条目。它完全在 MetaTrader 5 指标框架内运行,不需要外部库,并公开了一个隐藏的置信 缓冲区,任何 Expert Advisor 都可以直接读取该缓冲区进行自动交易。
该指标分为13 个输入组,涵盖其行为的各个方面:信号模式、波动率包络、动量过滤器、流量分析、信号质量、主反应度盘、自动调整引擎、优化器、风险防范、上下文记忆(制度网格)、衰减跟踪、警报和显示。我们选择了默认值,因此该指标开箱即可在任何液体符号和任何时间框架上运行,但每个参数都可以独立调整,以适应特定工具或交易风格。
指标如何工作
该指标的核心是计算两条超级趋势带--牛线(蓝色)和熊线(红色)--使用 RMA 平滑 ATR 包络线,并应用于用户选择的价格基础。波段宽度和 ATR 周期不是固定不变的:它们从您输入的值开始,然后在每次评估新的交易结果时由优化器不断调整。这意味着,在高波动率期间,包络线会自然扩大,而在市场平静时,包络线会自然收紧,无需任何人工干预。
信号以两种模式之一生成。在 "反转 "模式 下,指标会观察确认的趋势翻转:趋势看跌时必须形成看涨中枢(产生绿色买入箭头),或者趋势看涨时必须形成看跌中枢(产生红色卖出箭头)。在突破模式 中,逻辑是相反的:上升趋势中的新波段高点会触发预期突破失败的卖出信号,而下降趋势中的新波段低点会触发买入信号。这两种模式都要求在绘制任何箭头之前,所有激活的确认筛选器都必须达成一致。
确认过滤器
每个候选信号在被接受之前都要经过三个独立的过滤器。
动量过滤器 使用标准 RSI。要触发买入信号,RSI 必须在最近的回溯窗口内触及或穿过冷位(默认为 30)。要发出卖出信号,RSI 必须触及或穿过热量水平(默认为 70)。这可以防止指标在单边动量运行期间生成反趋势条目。
流量分析 过滤器会检查刻度线成交量。启用 "要求突增 "选项后,只有当当前条形图的成交量超过前面样本条形图的平均值至少突增阈值因子时,才会接受信号。这就消除了发生在低活跃度条形图上的信号,因为在低活跃度条形图上的突破更有可能是错误的。
当 "仅关键水平 "模式激活时,信号质量 过滤器要求信号背后的中枢是一个主要结构水平:从震荡高点到最近的震荡低点(反之亦然)的距离必须超过关键水平深度乘以当前 ATR。这样就能使信号锚定于重要的价格结构,而不是微小的波动。
机器学习引擎
机器学习引擎通过四个合作子系统运行。
上下文存储器(制度网格) 是一个 8x8 的网格(可配置),将市场制度映射到一个轴上,将波动映射到另一个轴上。每个单元都积累了过去在类似条件下进行的交易的指数加权统计数据。在评估新信号时,指标会读取与当前机制和波动率相对应的单元格,使用高斯核(由邻近单元格混合半径控制)混合邻近单元格的建议,并相应调整置信度得分。单元格会随着时间的推移通过半衰期参数衰减,这样陈旧的市场记忆就会逐渐被遗忘。
优化器 每隔几格运行一次(由更新冷却时间设置)。它评估最近交易结果的滚动窗口,并计算五个参数的梯度式更新:波段宽度乘数、ATR 平滑长度、止损距离、止盈距离和突破缓冲区。更新被量化以避免噪声干扰,死区可防止对行为无实质性改变的微调整。定期恢复步骤会将参数拉回到其锚值,以防止在异常市场条件下出现漂移。
衰减跟踪缓冲器 以衰减能量记录的形式存储近期信号结果的短期记忆。每条记录都保存了信号发出时的 ATR 归一化收益、最大不利偏移、制度状态和波动水平。这些记录为优化器提供了比简单的赢/输计数更丰富的背景信息,帮助它区分方向正确但被噪音阻挡的信号和真正错误的信号。
启用微批处理器 后,可将最近的结果分成小批次,并计算批次级参数建议。这些批次信号与优化器的滚动建议相混合,以消除单笔交易的过度反应。
风险防护
风险防护系统位于信号引擎和缓冲写入器之间。即使所有确认过滤器都通过且 ML 引擎认可信号,风险防护系统也会在以下情况下阻止该信号。
- 时段交易限制。 一旦当前交易日的信号数量达到每个时段的最大条目数,则当天剩余时间内不会再绘制其他信号。
- 时段亏损限制。 如果模拟时段的 PnL(根据模拟头寸美元和基于 ATR 的止损距离计算)低于时段损失限制,则所有其他信号都将被阻止,直到下一个时段。
- 亏损后冷却。 交易亏损后,指标会暂停至少 Base Pause After Loss(亏损后基本暂停)条。如果启用了动态冷却,则暂停时间与相对于 ATR 的损失大小成比例,因此损失越大,暂停时间越长。
- 连续亏损。 如果连续亏损的次数达到连亏上限,则在交易时段的剩余时间内暂停交易,与冷却计时器无关。
在每个新交易日开始时,所有 Risk Guard 计数器都会自动重置。
信心分数和 EA 集成
每个信号栏都会收到一个介于 0 和 100 之间的信心分数,并写入隐藏的第五个缓冲区(标签:信心)。该分数由四个部分组成:来自制度网格的网格单元信心、RSI 强烈确认信号方向时的提升、出现成交量激增时的提升以及当前制度与信号方向一致时的提升。智能交易系统可使用 CopyBuffer 读取该缓冲区,并使用分数来调整仓位大小、过滤低置信度信号或对多个符号中的竞争信号进行排序。
仪表盘
启用 "显示信息仪表盘 "后,多列表格将作为文本标签对象直接绘制在图表上。仪表盘分别显示当前趋势方向、多头和空头信号的实际胜率(根据实际 5 条远期价格比较而非模拟计算得出)、滚动 ATR 收益历史中的夏普比率和 Sortino 比率、信号总数、当前置信度得分以及风险防护状态(剩余有效冷却条数、时段内使用的交易、时段 PnL)。仪表盘会在每个新条形图和每个实时跳动点上进行更新。
警报
只要当前(实时)条形图上出现新的买入或卖出箭头,指标就会发出 MetaTrader 弹出式警报和/或移动推送通知。每栏一次警报选项可防止指标在同一栏上因出现新的刻度线而重新计算时发出重复警报。
输入参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| 组 1 - 信号模式 | ||
| 信号类型 | 反转 | 反转:趋势反转时发出信号。突破:在新的极端突破失败时发出信号。 |
| 要求新中枢 | 假 | 为真时,反转信号需要在趋势翻转前形成新的波动极端点。降低信号频率,增加选择性。 |
| 信号间隔 | 10 | 两个连续信号之间必须经过的最小条数。防止快速市场中的信号集群。 |
| 第 2 组 - 波动率包络线 | ||
| 回视窗口 | 30 | 用于为信号逻辑检测波段高点和低点的最近条数。同时设置传递给优化器的初始灵敏度值。 |
| 平滑周期 | 24 | 超级趋势包络的 ATR 周期。由优化器随时间调整。周期越长,波段越平滑,对波动变化的反应越慢。 |
| 波段宽度 | 1.4 | 超级趋势波段的 ATR 倍率。由优化器调整。数值越大,波段越宽,趋势翻转越少,但越可靠。 |
| 价格基础 | hlcc4 | 用作超级趋势波段中点的价格序列。选项:开盘价、最高价、最低价、收盘价、hl2、hlc3、ohlc4、hlcc4。 |
| 真实范围模式 | 真 | 为真时,使用 RMA(Wilder 平滑)对 ATR 进行平滑处理。为假时,使用 EMA 平滑。RMA 是经典的超级趋势惯例。 |
| 第 3 组 - 动量过滤器 | ||
| RSI 有效 | 真 | 启用 RSI 动量确认过滤器。禁用则无论 RSI 位置如何都允许信号。 |
| RSI 长度 | 14 | RSI 计算周期。 |
| 热区内存 | 50 | 在检查 RSI 是否高于热点水平时,需要回溯的条数。卖出信号要求此窗口中至少有一个条形图的 RSI 在热点水平之上。 |
| 冷区内存 | 50 | 检查 RSI 是否低于冷态水平时的回溯条数。买入信号要求此窗口中至少有一个柱状图的 RSI 低于冷态水平。 |
| RSI 热水平 | 70 | RSI 临界值,超过该临界值则认为动量超买。过滤器和信心评分器均使用该阈值。 |
| RSI 冷级别 | 30 | RSI 临界值,低于该临界值,动量被视为超卖。 |
| 第 4 组 - 流量分析 | ||
| 样本深度 | 3 | 对其交易量取平均值以形成激增检查基线的最近交易条数。 |
| 浪涌阈值 | 1.2 | 当前条形图体积必须超过平均体积的这一倍数,浪涌过滤器才能通过。 |
| 要求浪涌 | 假 | 为真时,任何信号都必须有成交量激增。为假时,浪涌检查只是建议性的,不会阻止信号。 |
| 第 5 组 - 信号质量 | ||
| 仅关键电平 | 假 | 为真时,信号仅限于根据关键位深度阈值符合主要结构水平的枢轴。 |
| 关键层深度 (xATR) | 4.5 | 将中枢归类为主要级别所需的最小波动范围(ATR 单位)。 |
| 第 6 组 - 主刻度盘 | ||
| 反应性(1-20) | 10 | 全局灵敏度刻度盘。数值越低,信号引擎对价格波动的反应越小,噪音越小,但反应速度也越慢。数值越大,灵敏度越高。 |
| 微批处理 | 真 | 启用微批次学习子系统,将最近的信号结果分组,并将批次级参数建议与优化器输出混合。 |
| 实时压力传感器 | 真 | 启用实时勾选压力跟踪。传感器会累积每格内的买入和卖出压力,并将其输入制度分类器。 |
| 第 7 组 - 自动调整引擎 | ||
| 启用自动调整 | 真 | 自动调整系统的主开关。禁用时,波段宽度和平滑周期固定为输入值。 |
| 使用背景测试矩阵 | 真 | 启用背景探测系统,该系统会静默跟踪不同参数组合下的假设交易结果,为优化器提供信息。 |
| 将包络线锁定为基准 | 为真 | 为真时,图带(您在图表上看到的)锁定为输入的带宽值。信号引擎内部仍使用自适应参数。 |
| 第 8 组 - 优化器 | ||
| 启用优化器 | 真 | 参数优化器的主开关。禁用时,五个自适应参数保持初始值。 |
| 步长 | 0.25 | 参数更新的学习速率。数值越小,适应越稳定,但速度越慢。数值越大,反应越快,但可能会出现振荡。 |
| 历史深度 | 30 | 用于夏普、Sortino 和胜率计算的滚动统计窗口中最近交易结果的数量。 |
| 胜率上限 | 0.62 | 如果滚动胜率超过此值,优化器会增加 ATR 乘数,以减少信号频率,只捕捉更高质量的设置。 |
| 赢率下限 | 0.38 | 如果滚动胜率降至该值以下,优化器会降低 ATR 倍率,以提高反应速度并重获动力。 |
| 按 ATR 使收益正常化 | 真 | 将交易 PnL 除以信号发出时的 ATR,然后存入滚动收益数组。这使得夏普比率和索蒂诺比率在不同波动率制度下具有可比性。 |
| 动量平滑 | 0.35 | 将 EMA Alpha 应用于优化器梯度,然后再添加到每个参数中。平滑单笔交易的过度反应。 |
| 更新冷却时间(条) | 3 | 参数更新周期之间的最小条数。防止优化器在每个条形图上启动。 |
| 死区宽度 | 0.01 | 抑制小于当前值这一分数的参数变化。防止噪音驱动的微调。 |
| 死区周期 | 0.25 | 死区衰减计算中与死区宽度一起使用的小数周期。 |
| 量程步宽 | 0.05 | 带宽乘数更新的量化步长。将建议值舍入为最接近该步长的倍数。 |
| 量化步长保护 | 0.02 | 自适应停止距离乘法器的量化步长。 |
| 目标量化步长 | 0.02 | 自适应止盈乘法器的量化步长。 |
| 量化步长边缘 | 0.01 | 自适应突破缓冲区的量化步长。 |
| 锚还原间隔 | 200 | 每隔这么多小节,所有自适应参数都会按锚点回调强度分数向其输入锚点值回调。防止长期漂移。 |
| 锚点回复强度 | 0.01 | 每次回调时关闭的当前自适应值与锚点值之间差距的百分比。 |
| 每次交易的 PnL 上限 | 750.0 | 高于此美元绝对值的模拟 PnL 值在存储到滚动收益数组之前会被封顶。防止极端异常值扭曲优化器统计数据。 |
| 第 9 组 - 风险防护 | ||
| 每次交易的最大条目数 | 20 | 单个交易日可绘制的最大信号箭头数量。在每个新交易日开始时重置。 |
| 时段美元损失限额 | -1000.0 | 如果模拟时段 PnL 低于此值,则当天剩余时间内不再绘制信号。 |
| 亏损后基本暂停 | 5 | 信号丢失后允许新信号出现前的最小等待条数。启用后由动态冷却时间扩展。 |
| 连续限制 | 3 | 在交易时段剩余时间内停止交易前允许的最大连续亏损信号条数。 |
| 按亏损大小缩放暂停 | 真 | 为真时,根据相对于 ATR 的亏损大小按比例延长亏损后的冷却时间。损失越大,暂停时间越长。 |
| 第 10 组 - 上下文记忆(制度网格) | ||
| 启用制度网格 | 真 | 启用二维上下文记忆网格,该网格存储每个制度/波动率单元的性能统计数据,并将其建议混合到置信度得分中。 |
| 制度单元 | 8 | 沿网格制度轴的分区数量。更多的分区可提供更精细的上下文分辨率,但代价是单元数量增加较慢。 |
| 波动率分区 | 8 | 网格波动轴上的分区数量。 |
| 相邻混合半径 | 0.8 | 用于混合相邻网格单元建议的高斯核的西格玛值。数值越大,更多的单元格越平滑,数值越小,每个单元格越独立。 |
| 衰减半衰期(交易) | 50 | 网格单元的累积统计数据衰减至其影响力一半的交易次数。控制旧的市场记忆被遗忘的速度。 |
| 信心斜坡(交易) | 20 | 网格单元的置信度建议达到满权重前必须累积的最小交易次数。 |
| 最大网格影响力 | 0.65 | 制度网格可调整优化器输出的最大分数。限制网格的权限,防止其完全凌驾于优化器之上。 |
| 体积比上限 | 2.5 | 对网格分级的波动率轴进行归一化时使用的最大波动率。高于此值的值将被箝制在最高分隔区内。 |
| 第 11 组--衰减跟踪 | ||
| 启用跟踪缓冲区 | 真 | 启用短时记忆跟踪缓冲区,将最近的信号结果存储为衰减能量记录,供优化器使用。 |
| 缓冲区深度 | 30 | 同时保存在内存中的最大衰减跟踪记录数。 |
| 每条衰减率 | 0.02 | 每条跟踪记录的能量在每一新条上衰减的比例。能量低于最小阈值的记录将从缓冲区中删除。 |
| 合并间隔(条) | 200 | 每隔这么多条,具有相似制度和波动特征的跟踪记录就会合并,以减少缓冲区的破碎。 |
| 不利移动阈值 | 0.8 | 以 ATR 单位表示的最大不利偏离,超过此值,跟踪记录将被标记为尾部事件。尾部标记记录对优化器的止损距离参数影响更大。 |
| 保护收紧上限 | 0.02 | 在一个优化器周期内,针对尾部标记的跟踪记录,自适应停止乘数可收紧的最大分数。 |
| 第 12 组 - 警报 | ||
| 信号弹出警报 | 真 | 当实时栏上出现新的信号箭头时,发送 MetaTrader 弹出警报对话框。 |
| 信号推送通知 | 假 | 当出现新信号时,向 MetaTrader 移动应用程序发送推送通知。需要在 MetaTrader 设置中配置推送通知。 |
| 每条警报一次 | 真 | 当指标因收到新的刻度线而在同一条形图上重新计算时,防止重复警报。 |
| 第 13 组 - 显示 | ||
| 守护 xATR | 1.00 | ATR 乘数,用于计算仪表板 PnL 跟踪和风险警戒计算的模拟止损距离。 |
| 目标 xATR | 2.00 | ATR 乘数,用于计算仪表板 PnL 跟踪的模拟获利距离。 |
| 边缘缓冲 xATR | 0.20 | 在突破模式下,在止损或目标水平之外添加的额外 ATR 缓冲,以考虑模拟 PnL 中的价差和滑点。 |
| 模拟头寸美元 | 1000.0 | 以美元为单位的名义头寸大小,用于仪表板和风险监控器中的所有模拟 PnL 计算。不影响实际交易。 |
| 显示信息仪表盘 | 真 | 启用在图表上绘制的多列信息表,显示趋势状态、胜率、夏普/索蒂诺比率、置信分数和风险警戒状态。 |
注: 该指标用于教育和分析目的。机器学习子系统适应历史价格数据,不保证未来表现。在实际交易中使用前,请务必在模拟账户上进行验证。仪表板上显示的模拟 PnL 数字基于 ATR 缩放假设,并不反映实际的经纪商执行条件。
| 文件名称 | 文件名称 |
|---|---|
| ML_SuperTrend.mq5 | ML 超级趋势指标(v10.02)的完整源代码 |
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/72110
XANDER Adaptive Cross
两条自适应移动平均线以不同方式解读市场。交叉是趋势转变的信号。
Institutional GARCH(1,1) Volatility Forecaster
它是一个替代滞后零售 ATR 的预测性量化引擎,利用曾获诺贝尔奖的 GARCH(1,1) 计量经济学模型,从数学角度预测未来的市场波动性和方差。
