ForexBestRobots.com比较 EA →
ZH

多货币对策略 · 策略 1

多货币对外汇突破策略:ATR排名与单一持仓

用ATR比较固定外汇品种池中的已收盘H1突破,选出候选后执行统一的成交与风险检查。附虚构BUY算例。

阅读约 14 分钟由 ForexBestRobots 编辑团队审查
三个虚构H1候选的ATR标准化突破得分为0.60、0.50和0.50。EURUSD排名第一,但只有通过成交与账户检查后才允许交易。整个账户只有一个持仓名额,其余候选不排队等候。
固定品种池、统一时钟,以及整个账户共享的单一持仓名额。

多货币对策略需要规定信号之间如何竞争。在多个图表上启动EA,并不会自动产生这套规则。本教学模型比较固定列表上的同步突破,只允许被选中的候选申请共享持仓名额。

采用已收盘K线、同步数据、ATR标准化排名,以及全账户统一的入场流程。这些规则和示例是需要测试的原创假设,并非已验证业绩或推荐参数。高得分不代表对盈利交易的预测。

1. 固定品种池与账户范围

使用同一经纪商的H1数据,品种依次为EURUSD、GBPUSD、USDJPY,同分时严格按此顺序优先。测试前确认实际品种后缀,验证期间保持品种池不变。本版本要求专用账户:最多一个市价持仓,不允许待触发的入场挂单。其他手动或EA持仓会使账户失去新入场资格。

单一名额限制策略同时持仓数,并不能证明分散化。这些货币对仍共享货币和市场事件。请参阅货币敞口指南和账户风险政策。使用单一协调程序或经过测试的共享锁;各图表上的独立副本不得各自占用一个名额。

2. 每小时进行一次同步决策

使用经纪商H1时钟,不假定与UTC的时差。每小时收盘后,最多等待60秒,让所有品种显示同一个已完成信号区间。每个品种至少需要200根已收盘H1 K线、有效价格和正ATR。若窗口内始终无法获得完整快照,就跳过该小时。缺失数据不等于没有信号。

取得首个完整快照时,本次决策即视为已消耗,即使没有候选或后续检查失败也一样。该小时内不重新排名。若决策开始时存在仓位,就进行管理并跳过新入场,即使它立即平仓也不例外。终端重启不得清除已消耗的时间戳或造成重复持仓。

3. 定义收盘突破

新K线开始后,K线0正在形成,K线1是已收盘信号。U为此前20根K线、索引2–21的Bid最高价最大值,L为Bid最低价最小值。信号K线不参与通道计算。C为信号的Bid收盘价,A为以价格单位表示的MT4 iATR(symbol, PERIOD_H1, 14, 1)。本次决策固定使用这些值。

BUY候选要求C > U;SELL要求C < L。相等不算突破。盘中触碰不合格,本版本也没有隐藏额外的趋势、时段或新闻过滤条件。唐奇安指南说明通道概念;这里增加的是统一筛选规则。

4. 仅对合格候选排名一次

BUY得分为(C − U) / A;SELL为(L − C) / A。将正得分四舍五入到6位小数后比较,恰好处于中点时向上取整;表中显示2位。选择最大值,同分使用固定品种顺序。得分衡量相对近期波幅的突破距离,不代表预测收益、风险调整后的质量或独立的货币强弱。

品种ULCATR(14)信号得分
EURUSD1.10001.09001.10120.0020BUY0.60
GBPUSD1.25001.23801.25150.0030BUY0.50
USDJPY150.80149.20149.000.40SELL0.50

表中所有数值都是虚构输入,不是历史K线样本或重建的ATR序列。选中EURUSD,GBPUSD与USDJPY不交易。后二者同分不影响第一名。若首位候选后续检查失败,就跳过决策,而不是改选其他货币对。验证也必须包含这条规则。

虚构且时间对齐的H1输入:EURUSD收于1.1012,高于U 1.1000,ATR为0.0020,得分0.60;GBPUSD收于1.2515,高于U 1.2500,ATR为0.0030,得分0.50;USDJPY收于149.00,低于L 149.20,ATR为0.40,得分0.50。EURUSD排名第一。得分衡量以ATR为单位的距离,并非预期利润或货币强弱。
虚构且时间对齐的H1输入:EURUSD收于1.1012,高于U 1.1000,ATR为0.0020,得分0.60;GBPUSD收于1.2515,高于U 1.2500,ATR为0.0030,得分0.50;USDJPY收于149.00,低于L 149.20,ATR为0.40,得分0.50。EURUSD排名第一。得分衡量以ATR为单位的距离,并非预期利润或货币强弱。屏幕较窄时,可横向滚动查看图示。

