在 MQL5 市场获取: Session & Killzones PRO
风险提示。 交易存在亏损风险。本指标在图表上标记交易时段、killzone 和参考水平;它不预测市场,不下单交易,也不保证任何结果。请将其与您自己的分析和风险管理结合使用,并先在模拟账户上测试。

Session & Killzones PRO 在图表上绘制亚洲、伦敦和纽约交易时段以及 ICT killzone,并显示每个时段以点数表示的波幅、前一日最高价和最低价(PDH / PDL)以及 ADR 投影。每个时段都按其所在市场的当地时间计算,美国和英国的夏令时分别处理,因此全年无需更改任何设置,方框都能保持在正确位置。面板显示当前开放的时段、当前 killzone、距伦敦和纽约开盘的倒计时、K线收盘倒计时以及 ADR。警报可在每个时段开盘和每个 killzone 开始时触发。两个缓冲区向 EA(Expert Advisor)提供时段和 killzone 状态。
适用于任何交易品种(外汇、黄金、指数、加密货币)。时段方框绘制在 H1 及以下 时间周期上。本指标不会开仓。
1. 安装与快速开始
- 从终端的 Market 选项卡安装本指标(工具箱 → Market → 已购买 → 安装)。
- 打开 H1 或更低时间周期的图表(日内交易最常用 M5 和 M15),从导航器(Indicators → Market)将 Session & Killzones PRO 拖到图表上。
- 保持默认输入参数或进行调整(第 9 节),然后按 OK。
快速开始
- 大多数外汇和黄金经纪商采用 GMT+2 / GMT+3;当 Broker time zone = Auto 时,指标会自行识别服务器时间。如果您的经纪商使用其他服务器时间,请参阅第 3 节。
- 默认显示 London 和 NY AM 两个 killzone;其他 killzone 可在 KILLZONES 组中开启。
- 将时段波幅和 PDH / PDL 用作参考水平,将 killzone 用作您集中注意力的时间窗口。
- 若要在时段开盘或 killzone 开始时收到提醒,请设置 Session open alert 或 Killzone start alert(第 8 节)。

2. 图表图例
| 图表上 | 含义 |
|---|---|
| 深蓝色方框 | 亚洲时段(东京 09:00 – 18:00,东京时间)。 |
| 深绿色方框 | 伦敦时段(08:00 – 17:00,伦敦时间)。 |
| 深红色方框 | 纽约时段(08:00 – 17:00,纽约时间)。 |
| 时段周围较浅的轮廓 | 该时段完整的最高价和最低价(Box style Filled + outline 和 Outline only)。 |
| 例如 London 1234 pts 的文字 | 时段名称和波幅(最高价 − 最低价,以点数计),位于方框左上方。 |
| 金色点线轮廓 | 一个 killzone,从其第一根到最后一根K线,包围该时间段的最高价和最低价。 |
| 银色虚线 PDH / PDL | 前一日最高价和最低价,绘制在今天的区域上。 |
| 兰紫色点线 ADR High / ADR Low | 今天的 ADR 投影(第 6 节)。 |
| 面板 | 当前开放的时段、当前 killzone、倒计时、ADR(第 7 节)。 |
将鼠标悬停在方框或线条上即可查看提示信息,例如 London | 1234 pts 、 NY AM KZ | 456 pts 或 PDH 2655.40 。方框绘制在背景中,位于K线后面。当两个波幅文字在屏幕上会重叠时(例如 H1 上的伦敦和纽约),较晚的文字会被抬高到较早的文字上方。
3. 交易时段与时区
| 时段 | 当地时间 | 夏令时 |
|---|---|---|
| 亚洲 | 东京 09:00 – 18:00 | 无(日本不实行夏令时) |
| 伦敦 | 伦敦 08:00 – 17:00 | 英国规则 |
| 纽约 | 纽约 08:00 – 17:00 | 美国规则 |
指标将经纪商服务器时间转换为各市场的当地时间。美国和英国在不同日期调整时钟;每年有 2 到 3 周只有其中一方已经调整,在这些星期里方框同样保持正确。
Broker time zone(经纪商时区)
| Broker time zone | 适用情况 |
|---|---|
| Auto (live) / GMT+2/+3 in tester(默认) | 大多数经纪商。在实时图表上,服务器偏移量在指标启动时识别。对于 GMT+2 / GMT+3 经纪商,夏令时 / 冬令时的切换会在整个历史中跟踪。对于采用其他偏移量的经纪商,当前识别的偏移量会用于所有过去的日子,因此处于另一夏令时期间的过去日子的方框可能偏差一小时;如果这一点很重要,请使用 Fixed GMT offset。在策略测试器中,Auto 按 GMT+2 / GMT+3 工作。 |
| GMT+2 / GMT+3 (New York close brokers) | 您的经纪商冬季为 GMT+2,美国夏令时期间为 GMT+3。实时和测试器中结果相同。 |
| Fixed GMT offset | 您的经纪商全年使用同一偏移量。请在 Broker GMT offset 中输入(例如 0、1、3)。当您的经纪商不是 GMT+2 / GMT+3 时,在策略测试器中也请使用此模式。 |
- Broker GMT offset (fixed mode and tester) 由 Fixed GMT offset 模式使用,实时和测试器中均适用。使用 Auto 时,测试器采用 GMT+2 / GMT+3,不读取此值:若要在测试器中使用您自己的偏移量,请选择 Fixed GMT offset。
- 周六和周日不绘制时段和 killzone,周末也交易的品种(加密货币)同样如此。
- Days to draw(默认 5)从最后一根K线起向前按日历日计算,包括周末。
4. 方框样式

