日线是按时间规则划分的价格区间摘要。即使采用相同报价,两张图也可能呈现不同的日内高点、收盘价与形态。跨经纪商比较波段交易规则前,应明确每根 K 线包含哪些价格、何时可用,以及当时哪些低周期信息已经完成。
1. MT4 日线实际代表什么
D1 汇总分配给一个日区间的开盘、最高、最低与收盘价格,即 OHLC。日期标签取决于图表的构建方法。零售外汇没有一根所有经纪商必须显示的集中式统一日 K 线。品种名称相同,也不能证明报价源、Bid/Ask 价格侧、交易时段或 K 线边界相同。
本指南定义可重现的数据时间规则,而非入场形态。图表更整齐不代表信号更赚钱。先阅读H4/D1 波段交易框架,再记录开发、后续测试与向前观察中采用的 K 线定义。
2. 比较图表前先写数据规范
记录经纪商与服务器、完整品种及后缀、源文件或报价流、Bid/Ask/中间价、时间戳精度、历史 UTC 转换、日线边界与交易日历。补充周日、假日、空区间、重复时间戳及数据修订的处理方式。保留源数据版本或哈希,确保后续运行能识别同一输入。
仅改变终端显示或电脑时区,不会重新构建经纪商提供的 OHLC。自定义重采样是另一套数据,必须有自己的规范。不要混合 Bid、Ask 与中间价 K 线,再把差异全部归因于时间。品种规格指南有助于识别实际合约。
3. 把相同报价分入两个明确的日区间
表格就是本次计算使用的全部虚构 EUR/USD Bid 报价,不暗含额外观测。所有时间均为 UTC。时钟 A 的周一区间定义为 [2026-08-02 21:00, 2026-08-03 21:00),时钟 B 为 [2026-08-03 00:00, 2026-08-04 00:00)。A 按结束日期把该交易日称为周一,这是已声明的标签约定。
左方括号表示包含恰好位于起点的报价,右圆括号表示排除恰好位于终点的报价。因此,2026-08-03 21:00 的报价属于 A 的下一段,2026-08-04 00:00 的报价属于 B 的下一段。两段虽有重叠,纳入的观测却不同。保持报价流相同能分离分组效应;真实跨经纪商比较还可能存在报价源差异。
| 日期,UTC | 时间,UTC | 虚构 Bid |
|---|---|---|
| 2026-08-02 | 21:00 | 1.10000 |
| 2026-08-02 | 23:00 | 1.10100 |
| 2026-08-03 | 00:00 | 1.10050 |
| 2026-08-03 | 08:00 | 1.09800 |
| 2026-08-03 | 16:00 | 1.10300 |
| 2026-08-03 | 20:59:58 | 1.10200 |
| 2026-08-03 | 21:00 | 1.10400 |
| 2026-08-03 | 23:59:58 | 1.10500 |
| 2026-08-04 | 00:00 | 1.10350 |
4. 仅用实际纳入的观测计算 OHLC
每段内,Open 为首个报价,Close 为最后报价,High 为最大值,Low 为最小值。A 得到 O 1.10000、H 1.10300、L 1.09800、C 1.10200;B 得到 O 1.10050、H 1.10500、L 1.09800、C 1.10500。设 1 pip = 0.0001,则 High−Low 波幅分别为 50 和 70 pips。
两个收盘价都不自动等于查看完整 K 线后仍能成交的价格,它们只是各自区间内的末次观测。之后下单需要当时的 Bid/Ask 与独立执行记录。稀疏教学报价并不声称覆盖观测间的真实市场极值。K 线阅读指南解释价格组成与报价侧。
| 时钟 | 开盘 | 最高 | 最低 | 收盘 | 波幅,pips |
|---|---|---|---|---|---|
| A | 1.10000 | 1.10300 | 1.09800 | 1.10200 | 50 |
| B | 1.10050 | 1.10500 | 1.09800 | 1.10500 | 70 |
5. 用历史偏移和夏令时映射经纪商时间
若采用有条件的纽约收盘约定,纽约 17:00 在 UTC−4 时对应 21:00 UTC,在 UTC−5 时对应 22:00 UTC。服务器午夜若分别处于 UTC+3 或 UTC+2,就能与这些边界对齐。这是时区换算,不是所有经纪商的统一安排。链接中的 OANDA FAQ 用 EST/GMT+2 描述其日线时刻,这一简短表述不足以提供完整历史夏令时规则。
保存按日期对应的服务器至 UTC 映射,并在切换前后核查实际 K 线时间。各地区可能在不同日期调时,不能用今天的偏移改写全部历史。TimeGMTOffset 针对本地电脑,并非经纪商历史偏移档案。交易时段与夏令时指南补充时区背景。日线边界与融资截止点也应分别定义。
6. 区分预定结束与观察到完成
MT4 时间序列的索引 0 是当前形成中的 K 线。观察到新 K 线后,索引 1 通常指前一根可用 K 线,却未必是前一个自然日。检查所请求的品种、周期、历史加载情况与时间戳。iTime 返回 K 线开盘时间,本地历史为空时可能返回 0;不能把零当作有效市场时刻交易。
另一个延迟报价示例中,旧区间末次报价在 20:59:58,边界为 21:00,新区间首个报价在 21:00:04 到达。预定结束是 21:00,但由 tick 触发的程序直到 21:00:04 才观察到切换。不能把其决策或成交倒填到旧收盘时刻。TimeCurrent 反映服务器最后已知报价时间,并非独立连续前进的 UTC 时钟。
7. 选择周日短 K 线规则并明确变化
另设虚构周开盘为周日 21:00 UTC,按 UTC 午夜划分的数据就可能出现 [周日21:00, 周一00:00),只有 3 小时的短 K 线。若交易日从周日 21:00 延续到周一 21:00,这些开盘报价便进入周一区间。这里描述的是假设窗口,并非所有经纪商的交易时间或命名方式。
保留短 K 线、将其排除出合资格观测、或并入指定相邻 K 线,会形成不同数据集。把它排除出信号回看并不会消除真实敞口或融资费用。合并必须用纳入的观测重新计算 OHLC,删除一行并不等于合并。应在测试前决定,并与周边界和持仓年龄计数保持一致。
8. 把缺失区间与假日作为数据问题处理
没有报价的区间就没有观测到的 Open、High、Low 或 Close。不要虚构可交易的平直 K 线,也不要向前填充旧价格后声称是经纪商历史。区分正常休市、报价源故障与下载不完整。保留缺失标记,并规定模型等待、跳过该决策还是排除受影响样本。
K 线位置统计可用观测,而非保证每段都有 24 小时。跨假日的七根 K 线可能覆盖更多自然日。iBarShift 在 exact=false 时可能跨历史空缺返回邻近 K 线,exact=true 时可能返回 −1。该设置只是查找行为,不证明报价完整;仍须检查返回的开盘时间及目标区间。
9. 按实际区间对齐 H4,而非匹配图表标签
固定以 UTC 午夜为基准时,H4 名义开盘为 00:00、04:00、08:00、12:00、16:00、20:00 UTC。若日边界为 21:00 UTC,并从此锚定四小时区间,则为 21:00、01:00、05:00、09:00、13:00、17:00。这些规则网格假设偏移固定;缺失交易时段与时钟切换须另行处理。
在 D1 决策边界 21:00 UTC,UTC 网格的 H4 [20:00, 00:00) 仍在形成,其最终高、低、收盘含有未来信息。该网格上最近按计划结束的 H4 是 [16:00, 20:00),还须验证数据实际可用。A 网格的 [17:00, 21:00) 与 D1 同时结束。应按核实的结束区间和可用时间选择,不能从另一个报价源复制 H4 索引。
| 固定网格 | H4 开盘,UTC | D1 21:00 UTC 时 |
|---|---|---|
| UTC 午夜 | 00:00 / 04:00 / 08:00 / 12:00 / 16:00 / 20:00 | [16:00, 20:00) 已结束;[20:00, 00:00) 形成中 |
| A,21:00 UTC | 21:00 / 01:00 / 05:00 / 09:00 / 13:00 / 17:00 | [17:00, 21:00) 与 D1 同时结束;核实可用性 |
10. 改变时钟可能改变窄幅筛选
另一个独立虚构 NR7 示例中,两套时钟之前六根合资格日线波幅都设为 55、60、65、80、75、90 pips。规定候选波幅必须严格小于其中每一个。A 的 50 pips 通过;B 的 70 不通过,因为 70 不小于 55。这些历史波幅是说明性输入,并非从九条报价表重建。
真实重采样也可能改变此前六根波幅,因此要重算整个回看区间,而非只替换最新 K 线。预先定义并列值、短 K 线资格及缺失时段。该例仅展示数据条件对分组的敏感性,不提供 NR7 入场、离场、回测或收益结论。不要看完哪种时钟赚钱最多再作选择。
11. 用同一日历构造周参考与持仓年龄
周参考必须明确起点、终点、时区、合资格时段和可用时刻。五行或六行日线本身不等于一周已经完成。使用原生 W1 时,应检查真实开盘时间与报价源约定。重建一周时,应聚合原始观测或正确对齐的组成 K 线,并排除之后的信息。
同样要区分按合资格已完成 K 线数量退出、按经过小时退出、以及按周五指定截止点退出。假日与短 K 线会使触发时点不同。融资另行处理:隔夜利息与展期指南说明为何仅凭 D1 数量或经过的夜晚不能确定融资天数。
12. 仅根据当时可用信息进行日次决策
在独立延迟示例中,21:00:04 观察完成,验证所需 K 线,再于 21:00:05 评估新报价。假设到期固定为 21:01:00,则只有其他预写条件也全部通过时才允许评估。21:01:01 的报价已经过期,重启 MT4 不会重置机会。这些时刻展示事件顺序,而非推荐执行窗口。
任何假设订单前都要求有效历史、及时报价、可接受点差、品种可交易及唯一决策记录。按此示例协议,数据未知或事件过期均不产生新请求。分别记录请求、拒绝、成交和重试状态;收盘信号不等于收盘价成交。交易对账指南补充事件记录方法。
13. 分开验证数据构建与执行假设
先比较原始报价、区间归属和计算出的 OHLC,再比较信号资格与首次可观察时刻,最后才核查实际或模拟的可执行价格、点差、佣金、融资与跳空。不能通过调整滑点或仓位大小来解释数据阶段的不一致。
跨报价源比较时,统一时间戳与价格侧定义,并报告没有共同观测的位置。图形相似度或相同最终利润不能证明 K 线一致。保留预期与实际差异,包括被拒绝的决策。对经纪商原生 K 线与自定义重采样分别标记,使结果能追溯到实际使用的数据。
14. 验证历史期间与重启后的时间规则
检查普通周、相关夏令时切换两侧、周日开盘、假日及已知数据空缺。确认组成 H4 是否适合指定 D1 窗口、重复记录是否一致处理,以及重跑是否得到相同结果。修订后的源数据应保存为新版本,不能静默覆盖先前结果的证据。
重启必须恢复最后处理的决策及状态,不能虚构错过的成交或重复下单。历史延迟下载应按已固定规则推迟或作废决策。MT4 回测指南解释更广的测试局限;一次成功聚合不能验证交易模型或实盘执行。
15. 比较业绩前冻结规范
保存源标识、价格侧、时间转换、历史偏移映射、日与周边界、区间纳入规则、短 K 线与缺失政策及 H4 可用性测试。增加模型版本、决策期限与重启处理。有效审计行应关联原始观测、K 线、资格判断与后续账户事件,而不把它们压缩为同一时间戳。
时间约定改变时,应建立新数据或模型版本,重跑开发检查,并按时间顺序评估未使用的后续数据。保留被淘汰配置与选择理由。多次比较后挑出历史上最漂亮的 K 线布局,即使所有 OHLC 计算正确,也可能产生选择偏差。
16. 采用可重现的日线检查清单
信任 D1 结果前,应能回答:哪一个报价源与价格侧、哪些起止点、哪些历史 UTC 偏移、如何处理周日和假日、最后完成的 H4 是哪根、首次观察在何时?手工重建一个已知小样本,验证缺失处理,并保留其他运行可以遵循的版本化清单。
目标是解释从报价到完成信息、再到可能执行事件的全过程。任何时钟、形态或五日图都不保证更高收益。虚构例子不证明本站商业 EA 使用这些约定或能复现判断。在有意义的业绩比较之前,已记录的不一致可能足以要求进一步调查或放弃使用。
常见问题
MT4 外汇日线几点收盘?
取决于经纪商报价源与 K 线约定。检查服务器时间及历史偏移。条件性的纽约 17:00 边界在 UTC−4 时为 21:00 UTC,在 UTC−5 时为 22:00 UTC,并非通用 MT4 设置。
为什么两家经纪商的日线不同?
它们可能采用不同区间、报价或价格侧。本例分离分组效应:同一虚构报价得到 50 与 70 pips 的日波幅。既要核查时钟,也要核查报价源。
应该删除周日短 K 线吗?
没有统一答案。保留、从回看中排除或并入指定相邻 K 线,会改变数据定义。应提前固定政策;删行不会重算合并 OHLC,也不会消除真实敞口。
EA 可以把索引 0 当作已完成日线吗?
索引 0 是正在形成的 K 线。观察到新 K 线后,先检查前一根的时间戳及历史加载情况,再将其视为完成。第一次决策可能晚于预定边界。
最新 H4 能确认 D1 收盘吗?
只有该 H4 区间已结束、且数据在决策时可用才行。21:00 UTC 时,UTC 网格的 [20:00, 00:00) 仍在形成,不能因果地使用其最终值。
纽约收盘图能证明策略更好吗?
不能。它只是构建约定。应比较规范完整的数据与规则,使用按时间顺序的测试、现实费用,并保留选择历史。图形更整洁或历史结果好看不证明未来业绩。
来源与教学说明
MetaQuotes 文档说明了时间序列索引、K 线时间及历史缺失时的行为;同时核对了 iTime、iBarShift、TimeCurrent 与 TimeGMTOffset。所引 OANDA FAQ 仅描述该经纪商的时间约定,并不提供通用 MT4 时刻表或完整历史夏令时映射。本文报价、波幅与决策时序均为虚构教学示例。聚合与验证规则是明确声明的编辑约定,并非策略业绩证据。
教育内容。报价、日历与决策示例均为虚构。外汇交易涉及风险。正确构建 K 线不证明盈利能力、保证执行或未来业绩。