5. 检查所选货币对的成交条件

在快照时点,仅检查第一名的新鲜可成交报价。按经纪商时钟,报价年龄必须为0至5秒,点差非负且不大于0.10 × A。BUY当前Bid仍须高于U;SELL当前Ask仍须低于L。回到边界即检查失败。

  • 账户仍为空仓,没有挂单或未解决请求,且能预留共享名额。
  • 入场窗口、报价年龄、点差及当前突破条件均通过。
  • 取整后的止损和目标符合经纪商价格跳动网格与止损距离规则。
  • 交易量合规,模型损失不超过账户预算,保证金充足。
  • 经过测试的订单流程能设置并确认所需初始保护。

检查失败意味着本次决策不发新订单,不改选后续候选,也不在窗口结束后延迟重试。阅读实际的品种规格,不要为了让订单被接受而取消保护或扩大止损。检查条件需要实现并测试,不能假定每个EA都已具备。

6. 固定出口并计算计划交易量

从计划可成交入场价起,止损距离为1.5 A,目标距离为3 A:BUY在下方/上方,SELL在上方/下方。按有效价格跳动网格向入场价方向取整:BUY止损向上、目标向下;SELL止损向下、目标向上。拒绝交叉、零距离或经纪商不允许的价位。重新计算距离;取整可能改变名义毛收益风险比2。

本测试将计划损失预算设为当前净值的0.50%。以账户币种估计到取整止损的损失,加上假设佣金与额外成交预留额,再按经纪商手数步长向下取整。最小交易量仍超预算则跳过。成交后核对成交价、数量和保护;若缺少保护或模型损失超预算,启动事先测试的立即退出/核对流程,并阻止更多入场。本文不提供该控制程序。

7. 计算虚构EURUSD BUY示例

假设USD净值$10,000,每手合约100,000单位,最小手数和步长均为0.01手。EURUSD以A = 0.0020胜出。有效快照中Bid为1.1011,Ask为1.1013,点差0.0002等于允许的0.10 A。假设市价单恰好按Ask 1.1013成交。止损1.0983和目标1.1073均符合假设的0.00001价格跳动网格。

30 pip的止损在额外扣费前对应每手$300。假设每手往返佣金$7,以及不利成交的额外预留总额$10,均按手数线性缩放。预算$50除以$317约为0.1577手,因此使用0.15手。模型损失$47.55,剩余未用预算$2.45。下一档0.16手对应$50.72,不合格。预留额是敏感性假设,不是滑点上限。

互斥结果毛损益佣金额外成交预留额模型净损益
止损情景−$45.00−$1.05−$1.50−$47.55
目标敏感性+$90.00−$1.05−$1.50+$87.45

目标表采用相同假设扣费以便比较成本压力,并非断言所有经纪商都会以不利滑点执行Take Profit。所报点差已体现在假设的Ask入场与Bid退出中,不应再次扣除。时间退出有其未知结果。参见成本指南;这些模型金额都不是预期利润或有保证的损失上限。

可选:复算价格与金额

1.1013 − 1.5 × 0.0020 = 1.0983;1.1013 + 3 × 0.0020 = 1.1073。止损毛损失:0.0030 × 100,000 × 0.15 = $45.00;目标毛利润:0.0060 × 100,000 × 0.15 = $90.00。每手计划损失:300 + 7 + 10 = $317;交易量:50 / 317 ≈ 0.1577 → 0.15。互斥净结果:−45 − 1.05 − 1.50 = −$47.55或90 − 1.05 − 1.50 = +$87.45。小数点和千位逗号使用英语数字记法。

虚构EURUSD BUY:假设按Ask 1.1013成交,止损1.0983位于入场价下方,目标1.1073位于上方。ATR为0.0020,未取整距离为1.5 ATR和3 ATR。交易量0.15手时,止损毛损失为$45.00,目标毛利润为$90.00。扣除往返佣金$1.05和额外成交预留额$1.50后,模型损失为$47.55,或成本压力下目标利润为$87.45。这些是互斥的假设结果,并非预测或成交保证。
虚构EURUSD BUY:假设按Ask 1.1013成交,止损1.0983位于入场价下方,目标1.1073位于上方。ATR为0.0020,未取整距离为1.5 ATR和3 ATR。交易量0.15手时,止损毛损失为$45.00,目标毛利润为$90.00。扣除往返佣金$1.05和额外成交预留额$1.50后,模型损失为$47.55,或成本压力下目标利润为$87.45。这些是互斥的假设结果,并非预测或成交保证。屏幕较窄时,可横向滚动查看图示。

