iForexSessions - MetaTrader 5脚本





该指标假定每个外汇市场的当地“挂钟”交易时间为上午 8:00 - 下午 5:00,悉尼除外,交易时间为上午 7:00 - 下午 4:00 或上午 9:00 - 下午 6:00。
为外汇市场时段(悉尼、东京、伦敦、纽约)绘制彩色矩形。
外汇对和黄金图表上的准确交易时间(外汇对交易于纽约 17:00 开始。黄金一小时后开始)。
该指标考虑经纪商服务器以及时区的 GMT 偏移量 + 夏令时。
指标的时间计算使用 时区信息库
其他经纪人的时钟(位于左下角)以及一些有用的信息:
- 经纪商 GMT 偏移量
- 周末之前的剩余时间(因此您可以在周末之前关闭未平仓交易或跳过新交易)。
- 本地计算机时间同步状态。检查提示 https://time.is/ 如果电脑时间不同步。
在按住“Ctrl”键的同时将鼠标指针移动到图表栏上:栏编号和时间(以及主要外汇市场的相应时间)将被写入图表窗口以进行调试。

默认情况下,指标将搜索并加载 XAUUSD 符号以估计服务器的时区偏移量。 XAUUSD 可以提供更可靠的结果(特别是对于遵循以下规则的经纪商) 欧盟夏令时 美国 DST 期间的几周和欧盟 DST 时间表不同步(3 月和 10 月下旬)。或者,如果您的经纪商遵循美国 DST 时间表,或者根本没有时间表,那么使用图表符号也可以。将此参数设置为“false”以使用当前图表的交易品种,而不是 XAUUSD。
要确定经纪商的夏令时 (DST) 时间表,您可以使用此脚本 https://www.mql5.com/en/code/48650
作为 XAUUSD 在外汇交易后一小时开始的副作用,夏令时切换将在一小时后发生(仅在策略测试器中,而不是在正常模式下)。
奖励功能: 按住“Ctrl”键的同时在图表栏上移动鼠标指针
柱号#及其时间(以及主要外汇市场的相应时间)将被写入图表窗口以进行调试。
然后,要从图表中删除调试信息,只需在图表上的任意位置单击鼠标(无需按“Ctrl”键)。
上述所有指标(以及代码库中的几乎所有其他指标)都使用硬编码的固定时区偏移量,并且不考虑经纪商服务器或时区上的夏令时。简而言之,这是不准确的,因为会话时间在一年中确实会发生变化,原因可能是 1) 经纪商将其时区切换为 DST,或者 2) 一个或多个主要外汇市场更改了其时区的 DST。
注意:该指标已确认适用于以下经纪商列表(具有不同的交易时间表、GMT 偏移量和夏季 DST 时间表):
该指标也应该在其他经纪商上正常工作。
在策略测试器中进行测试期间, 时间GMT() 总是等于 时间交易服务器() 模拟服务器时间。
TimeZoneInfo 库通过分析 H1 报价历史记录,根据“真实”GMT 来估计时区的正确时间,而不是根据调用内置 TimeGMT 函数返回的时间。
如果输入参数“加载 XAUUSD 符号以估计服务器的 TZ/DST”设置为 TRUE:则 dst 切换可能会在一小时后在策略测试器中发生。
附件下载
📎 TimeZoneInfo.mqh (121.12 KB)
📎 SessionHours.mqh (17.48 KB)
📎 iForexSessions.mq5 (39.42 KB)
Source: MQL5 #48842
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
