外汇持仓可能从价格波动获利,却被融资费用扣掉一部分。在持仓跨越展期之前,先确认费率、单位、融资日历及账户将出现的记账。本指南用虚构数字逐步说明,并区分计划预留与实际入账成本。
1. 外汇中的 swap 与 rollover 是什么
在零售外汇中,swap 通常指持仓跨越经纪商展期截止时点所产生的融资扣款或收入,也常称隔夜利息。Rollover 指将敞口延续至下一融资期间,不一定产生新交易信号或客户可见的新订单编号。本指南讨论零售持仓融资,不是机构掉期衍生品的合约定义。
金额可能因 BUY 与 SELL、品种、账户和日期而不同。仅比较央行利率,无法确定加入经纪商条款与调整后的客户费用。应从实际合约出发,而不是照搬所谓最佳正隔夜利息货币对名单。H4/D1 波段交易指南介绍了需要纳入这项费用的整体持仓计划。
要重现 D1 与 H4 决策,请使用日线与经纪商时间协议,明确边界、周日短 K 线及已完成信息。
2. 看数字之前先读合约
记录准确的 MT4 代码及后缀、账户类型、合约规模、仓位、账户货币、多空费率、计算单位、截止时点及融资日历,并加入适用管理费或换汇费用。一个法人主体或账户的费率,不会自动适用于另一个。保留观察时间,以及当时显示的是参考值还是最终值。
MT4 提供 MODE_SWAPLONG 和 MODE_SWAPSHORT,但 MODE_SWAPTYPE 决定如何解读:0 是价格点数,1 是品种基础货币,2 是利息方式,3 是保证金货币。这是不同计算模式,不是将数字填入同一公式的四种等价写法。用品种规格检查表确认经纪商实现方式、费率基数及结算货币。
| MT4 模式 | 报价单位 | 应如何解读 |
|---|---|---|
| 0 | 价格点数 | 按品种 point 和合约价值换算 |
| 1 | 品种基础货币 | 使用规定的基础货币基数和换算 |
| 2 | 利息 | 核对参照金额、费率与日数基准 |
| 3 | 保证金货币 | 使用指定保证金货币,不猜测账户货币 |
3. 截止时点不等于午夜或最短持仓时间
举例假设合约规定纽约时间 17:00 为截止时点。纽约处于 UTC−4 时,对应 21:00 UTC;处于 UTC−5 时,对应 22:00 UTC。这是有条件的时区换算,并非所有经纪商的统一时间表。D1 K线边界、服务器午夜与融资截止可以是不同事件。
按该虚构条款,纽约 16:59 实际开仓、17:01 实际平仓,即使只持有几分钟也跨越截止。16:59:50 发出、17:00:04 才成交的平仓请求,不能证明在截止前已退出。应依据真实账户事件与合约判断是否计费,而不是计划的请求时间。交易时段与时区指南帮助记录历史时差,避免把本地时钟当作固定 UTC。
4. 为什么三日费用并非一律在周三
周末和假期结算可能使一次展期包含多个融资日。很多外汇合约采用通常在周三调整三天费用的结算模式,但这不意味着可以给每个品种硬编码同一星期几。例如,所引 OANDA 日历因 USD/CAD 的结算周期不同,将其三日调整安排在周四。
使用实际品种、账户和日期对应的日历,包括节假日变化。如果倍数已经包含周末,就不要仅因周六、周日仍显示持仓而再次收取同一周末费用。反过来,周末没有流水也不能证明融资免费。仅凭 D1 K线数量或结单数量,都无法确定正确倍数。
5. 区分 point、pip 和每手货币价值
主要算例采用 EUR/USD,标准合约 EUR 100000,USD 账户,point 与可执行 tick 均为 0.00001,且 1 pip = 0.0001。因此每手每 point 为 USD 1,每手每 pip 为 USD 10。0.05 手时,分别为每 point USD 0.05、每 pip USD 0.50。换算依据是所述合约,不只是报价的小数位数。
该合约显示的 −8.0 point 隔夜利息相当于 −0.8 pip,而不是 −8.0 pips。混淆会把这项费用高估十倍。其他代码、tick 大小、合约或账户货币必须重新计算。使用 tick value 时,先核对其货币及 tick size 与 point 的关系,再缩放数量。未确认计算模式前,不要用点差点数或最小价格变动替换融资单位。
6. 把多头和空头作为独立备选情景
假设虚构合约在多日倍数之前,公布每手每日多头 swap 为 −8.0 point、空头为 +2.0 point。0.05 手的多头扣款为 −8.0 × USD 1 × 0.05 = −USD 0.40/融资日;空头收入为 +2.0 × USD 1 × 0.05 = +USD 0.10。正负号表示账户入账的增减方向。
这是方向不同的备选情景,不是要求同时开两边。某一侧正费率不能证明对冲有利可图,也不会消除不利价格敞口;其他条件下两侧都可能为负。如果公布值已经包含多日调整,就不要再乘一次倍数。交易成本指南将融资与点差、佣金并列说明,同时保持各项费用独立。
7. 按明确日历统计融资天数
假设持仓跨越三个虚构截止:周二倍数 1,周三 3,周四 1。仅为本算例保持两个每日费率不变。倍数合计 1 + 3 + 1 = 5 个融资日。多头记账为 −USD 0.40、−USD 1.20、−USD 0.40,总计 −USD 2.00;独立空头情景总计 +USD 0.50。
因此本例三次展期代表五天融资,而非三笔相同的单日费用。该日历不保证下周、假期周或其他品种的安排。费率变化时,按每个事件适用的费率和倍数分别计算,再累加带符号金额。保留舍入和入账惯例,以便解释之后与结单的差异,而不是掩盖差异。
| 虚构截止日 | 倍数 | 多头入账 USD | 独立空头入账 USD |
|---|---|---|---|
| 周二 | 1 | −0.40 | +0.10 |
| 周三 | 3 | −1.20 | +0.30 |
| 周四 | 1 | −0.40 | +0.10 |
| 合计 | 5 | −2.00 | +0.50 |
8. 年率需要自己的基数与计息天数约定
考虑另一个虚构合约,明确以 USD 5500 名义金额为基数,使用包含所设融资费用的年率 −4.00% 和 360 天分母。三日调整为 5500 × (−0.04) × 3 / 360 = −USD 1.83,按美分舍入。如果该独立合约改为规定 365,同样输入会得到 −USD 1.81。两个分母都不是普遍标准。
这是替代计算方式,不是往点数日历上再加一笔扣款。合约必须定义参照金额、费率、日数基准和换算。名义敞口也不同于保证金:简化的 USD 5500 敞口在 1:100 杠杆下需 USD 55 保证金,在 1:50 下需 USD 110。除非真实合约明确规定,否则不能用这些保证金金额替换融资基数。只改变杠杆并不会改变本例敞口。
9. 只换算一次账户货币
主要的点数日历产生 USD 2.00 扣款。在另一个独立换算示例中,假设 EUR 账户、准确换算率 1 EUR = USD 1.10000,且无换汇费用。扣款成为 −2.00 / 1.10000 ≈ −EUR 1.82。根据报价方向决定乘或除,不要仅因账户以 EUR 计价,就把 USD 费用标成 EUR。
实际换算可能使用经纪商适用的报价侧、时点和费用,因此这个固定教学汇率不是通用结算规则。其他计算模式的融资货币也可能是基础货币或保证金货币。核对结单实际入账金额,适用时也核对单独的换汇流水。不要把已为账户货币的金额再换算一次,也不要用今天的汇率改写历史成本。
10. 对账时区分价格利润、swap 与佣金
回到 USD 账户及点数日历。假设 BUY 实际以 Ask 1.10020、0.05 手入场,在 Bid 1.10320 退出。实际成交间的价格收益是 30 pips,即 USD 15.00。实际入账 swap 为 −USD 2.00,往返佣金为 −USD 0.30,则已实现结果为 15.00 − 2.00 − 0.30 = USD 12.70。这套新成本假设与入门指南的示例不同。
MT4 的 OrderProfit 不含 swap 和佣金。将所选订单带符号的 OrderProfit、OrderSwap、OrderCommission 与结单对账。当前累计 swap 不能再与已构成它的每日流水相加。点差已经体现在可执行成交价中,未使用的 1.0 pip 退出预留,即 USD 0.50,也不是额外入账费用。交易对账指南说明单独调整和未确定的账户事件。
| 入账项目 | 示例 USD 金额 | 处理方式 |
|---|---|---|
| 成交间价格收益 | +15.00 | 实际可执行价格 |
| Swap | −2.00 | 点数日历的实际净扣款 |
| 往返佣金 | −0.30 | 实际费用 |
| 已实现净结果 | +12.70 | 15.00 − 2.00 − 0.30 |
| 未使用退出预留 | 0.00 额外费用 | USD 0.50 只是计划预留 |
11. 仓位取整前先纳入持仓预留
本点数示例每天融资扣款 0.8 pip,五天需要 4.0 pips 持仓预留。加上虚构的 50 pips 价格止损、0.6 pip 往返佣金及 1.0 pip 不利退出预留:50 + 0.6 + 1.0 + 4.0 = 55.6 pips 计划亏损。每手每 pip 为 USD 10,因此在所设期限和费率下为每手 USD 556。
示例预算 USD 30 给出 30 / 556 ≈ 0.05396 手。以 0.01 手为步长,向下取整至 0.05 手,计划亏损 USD 27.80。最低仓位或保证金使计划不可行时应跳过。费率变化、延迟退出和跳空仍可能超过预留,它不是保证亏损上限。使用仓位计算指南检查单位和限制,而不是向上取整强行开仓。
12. 正隔夜利息并不保证正交易结果
考虑另一个空头情景,实际收到日历中的 +USD 0.50。SELL 在 Bid 1.10000 入场、Ask 1.10200 退出,会亏 20 pips,0.05 手相当于 USD 10.00。加上 USD 0.30 佣金,净结果为 −10.00 + 0.50 − 0.30 = −USD 9.80。即使远小于价格亏损,实际收到的利息仍应计入流水。
不要只为获得更多利息而加大仓位,也不要假定多空持仓抵消全部成本。截止前后平仓再开仓涉及实际成交、点差、可能的佣金和执行不确定性,不能当作免费的融资规避方式。平仓失败还会留下敞口及融资可能。应比较完整且可执行的替代方案,而不是只看吸引人的费率正号。
13. 对变化的费率和日历做压力分析
对相同五个融资日做简单敏感性分析,将每手每日多头假设从 −8.0 改成 −12.0 point。0.05 手的总扣款便由 USD 2.00 增至 USD 3.00。即使图表信号不变,新增的 USD 1.00 也可能改变是否符合入场条件。这是敏感性计算,不是预测,也不是新的当前经纪商报价。
历史测试还应允许两次截止之间费率改变,以及假期导致倍数移动。保存数据快照和适用账户条款;当前品种属性不是过往费用档案。免隔夜利息等账户名称不能说明全部持仓成本,仍需检查费表与条件。若存在替代管理费,应按其自身条款入账,既不能凭空编造,也不能默认为零。
14. 将展期市场风险与融资入账分开
融资调整只是展期窗口中的一个事件。稀疏报价、点差扩大、新闻、跳空、平台中断和保证金压力也可能影响持仓。swap 估值并不描述这些执行风险。断开 MT4 也不会关闭经纪商端融资,而依赖终端的 EA 平仓仍需相关进程运行。
按实际成交与状态记录止损、平仓和保证金事件。普通止损在跳空中未必按指定水平成交,计划在截止前退出也必须成功才算完成。检查包含未平仓的权益和共同敞口,而不只看已结余额或整齐的每日利息总数。账户风险管理指南提供整体预算框架。
15. 沿完整持仓路径测试融资
保留每个持仓的历史费率来源、单位、合约、时区映射、截止计费资格、倍数、换算和记账惯例。与原始入场退出报价、佣金、点差条件及失败请求结合。缺少历史融资输入时,应标明并压力测试假设,不要把临时的零成本占位值当作经纪商实测历史。
融资变化要作用于入场资格、仓位、管理及随时间变化的权益,而不只从最终利润扣除。按时间顺序分隔开发、后续未参与开发的测试及前向观察。模拟账户可以检查计算和对账,却不能证明实盘费用及成交完全相同。MT4 回测指南说明报告设置与数据为何限制其结论。
16. 相信结果前先检查持仓成本
评估隔夜持仓前,明确品种和账户、多头或空头费率、计算模式、融资货币、实际截止时点、历史时差、倍数及换算规则。以货币金额计算计划持仓,再按唯一账户事件保留实际流水。区分单日费率与已调整费用,以及累计字段和它的组成记录。
目标是可解释的净结果和可测试的成本假设,不是宣称正隔夜利息或较慢策略一定有效。定价变化可能使旧计划失效;继续取证或否定它都是有效结果。商业 EA 必须有自己的规则与结果文档。虚构例子不能证明本网站任何机器人实现了这些计算,或赚到所示金额。
常见问题
外汇 swap 是什么,与 rollover 有何关系?
Swap 通常是零售持仓跨越经纪商截止时点的融资扣款或收入。Rollover 是延续至下一融资期间。实际账户条款决定单位、时间和金额,不一定产生新的可见交易。
Swap 报价 8 point 就是 8 pips 吗?
对于示例五位小数的 EUR/USD 合约,不是。一个 pip 是十个 point,因此 8 point 等于 0.8 pip。先确认模式、合约、仓位和货币,再把显示值换算成金额。
三日隔夜利息总在周三收取吗?
不是。品种结算、假期、账户条款及经纪商日历决定倍数。一些外汇合约常在周三,而所引 OANDA 日历把 USD/CAD 安排在周四。应使用适用历史日历。
只持仓几分钟也可能产生融资费用吗?
可能,取决于实际截止时是否符合合约条件。虚构示例中,16:59 入场、17:01 退出跨越纽约 17:00。截止前提交平仓请求不等于截止前已经成交。
MT4 利润应如何与 swap、佣金核对?
使用所选订单带符号的价格利润、swap 和佣金,再核对结单其他独立调整。例中 USD 15.00 − 2.00 − 0.30 = USD 12.70。不要把累计 swap 与每日组成项相加,也不要再次计入未使用预留。
正隔夜利息保证盈利吗?
不保证。独立空头示例收到 USD 0.50,但价格亏 USD 10.00,支付 USD 0.30 佣金,净亏 USD 9.80。收入不会限制不利价格变动、执行费用或未来费率变化。
来源与教学说明
OANDA 说明了融资截止时点、变化的多空费率及结算日倍数。MetaQuotes 定义 MT4 隔夜利息计算模式;本指南也核对了订单利润和 swap 文档以确认对账处理。所有价格、费率、日历、换算和结果均为虚构教学假设,并非经纪商当前条款或实测业绩。年率例子是另一个假想合约,并非 OANDA 定价,也不是对点数例子的额外收费。
教育内容。示例的费率、日历、价格、仓位和结果均为虚构。外汇交易存在风险。融资收入、止损及计划预留都不保证退出、最大亏损或未来表现。