8. 管理持仓与时间退出

保持初始止损和目标固定:本版本不移动止损、不摊平、不加仓、不反手。若任何出口都尚未完成,则在选中品种完成6根H1 K线后请求市价平仓,入场K线在收盘时算第一根。BUY以Bid平仓,SELL以Ask平仓。时间规则是发出请求的条件,并非持仓时长或成交保证。

时间退出到期后使用第一个新鲜可成交报价;故障或休市可能使其延迟。持仓管理应独立于等待其他品种排名数据的过程。失败或不确定的平仓请求需要核对并继续监控,而不是建立新仓。确认退出后,等待下一个合格小时决策,不在已消耗的决策中重新开仓。

9. 跳过并核对,不强行交易

数据陈旧或不同步、无合格突破、账户被占用、检查失败或手数不可行时,均跳过。未选中货币对不排队,恢复后也不重启已消耗决策。超时不能证明入场失败:先检查经纪商实际订单状态,防止重复提交。监控指南介绍数据时效与运行证据。

固定品种池和单一持仓无法消除跳空、经纪商、货币或选择风险。更改货币对列表、入场窗口、排名精度或退出规则,会形成需要重新验证的版本。保留被拒信号和跳过时段,使后续复核能重现货币对之间的竞争。

每次时间对齐的小时决策,先管理现有仓位,并确认账户空仓且没有挂单。只获取一次完整数据快照,对合格突破排名,仅检查第一名。若条件不通过,就跳过本次决策,不改选下一名。订单状态不明时,核对完成前禁止新入场。
每次时间对齐的小时决策,先管理现有仓位,并确认账户空仓且没有挂单。只获取一次完整数据快照,对合格突破排名,仅检查第一名。若条件不通过,就跳过本次决策,不改选下一名。订单状态不明时,核对完成前禁止新入场。屏幕较窄时,可横向滚动查看图示。

10. 验证整个筛选过程

MT4原生策略测试器不会在测试品种以外的品种上执行交易。因此,单独运行各品种测试并不足以验证这一共享名额策略。使用能执行账户规则的同步多品种事件回放,再进行受控前向观察。单品种测试可检查组件,但不是组合验收测试。

在按时间留出的未使用区间测试前固定规则。重现Bid/Ask、缺失更新、成本、取整、同步信号、订单失败和时间退出。如果K线同时覆盖止损与目标,却不知道真实tick路径,不得默认选择有利结果。回测指南说明证据的局限。

  1. 所有货币对是否使用同一已完成决策区间,且无未来数据?
  2. 通道索引、ATR偏移、得分精度和同分顺序能否复现?
  3. 首位候选失败时,是否跳过该小时而不改选下一名?
  4. 账户锁能否在恢复后阻止重叠或重复持仓?
  5. 成本、交易量限制及全部退出路径能否与账户总净值核对一致?

11. 多货币对突破筛选常见问题

ATR得分最高的货币对最赚钱吗?

不是。它只是对已定义的价格距离信号排名,不估计胜率、预期利润或持续优势。

可以独立交易所有合格货币对吗?

那是另一套策略。本版本只允许选中的货币对和一个账户持仓,未选信号不排队。

检查失败后为什么不选择下一对?

因为接受检验的规则是跳过本次决策。替换候选改变了选择过程,必须另行定义并验证为独立变体。

独立MT4回测能证明组合结果吗?

不能。它们遗漏了共享名额竞争,时间或成本也可能不一致。原生测试器对其他品种交易的限制同样重要。需要明确验证合并后的事件序列。

12. 来源与范围

官方参考:MQL4 iATR参数与偏移、MetaTrader的Bid图表与Ask显示及MQL4策略测试器限制。来源核查日期:2026-10-18。这些平台事实不验证本文自行设计的排名规则、系数或预算。

候选输入、报价和结果金额均为虚构教学值。图示准确展示这些假设,并非原始测试报告或已验证业绩。本文不声称盈利、风险水平适合或任何未来结果;仍需实现并完成联合测试。