MetaTrader 的矩形没有透明度:两个重叠的填充方框会混合颜色。Box style 用于选择伦敦 / 纽约重叠部分的显示方式:
| Box style | 效果 |
|---|---|
| Filled, overlaps shown in the later session + full-range outline(默认) | 每根K线以最后开盘的时段颜色填充(纽约覆盖伦敦,伦敦覆盖亚洲)。每个时段还保留一个较浅的轮廓,显示其完整的最高价和最低价以及波幅文字。 |
| Filled full range (overlaps mix colors) | 每个时段在其整个波幅范围内填充;重叠部分显示混合色。 |
| Outline only | 只显示较浅的轮廓和波幅文字;K线完全可见。 |

Show range size on boxes = false 会隐藏文字;波幅仍显示在提示信息中。
5. Killzone

Killzone 遵循 ICT 定义,以 纽约时间 设定:
| Killzone | 纽约时间 | 默认 |
|---|---|---|
| Asian KZ | 20:00 – 00:00 | 关闭 |
| London KZ | 02:00 – 05:00 | 开启 |
| NY AM KZ | 07:00 – 10:00 | 开启 |
| London Close KZ | 10:00 – 12:00 | 关闭 |
| NY PM KZ | 13:30 – 16:00 | 关闭 |
- 每个 killzone 都有自己的开 / 关输入参数。全部使用 Killzone outline color(金色)。
- Killzone 以点线轮廓的形式绘制在其K线的最高价和最低价周围;提示信息显示其名称和以点数计的波幅。
- 在 H1 上,从 :30 开始的 killzone(NY PM)会从下一根整点K线开始。使用 M30 或更低周期可看到其准确的开始时间。
6. 水平:PDH / PDL 和 ADR

