
每个运行网格交易、马丁格尔策略或任何均价策略的人都会问同一个问题——“我的账户资金是否足够? ”—— 而几乎所有人都给出了错误的答案。
通常的答案是上一级网格的亏损额。但这并不是导致账户爆仓的真正原因。真正导致账户爆仓的是保证金水平触及经纪商的强制平仓线,而此时交易头寸仍处于未平仓状态,表面上看起来似乎还有挽回的余地。
该专家顾问会计算出真实的数值,然后将算术结果转化为有用的信息:它会扫描该交易品种自身的M1历史数据,统计此前曾发生过多少次如此大幅度的价格波动。
该程序严格 为只读模式。它绝不会开仓、平仓或修改持仓。
它存在的目的是为了纠正以下三个错误,而这些错误都倾向于让人产生错误的安全感
- 一条包含 N 个子段的链在第 × N 步时不会处于浮动状态。 最旧的子段距离当前位置 (N−1) 步,下一个距离 (N−2) 步,以此类推,因此总距离为step × N(N−1)/2。以 10 个子段为例,这意味着 45 步的亏损,而非 10 步。
- 持仓在浮动期间也会锁定保证金。 强制平仓是将 净值与已用保证金进行比较,因此该分数的两部分会同时对你不利——亏损不断扩大,而缓冲空间却在缩小。
- 强制平仓是一个百分比,而非零。 账户 并不需要损失全部资金。在常见的50%阈值下,损失一半的净值就已经足够触发强制平仓。
报告内容
| 行 | 含义 |
|---|---|
| 完整链段跨度 | 从最新区段到最旧区段的价格距离。 |
| 当链条完整时显示为浮动 | 以账户货币计价的“步长 × N(N−1)/2 ”数值 。 |
| 锁定的保证金 | 来自 OrderCalcMargin,非推导值——只有交易终端才知道您的经纪商的规则。 |
| 完整的链是指 | 浮动头寸加上保证金,占权益的百分比。 |
| 导致头寸平仓的不利行情 | 价格朝不利方向波动到何种程度时,经纪商才会采取行动。 |
| 此时持有的头寸 | 发生时实际存在的仓位数量。 |
| 过去N天内的次数 | 如此大幅度的波动发生频率,以真实的M1K线为计数单位。 |
为什么最后两行比其余内容更重要
“你需要86美元的浮动空间”是一种抽象概念。“过去100天内发生了71次86美元的波动,平均每1.4天一次”则是一个决策依据。 频率是从累计极值开始计算的,并在每次事件后重置,因此一次持续下跌仅计为一次,而非按每根K线计数——该数据始终与天数保持可比性。
而此时“仓位敞口 ”解答 了一个人们常争论却未曾量化的问题:如果账户在交易链填满前就耗尽资金,你的仓位上限就永远无法达到,无论提高还是降低它都毫无意义。
本文将阐明三个容易出错的细节
- 每价格单位的资金量 源自 该交易品种的点值和点差,而非合约规模。差价合约(CFD)指数、金属和货币对对“合约规模”的定义各不相同,而盈利货币与账户货币不一致的交叉货币对,其点值中已包含所需的汇率换算。
- 对冲头寸通常不会使保证金翻倍。 在 对冲账户 中, 经纪商通常只对较大的一方收取保证金,而非两者之和——以真实账户为例,6个多头加2个空头头寸的保证金收取额为6,而非8。 该EA通过读取SYMBOL_MARGIN_HEDGED来判断,当无法读取该规则时,它会假设最严格 的情况 ,因为涉及自身安全时的假设绝不应过于乐观。
- 随着价格波动,链式头寸会逐步填补。 计算 完整链式头寸所需的保证金时,会在仅存在两个头寸的时刻,按 N 个头寸的保证金标准计费。 对于小额账户且步长较大时,这种配置会产生“你已经出局”的错误提示,而其实际结果只是普通的价格波动。该EA会在每个包含k个交易腿的区间内进行求解,并采用第一个自洽的解——即在该价格下链式头寸确实包含k个交易腿的解。
输入参数
| 输入 | 含义 |
|---|---|
| InpGridStep | 两段之间的距离,以价格(而非点数)为单位。 |
| InpLots | 每段的合约数量。 |
| InpMaxLegs | 每条链的交易腿数——您的上限。 |
| InpBothSides | 多头和空头链是否同时运行。 |
| InpEquity | 假设的净值。设为 0 时将使用真实账户,这样您就可以测试目前尚未持有的仓位规模。 |
| InpStopOutLevel | 强制平仓百分比。输入0将向经纪商查询。 |
| InpHistoryDays | 要扫描的M1历史数据天数。0表示跳过频率检查。 |
On InpEquity。 将其 设置为 账户中不存在的数值正是该功能的要点,而非权宜之计:它能回答“此配置实际上需要多少资金”这一问题,而无需先进行入金。
它无法做到什么
这并非回测,也无法说明策略是否盈利。它只回答一个问题:在给定的配置和账户条件下,价格可以反向波动到什么程度才会导致经纪商强制平仓,以及这种程度的波动有多常见。
此外,该工具也不模拟价格回升的情形。能够存活的交易链是指价格最终回到了该点位——而该工具衡量的是价格偏离的幅度,这正是决定当价格回调时你是否还能留在市场中的关键因素。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/76972
AI Prompt Writer - Simple AI Assistant Customization
通过一个简单的提示文件,您可以自定义 MetaTrader 5 AI 助手,选择其语言、个性、菜单和行为。
Session Range Desk MT5
一款基于交易时段区间突破的EA,具备ATR过滤、止损距离调整、可选的持平平仓/部分平仓功能,以及共享图表工作台。支持对冲账户;作为教育资源,附有记录在案的执行和协调限制。