PrecisionSniper:一款内置回测仪表盘的多技术指标融合信号指标
PrecisionSniper 是一款功能全面的 MetaTrader 5 指标,旨在通过将多种技术指标的汇聚信号整合到单一的加权评分系统中,从而识别高概率的多空交易机会。 PrecisionSniper 不依赖任何单一指标,而是针对每根K线评估多达八个独立条件,为每个条件分配权重,仅当综合评分达到或超过可配置的阈值时才触发信号。 其结果是一个过滤能力极强的信号引擎,能显著减少市场噪音,并使交易者的注意力集中在具有强有力多因素确认的交易设置上。
该指标的核心是利用三条指数移动平均线(EMA Fast、EMA Slow 和 EMA Trend)作为趋势主干,并辅以 RSI 动量、MACD 柱状图方向、ADX 趋势强度、VWAP 位置、 tick 量激增以及可选的高时间周期(HTF)偏向过滤器。 当启用高时间周期偏好时,该因素在评分系统中占据最高单一权重,这使其特别适合希望入场点与大周期趋势保持一致的交易者。信号根据总分被评定为 A+、A、B 或 C 级,而“等级过滤器”输入功能允许用户仅筛选出他们希望交易的等级。
PrecisionSniper 不仅具备信号生成功能,还包含丰富的内置特性:自动绘制入场点、止损点 及三个止盈位;自适应追踪止损功能——每当触及止盈位时,止损点会向前移动;结构感知止损功能——止损点锚定于近期震荡高点或低点之后,而非固定的ATR倍数;以及功能齐全的图表内仪表盘,该仪表盘不仅显示实时市场背景,还直接基于历史价格数据计算出回测表现摘要。 该仪表盘支持三种回测模式:全部加载的历史数据、固定日期范围以及最近 N 根K线的滚动窗口。
提供九种交易预设(自动、剥头皮、激进、默认、保守、波段、加密货币、黄金、自定义),可针对不同的交易品种和时间周期即时重新配置 EMA 周期、RSI 长度、ATR 长度、最低得分和止损倍数。 自动模式会根据图表的当前时间周期自动选择合适的预设。
指标输入
下表记录了每个输入参数、其默认值及其功能。
| 参数 | 默认 | 描述 |
|---|---|---|
| 预设 | 默认 | 选择一个内置配置文件。选项:自动、剥头皮、激进、默认、保守、波段、加密货币、黄金、自定义。自动选项会根据当前图表时间周期自动检测合适的预设。自定义选项使用下方以 C_ 为前缀的输入参数。 |
| 高时间周期 | PERIOD_CURRENT (关闭) | 高时间周期偏好过滤器。当设置为除 PERIOD_CURRENT 以外的任何时间周期时,若高时间周期 EMA 方向与信号方向一致,指标将增加 2 分的评分加分。设置为 PERIOD_CURRENT 以禁用此功能。 |
| C_EmaFast | 9 | [仅限自定义预设] 快速EMA线(蓝色)的周期。用于EMA交叉和间距检测。 |
| C_EmaSlow | 21 | [仅限自定义预设] 慢速 EMA 线(橙色)的周期。快慢两条线之间的间距必须超过 0.15 倍 ATR,才算作有效的 EMA 分离信号。 |
| C_EmaTrend | 55 | [仅限自定义预设] 趋势EMA线(灰色虚线)的周期。价格必须高于(做多)或低于(做空)该EMA线至少0.1倍ATR,方可计入趋势持仓点。 |
| C_RSI | 13 | [仅限自定义预设] RSI周期。当RSI位于50至70之间且呈上升趋势时,多头获1.5分;当RSI位于30至50之间且呈下降趋势时,空头获1.5分。 |
| C_ATR | 14 | [仅限自定义预设] ATR周期。ATR用于止损位设定、止盈位计算、EMA分离阈值、趋势持仓阈值以及波动率区间分类。 |
| C_MinScore | 5 | [仅限自定义预设] 触发信号所需的最低总分。提高此值可筛选出仅具有最高信心的交易机会。理论上的最高分为10(若未启用高频交易,则为9)。 |
| C_SLMult | 1.5 | [仅限自定义预设] 当基于结构的止损(Structure-Based SL)被禁用时,止损距离的ATR倍数。有效止损 = 入场价格 ± (ATR × 止损倍数)。 |
| TP1 风险回报比 | 1.0 | 止盈1(TP1)的风险回报比。TP1距离 = 风险距离 × TP1_RR。当追踪止损启用时,触及TP1会将追踪点移至入场价(盈亏平衡点)。 |
| TP2 风险回报比 | 2.0 | 止盈2的风险回报比。当追踪止损启用时,触及止盈2将使追踪止损移至止盈1的水平。 |
| TP3 风险回报比 | 3.0 | 止盈3的风险回报比。当追踪止损启用时,触及TP3会将追踪止损移至TP2水平。 |
| 止损倍数(所有预设) | 1.5 | 对止损 ATR 倍数的全局覆盖设置。此值始终优先于预设中的内置止损倍数。当结构化止损(Structure SL)被禁用时,此设置适用于基于 ATR 的固定止损。 |
| 信号间最小K线数 | 5 | 冷却期。信号触发后,在该时间段内不会出现同方向的新信号。可防止在震荡行情中信号密集出现。 |
| 启用追踪止损 | true | 激活阶梯式追踪止损。启用后,追踪止损位将在TP1达成后上移至入场价(BE),TP2达成后上移至TP1,TP3达成后上移至TP2。当此功能开启时,回测引擎将使用经追踪调整后的R值。 |
| 基于结构的止损 | true | 启用后,止损位将设置在回溯窗口内最近的波段高点(做空)或波段低点(做多)之外,并增加0.2倍ATR的缓冲距离。若计算出的波段止损位距离入场点不足0.5倍ATR,则回退至基于平滑ATR的止损位。 |
| 波段回溯周期 | 10 | 在为基于结构的止损设置寻找最近的震荡高点或低点时,回溯的K线数量。 |
| 等级过滤器 | 所有信号 | 按等级过滤信号。“所有信号”显示 B、A 和 A+ 等级(C 级可通过“隐藏 C 级”单独隐藏)。“仅 A+ 和 A”要求评分 6.5 或更高。“仅 A+”要求评分 8.0 或更高。 |
| 隐藏C级信号 | true | 当设置为 true 时,无论“等级筛选”设置如何,得分低于 5.0(C 级)的信号均会被屏蔽。建议在实盘交易中保持此功能启用。 |
| 显示多头/空头信号 | true | 在图表上切换买入(绿色向上箭头)和卖出(红色向下箭头)信号标记。 |
| 显示EMA线 | true | 在图表上切换三条EMA线(快线、慢线、趋势线)。禁用此选项可保持图表简洁,同时仍使用EMA数据进行评分。 |
| 显示止盈/止损线 | true | 当设置为 true 时,在最近一根K线出现新信号后,图表上将绘制入场点、止损点、TP1、TP2 和 TP3 的水平线。 |
| 显示追踪止损线 | true | 当此选项为 true 且“启用追踪止损”也为 true 时,将显示一条橙色虚线,表示当前的追踪止损水平。随着交易逐步达到各 TP 水平,该线会实时更新。 |
| 显示仪表盘 | true | 切换图表上的信息面板,该面板显示趋势、评分、信号状态、RSI、ADX、波动率区间、高频偏好、等级过滤器以及完整的回测统计数据。 |
| 回测模式 | 所有已加载数据 | 控制回测仪表板中计入哪些历史K线。选项:“所有加载数据”(整个图表历史数据)、“日期范围”(BtFrom 至 BtTo)、“滚动窗口”(最近 BtRollingBars 根K线)。 |
| [日期范围] 从 | 2025.01.01 | 日期范围回测模式的起始时间。仅统计该日期及之后开仓的交易数据。 |
| [日期范围] 至 | 2025.12.31 | 日期范围回测模式的结束时间。仅在该日期或之前开仓的交易会被计入仪表盘统计数据。 |
| [滚动] 最近 N 根K线 | 500 | 在滚动窗口回测模式中纳入的近期K线数量。有助于在不受早期市场环境影响的情况下,监控近期信号的表现。 |
评分系统
每个K线将根据八项条件进行评估。下表列出了每项条件、其贡献的最高分以及适用的方向。
| 条件 | 分数 | 备注 |
|---|---|---|
| EMA快线/慢线交叉且间距足够 | 1.5 | EMA 价差必须超过 0.15 倍 ATR,以避免在盘整、震荡的市场中计分。 |
| 价格高于/低于EMA趋势线0.1倍ATR | 1.5 | 确认该K线正处于长期趋势线的正确一侧。 |
| RSI位于动量区且呈上升/下降趋势 | 1.5 | 做多:RSI 介于 50 至 70 之间且呈上升趋势。做空:RSI 介于 30 至 50 之间且呈下降趋势。 |
| MACD柱状图沿信号方向扩张 | 1.0 | 通过比较当前柱状图与前一根K线,检测动能加速情况。 |
| 价格位于当前K线VWAP上方/下方 | 0.5 | 当前K线的VWAP按(最高价 + 最低价 + 收盘价)÷ 3计算。 |
| 每笔成交量较20根K线平均值高出20% | 0.5 | 用于检测通常伴随真实突破行情出现的参与度激增。 |
| ADX高于20且DI+或DI-占主导 | 1.0 | 需满足趋势市场条件(ADX高于20),且方向性指数与信号方向一致。 |
| 更高时间周期的EMA偏向一致性 | 2.0 | 仅当高时间周期(HTF)设置为非 PERIOD_CURRENT 值时计分。系统中权重最高。 |
信号等级阈值如下:得分8.0及以上获得A+ 等级,6.5至7.9获得A等级, 5.0至6.4为B,低于5.0为C。Grade Filter和HideCGrade参数协同工作,用于控制哪些等级会以箭头形式显示在图表上。
内置预设配置
下表显示了每个预设应用的具体参数值。“自定义”预设则使用以 C_ 为前缀的输入参数。
| 预设 | EMA Fast | 慢速EMA | EMA趋势 | RSI | ATR | 最小得分 | 止损倍数 |
|---|---|---|---|---|---|---|---|
| 剥头皮 | 5 | 13 | 34 | 8 | 10 | 4 | 0.8 |
| 激进 | 8 | 18 | 50 | 11 | 12 | 3 | 1.2 |
| 默认 | 9 | 21 | 55 | 13 | 14 | 5 | 1.5 |
| 保守派 | 12 | 26 | 89 | 14 | 14 | 7 | 2.0 |
| 摆动 | 13 | 34 | 89 | 21 | 20 | 6 | 2.5 |
| 加密货币 | 9 | 21 | 55 | 14 | 20 | 5 | 2.0 |
| 黄金(每日) | 21 | 55 | 200 | 21 | 20 | 7 | 2.5 |
“自动” 预设会根据上述情况自动选择:5分钟及以下周期使用“剥头皮”策略,6分钟至1小时使用“默认”策略,1小时至4小时使用“激进”策略,4小时以上使用“波段”策略。
仪表盘与回测统计
图表上的仪表盘(通过“显示仪表盘”输入框切换)显示两个部分。上部区域显示实时市场背景,包括趋势方向(看涨、看跌或中性)、当前信号评分和等级、活跃信号状态(做多活跃、做空活跃或等待)、 高频偏好、带超买/超卖标签的RSI、带强度标签的ADX、波动率状态(基于42根K线ATR平均值的“高”、“正常”或“低”),以及当前的等级过滤器设置。
仪表盘的下部区域展示了基于加载图表上的历史信号计算出的回测统计数据。 这些统计数据包括按盈利、亏损和持平结果分类的总交易次数、胜率百分比、利润因子、每笔交易的平均R值、累计R值,以及显示有多少笔交易达到TP1、TP2、TP3或在全额亏损时被止损的TP/SL明细。 回测引擎能正确处理因相反信号而平仓的交易(强制平仓),且不会将这些交易计入止损统计中的实际止损触发次数。
重要提示: 仪表盘中显示的回测统计数据是基于指标信号逻辑应用于当前图表历史K线计算得出的。这些数据未考虑经纪商点差、滑点、隔夜利息、部分仓位管理或实际执行条件。在将任何信号应用于真实交易账户之前,请务必在模拟账户上验证其表现。 历史数据上的信号表现并不保证未来结果。
使用方法
在MetaTrader 5中将PrecisionSniper添加至任意图表,并选择与您的交易品种和时间周期匹配的预设。对于大多数H1或H4时间周期的外汇货币对,默认预设是一个不错的起点。 对于M5或M15等较低时间周期,请尝试“剥头皮”或“激进”预设。对于日线图上的XAUUSD,请使用“黄金”预设。
为进一步提升信号质量,请将“HTF时间周期”参数设置为您当前交易图表之上的一到两个时间周期。例如,若您在H1周期交易,请将HTF设为H4或D1。 此设置仅在更高时间框架的趋势与信号一致时,才增加2点的加分,这意味着当HTF与当前趋势不一致时,只有A级或更高级别的信号才能保留。如果您希望交易次数减少但信心更高,请将“等级过滤器”设置为“仅限A+和A级”。
当买入或卖出箭头出现时,入场点、止损点以及TP1/TP2/TP3线会自动绘制。如果启用了追踪止损,请在交易通过各TP水平时关注橙色虚线追踪线。 追踪止损线在TP1后移至盈亏平衡点,在TP2后移至TP1,在TP3后移至TP2,从而在每个阶段锁定利润。请使用回测仪表盘查看近期信号统计数据,若当前设置产生的信号数量与您的交易风格不符(过多或过少),请调整“最低评分”或“等级过滤器”。
| 文件名 | 描述 |
|---|---|
| PrecisionSniper.mq5 | MetaTrader 5 版 PrecisionSniper 指标的完整源代码 |
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/71860
XANDER Pulse Candles
根据动量状态为蜡烛图着色。四种偏向级别 + 中性 — 专为暗色系图表设计。
机构级MACD
MACD Institutional 是一款专为希望顺应“聪明钱”走势进行交易的交易者设计的高级指标。 与标准MACD不同,后者不加区分地处理每个价格跳动或K线收盘价,而该指标在计算移动平均线之前,会利用动态成交量滤波器来重建价格结构。
Institutional StatArb and Cointegration Spread Z-Score
这是一款专为统计套利(对冲交易)设计的定量多资产振荡指标,它计算两项相关资产之间的对数价差,并通过其Z分数来识别风险中性的均值回归机会。
Institutional GARCH(1,1) Volatility Forecaster
这是一款取代滞后型零售ATR的预测性定量引擎,它利用曾获诺贝尔奖的GARCH(1,1)计量经济学模型,从数学角度预测未来的市场波动率和方差。