PDH / PDL — 您的经纪商前一根日线的最高价和最低价,从今天开始处绘制到最后一根K线右侧几根K线处,并带有 PDH 和 PDL 标签。
ADR 投影 — ADR 是最近 ADR days(默认 14)个已结束交易日的平均日波幅。
- ADR High = 今日最低价 + ADR:如果今天从当前最低价起达到其平均波幅,当日最高价将位于此处。
- ADR Low = 今日最高价 − ADR:如果今天从当前最高价起达到其平均波幅,当日最低价将位于此处。
- 这些线会随着今日最高价和最低价的变化而移动。面板显示以点数计的 ADR 以及今天已使用的比例( used 63% )。
许多交易者认为,已用掉大部分 ADR 的交易日在同一方向上剩余空间较小;这只是参考,不是信号。
这些水平在所有时间周期上绘制,包括 H1 以上。
7. 面板
| 行 | 内容 |
|---|---|
| Open now: London + New York | 当前服务器时间开放的时段,或 none 。 |
| Killzone: NY AM KZ | 当前 killzone,或 none 。 |
| London opens in: 05:12:30 / London: open | 距下一次伦敦开盘的倒计时(超过一天时显示 1d 02:15 )。 |
| New York opens in: ... / New York: open | 距下一次纽约开盘的倒计时。 |
| Candle closes in: 00:04:12 | 当前K线的剩余时间;周末不交易的品种在周末显示 Market closed 。 |
| "ADR(14): 2350 pts | used 63%" | 以点数计的 ADR 和今天已使用的比例;日线历史加载期间显示 ADR: loading 。 |
- 倒计时每秒更新,没有新报价时也会更新。
- Panel corner(默认左下角)可将面板放在图表任意一角;Show panel = false 可隐藏面板。
- 面板的 Killzone 行会在全部五个 killzone 中显示当前所处的一个,即使其轮廓已关闭。
8. 警报
| 输入参数 | 触发时机 | 消息 |
|---|---|---|
| Session open alert | 亚洲、伦敦或纽约时段的第一根K线开盘时 | Asia session open 、 London session open 、 New York session open |
| Killzone start alert | 已开启的 killzone 的第一根K线开盘时 | London KZ started 、 NY AM KZ started 、... |
文字包含产品、品种和时间周期,例如 Session & Killzones PRO: XAUUSD | M15 | London session open 。
- 模式:Off(默认)、Popup、Sound、Smartphone notification、Popup + Sound、Notification + Sound、Popup + Notification、Popup + Sound + Notification。Sound:终端 13 种声音之一(默认 alert)。
- Also send e-mail 会将每条警报同时通过电子邮件发送(Tools → Options → Email)。即使两种警报模式均为 Off,电子邮件也会发送。
- 警报在时段或 killzone 内的第一根K线 开盘 时发出,因此精确度取决于时间周期:在 M5 上,伦敦开盘警报在伦敦开盘时发出;在 H1 上,从 :30 开始的 killzone 会在下一个整点发出警报。
- 时段开盘警报对全部三个时段发送,即使某个时段的方框已关闭。Killzone 警报只对已开启的 killzone 发送。
- 周末、在时段中途加载指标时以及在策略测试器中不会发送警报。
- 推送通知需要在 Tools → Options → Notifications 中设置 MetaQuotes ID。
9. 输入参数
标题即 Inputs 选项卡中的输入参数组。
TIME ZONE
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Broker time zone | Auto (live) / GMT+2/+3 in tester | Auto、GMT+2 / GMT+3 (New York close brokers)、Fixed GMT offset(第 3 节)。 |
| Broker GMT offset (fixed mode and tester) | 2 | Fixed 模式下的服务器偏移小时数。 |
SESSIONS
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Days to draw | 5 | 绘制方框的日历天数,从最后一根K线起向前计算。 |
| Asia box | true | 亚洲方框开 / 关。 |
| Asia color | 深蓝色 (40,60,110) | 亚洲方框的填充色;轮廓和文字使用较浅的色调。 |
| London box | true | 伦敦方框开 / 关。 |
| London color | 深绿色 (30,90,60) | 伦敦方框的填充色。 |
| New York box | true | 纽约方框开 / 关。 |
| New York color | 深红色 (110,50,40) | 纽约方框的填充色。 |
| Show range size on boxes | true | 方框上的波幅文字。 |
| Box style | Filled, overlaps shown in the later session + full-range outline | 第 4 节。 |
请为填充选择深色:方框位于K线后面,轮廓以同一颜色较浅的色调绘制。
KILLZONES (ICT, New York time)
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Asian KZ 20:00-00:00 | false | 亚洲 killzone。 |
| London KZ 02:00-05:00 | true | 伦敦 killzone。 |
| NY AM KZ 07:00-10:00 | true | 纽约上午 killzone。 |
| London Close KZ 10:00-12:00 | false | 伦敦收盘 killzone。 |
| NY PM KZ 13:30-16:00 | false | 纽约下午 killzone。 |
| Killzone outline color | Gold | 所有 killzone 轮廓的颜色。 |
LEVELS
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Previous day high / low | true | PDH / PDL 线。 |
| PDH / PDL color | Silver | PDH / PDL 的颜色。 |
| ADR projections | true | ADR High / ADR Low 线。 |
| ADR days | 14 | 用于计算 ADR 的已结束交易日数(1 或以上)。 |
| ADR color | Orchid | ADR 线的颜色。 |
PANEL
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Show panel | true | 面板开 / 关。 |
| Panel corner | Left lower chart corner | 面板所在的图表角落。 |
ALERTS
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Session open alert | Off | 时段开盘的警报模式。 |
| Killzone start alert | Off | Killzone 开始的警报模式。 |
| Sound | alert | alert、alert2、connect、disconnect、email、expert、news、ok、request、stops、tick、timeout、wait。 |
| Also send e-mail | false | 每条警报都发送电子邮件。 |
10. 供 EA 使用的缓冲区
本指标提供 2 个缓冲区,可通过 iCustom + CopyBuffer 读取,在策略测试器中同样可用。它们不绘制任何内容,并列在数据窗口中。
| 缓冲区 | 数据窗口中的名称 | 每根K线上的值 |
|---|---|---|
| 0 | Session mask (1 Asia, 2 London, 4 New York) | K线开盘时开放的时段之和:1 亚洲、2 伦敦、4 纽约(6 = 伦敦 + 纽约) |
| 1 | Killzone mask (1 Asia, 2 London, 4 NY AM, 8 London Close, 16 NY PM) | K线开盘时有效的 killzone 之和:1 Asian、2 London、4 NY AM、8 London Close、16 NY PM |
- 掩码包含 所有 时段和 killzone,无论其方框或轮廓是否开启,因此 EA 可以使用某个 killzone 而无需绘制它。
- 0 = 无时段 / 无 killzone。周六和周日为 0。早于已绘制天数(Days to draw 加少量余量)的K线为 0:如果您的 EA 需要更早的K线,请增大 Days to draw。
- K线的值只取决于其开盘时间,因此K线一旦存在,其值就不会改变。请在 H1 或更低周期上读取。
- 用位掩码判断时段:当伦敦开放时, ((int)mask & 2) != 0 为真。
加载。 Market 版本安装在 MQL5\Indicators\Market\ 中,下面的示例以 "Market\\Session and Killzones PRO" 加载它。如果导航器(Indicators → Market)中显示的名称不同,请使用该名称。名称后不带参数时使用默认输入参数。若要修改输入参数,请按第 9 节的顺序传入。每个输入参数组标题(TIME ZONE、SESSIONS、...)本身也是一个参数:请在其位置传入空字符串 "" ,否则后面的每个值都会错位。末尾省略的输入参数保持默认值。Broker time zone 以数字传入:0 = Auto,1 = GMT+2 / GMT+3,2 = Fixed GMT offset。
```mql5 // "" = TIME ZONE 组;Fixed GMT offset 0(经纪商全年使用 GMT);其他输入参数为默认值 int h = iCustom(_Symbol, PERIOD_M15, "Market\Session and Killzones PRO", "", 2, 0);
double ses[1], kz[1]; if (h != INVALID_HANDLE && BarsCalculated(h) > 0 && CopyBuffer(h, 0, 0, 1, ses) == 1 && CopyBuffer(h, 1, 0, 1, kz) == 1) { const bool london_open = ((int)ses[0] & 2) != 0; const bool ny_am_kz = ((int)kz[0] & 4) != 0; if (london_open && ny_am_kz) Print("London open and inside the NY AM killzone"); } ```
通过 iCustom 创建的指标也会在调用程序的图表上绘制其方框、线条和面板。如果不需要面板,请传入 Show panel = false。每个图表只使用一个副本:同一图表上的两个副本会共用对象名称并相互覆盖绘图。
11. 使用技巧
- 更简洁的图表:Box style = Outline only,并只保留您交易的 killzone。
- 黄金和指数: 伦敦开盘和 NY AM 是最受关注的时间窗口;默认 killzone 已覆盖它们。
- 非 GMT+2 / GMT+3 的经纪商: 如果您的经纪商全年使用同一偏移量,请使用 Fixed GMT offset;设置后,请在图表上核对一个已知的开盘时间(例如伦敦时间 08:00 的伦敦开盘)。
- 策略测试器: 使用 Auto 时,测试器假定为 GMT+2 / GMT+3。若服务器时间不同,请在测试前选择 Fixed GMT offset。
- 更高时间周期: 在 H4 或 D1 上只显示 PDH / PDL 线、ADR 线和面板。若要查看方框,请再打开一个 M15 图表。
- H1 上的重叠: 伦敦和纽约的开始时间只相差几根K线,且经常共享同一最高价;它们的文字会自动错开。如果仍然太近,请放大图表。
12. 常见问题与故障排除
- 会重绘吗? 已结束的时段永远不会改变。进行中的时段会随每根新K线扩展,直到收盘。缓冲区只取决于K线时间。
- 方框偏差一小时。 您的经纪商服务器时间与指标假定的不同。请选择 Fixed GMT offset 并填入您经纪商的偏移量;如果您的经纪商遵循美国夏令时,请选择 GMT+2 / GMT+3(第 3 节)。
- 图表上没有方框。 时间周期高于 H1(Experts 日志会显示 use H1 or lower timeframes to see session boxes ),或者是周末,或者方框已关闭。
- 缺少某个 killzone。 默认只开启 London 和 NY AM;其他 killzone 请在 KILLZONES 组中开启。
- 为什么伦敦和纽约的重叠部分是纽约的颜色? 这是默认的 Box style:每根K线采用最后开盘时段的颜色,而伦敦的轮廓仍显示完整的伦敦波幅。选择 Filled full range 可同时填充两者。
- 时段开盘时没有收到警报。 警报模式默认为 Off,请检查设置。警报在图表时间周期上该时段的第一根K线开盘时发出,周末和策略测试器中不会发出。
- 适用哪些品种? 任何品种:外汇、黄金、指数、加密货币。时段为外汇 / 交易所时间,周末不绘制。
技术支持:请在 MQL5 上向作者发送私信。


