Volume Profile Sessions PRO · Daily Volume Profile · Volume Profile Delta B3 PRO — 用户手册
在 MQL5 市场获取: Volume Profile Sessions PRO, Daily Volume Profile, Volume Profile Delta B3 PRO
风险提示。 交易存在亏损风险。这些指标显示图表上成交量在哪些价格成交;它们不预测市场,不下单交易,也不保证任何结果。请将其与您自己的分析和风险管理结合使用,并先在模拟账户上测试。

本手册介绍三款成交量分布(volume profile)指标,它们以相同的方式绘制和解读分布:
- Volume Profile Sessions PRO — 亚洲、伦敦和纽约时段分布以及日分布,适用于任何品种(外汇、金属、指数、加密货币、股票),包含 naked POC、固定区间分布、估算的上涨 / 下跌成交量、警报以及供 EA(Expert Advisor)使用的 13 个缓冲区。
- Daily Volume Profile(免费)— 当日的分布及 POC、VAH 和 VAL,适用于任何品种。
- Volume Profile Delta B3 PRO — 日分布,按价格显示 B3 期货和股票(WIN、WDO、IND、DOL、股票)的真实主动买入和主动卖出,包含 naked POC、固定区间、警报、10 个缓冲区,并可在策略测试器中使用真实成交。
它们均不会开仓。
1. 选择哪个版本?
| Daily Volume Profile(免费) | Volume Profile Sessions PRO | Volume Profile Delta B3 PRO | |
|---|---|---|---|
| 品种 | 任何 | 任何 | B3 期货和股票(含真实成交的行情源) |
| 数据 | 1 分钟K线:真实成交量或 tick 成交量 | 1 分钟K线:真实成交量或 tick 成交量 | 真实成交(逐笔成交) |
| 今日分布及 POC / VAH / VAL | 是 | 是 | 是 |
| 前几日 | — | 是(Days to draw) | 是(Daily profiles to draw) |
| 亚洲 / 伦敦 / 纽约时段分布 | — | 是,时间可调 | — |
| 每行的买 / 卖拆分 | — | 上涨 / 下跌估算 | 真实主动买入 / 主动卖出 |
| Naked POC | — | 日,可选时段 | 日 |
| 固定区间分布(点击两次) | — | 是 | 是(限一天内) |
| 带按钮的面板,可拖动 | 仅面板 | 是 | 是 |
| 警报 | — | 触及 naked POC、前一日 VAH / VAL | 触及 naked POC、前一日 VAH / VAL |
| 供 EA 使用的缓冲区 | — | 13 | 10 |
| 策略测试器 | 是 | 是,无需准备 | 是;前几日需要已保存的历史(第 5.5 节) |
2. 安装与快速开始
- 从终端的 Market 选项卡安装本指标(工具箱 → Market → 已购买 → 安装;免费版从产品页面安装)。
- 打开图表,从导航器(Indicators → Market)将指标拖到图表上。
- 保持默认输入参数或进行调整(第 8 节),然后按 OK。
首次计算需要历史数据。等待期间,面板会显示进度:
| 面板消息 | 含义 |
|---|---|
| Waiting for daily history | 该品种的日线尚未加载。指标会自动重试。 |
| Loading M1 history / Waiting for M1 history | 1 分钟K线仍在下载(Sessions PRO 和 Daily VP)。 |
| Downloading ticks of 28/10 (64%) / Loading history 3 / 11 | Volume Profile Delta B3 PRO 正在读取前几日的成交。 |
快速开始
- Sessions PRO — 在面板行 Server 18:49 ASIA 02-11 LDN 10-19 NY 15-24 中核对时段时间。默认值适用于 GMT+2 / GMT+3 的经纪商;如果服务器时间不同,请修改六个时段输入参数(第 4.2 节)。
- Delta B3 PRO — 在低于 D1 的时间周期上打开您交易的合约图表(例如 WINZ26),查看面板的 Data: 行: Exchange flags 表示最佳数据源(第 5.2 节)。
- Daily VP — 无需设置;分布在当天逐渐形成。
- 使用面板按钮显示或隐藏绘图的各个部分;按 RANGE 并在图表上点击两个点,即可得到您所选任意时间段的分布。
3. 解读成交量分布

| 图表上 | 含义 |
|---|---|
| 水平行 | 该时间段内每个价格的成交量。最长的行成交量最大。 |
| 金色行和金色线(POC) | 控制点(point of control):该时间段内成交量最大的价格。日和区间为实线,时段为虚线。 |
| 点线 VAH / VAL | 价值区域上沿和下沿:围绕 POC、包含 Value area (%) 成交量(默认 70%)的价格带。 |
| 较亮的行 / 较淡的行 | 价值区域内的行较亮;区域外的行较淡(VALUE AREA 开启时)。 |
| 行的绿色 / 红色部分 | 上涨 / 下跌成交量(Sessions PRO,估算)或主动买入 / 主动卖出(Delta B3 PRO)。DELTA 关闭或拆分输入参数关闭时,行以单一颜色绘制。 |
| 带标签 nPOC 28/10 1.11830 的金色虚线 | Naked POC:较早某日(或时段)的 POC,自该时间段结束后价格尚未在此成交。 |
| 标签 POC 1.11380 、 VAH 1.11546 、 VAL 1.11339 | 位于今日分布和最近区间右端的价格标签。较早的分布只显示线条,以免其文字与下一个分布重叠。 |
交易者常见的解读方式(任何规则都不保证结果):
- POC 和价值区域显示该时间段内市场接受的价格;价值区域之外的价格成交较少。
- Naked POC 是成交量较大且尚未被回访的价格;许多交易者将其作为参考水平关注。
- 前一日的 VAH 和 VAL 是次日常用的参考水平。
所有线条和文字都会跟随图表背景:在浅色背景上会加深,在深色背景上会向背景色融合,从而保持可读。在图表属性中更改背景颜色后,绘图会以新的对比度重新绘制。
4. Volume Profile Sessions PRO
4.1 绘制内容

- 时段分布(亚洲、伦敦、纽约):每个分布从时段开始处向右展开;其宽度为时段长度的 Session profile width (% of the session)。时段名称( ASIA 、 LDN 、 NY )写在上方。时段的 POC 线为虚线。
- 每天的日分布:
- SESSIONS 开启时,已结束的交易日绘制在当天结束处并向左展开(宽度 Daily profile width (% of the day)),今日分布绘制在最后一根K线右侧的空白处,并带有 POC / VAH / VAL 标签;
- SESSIONS 关闭时,每天从当天开始处向右绘制,宽度由 Session profile width 设定。
- 交易日为经纪商服务器时间的日历日。
- Days to draw(默认 5)设定绘制的天数。

4.2 时段时间
六个输入参数 Asia start / end、London start / end、New York start / end 使用经纪商服务器时间,格式为 HH:MM 。
| 时段 | 默认 | 备注 |
|---|---|---|
| 亚洲 | 02:00 – 11:00 | |
| 伦敦 | 10:00 – 19:00 | |
| 纽约 | 15:00 – 24:00 | 24:00 表示服务器日的结束 |
- 默认值适用于 GMT+2 / GMT+3(纽约收盘)的经纪商,这是最常见的服务器时间。如果您的经纪商使用其他服务器时间,请按差值移动时间。面板会显示当前服务器时间以供参考。
- 结束时间早于开始时间的时段会延续到次日(例如 22:00 – 06:00 )。
- 无法识别的值(例如 9h )会恢复为该时段的默认值。
- 每个时段都可以通过各自的输入参数关闭(Asia session、London session、New York session)。
- 两个时段重叠时,面板和时段缓冲区使用最后开始的时段。
4.3 上涨 / 下跌成交量(估算)
当 Split each row into up and down volume (estimate) 开启(默认)且 DELTA 按钮开启时,每行拆分为绿色(上涨)和红色(下跌),面板显示 DELTA (ESTIMATE) 及上涨 / 下跌占比。
Sessions PRO 基于 1 分钟K线工作,而 1 分钟K线不记录谁是主动方。因此该拆分是根据K线得出的估算,并非真实的主动买入和主动卖出。请将其用于解读分布内部活动的方向。如需 B3 上的真实主动成交,请使用 Volume Profile Delta B3 PRO。
拆分输入参数关闭时,行使用 Row color when not split,面板显示当天的总 VOLUME,而不是 delta。
4.4 Naked POC

- 在 Days checked for untouched POCs(默认 10)范围内,已结束交易日中自当天结束后价格尚未成交的 POC,以金色虚线绘制,从其交易日结束处延伸到最后一根K线右侧几根K线处,标签为 nPOC dd/mm price 。
- 开启 Also untouched session POCs 后,会加入时段 POC(标签 nPOC LDN 28/10 price )。
- 价格在 naked POC 处成交后,该 naked POC 即消失。
- 面板的 NAKED POC 卡片显示当前价格上方(▲)和下方(▼)最近的 naked POC。
- NAKED POC 按钮用于隐藏或显示线条。线条隐藏时,naked POC 警报仍然有效。
4.5 固定区间分布

- 按面板上的 RANGE。状态行显示 Click the start of the range on the chart 。
- 在图表上点击时间段的开始,然后点击结束( Click the end of the range )。
- 一个点线矩形标出该区间,其分布绘制在矩形内,宽度由 Session profile width 设定。
- 一个区间可以跨越多天。
- 可以用鼠标移动矩形或调整其大小;分布会随之更新。选中后按 Delete 可删除单个区间;CLEAR 删除所有区间。在第二次点击前再次按 RANGE 可取消。
- 价格标签只写在最近的区间上。
- 更改时间周期或重启终端后,区间仍保留在图表上;从图表移除指标时区间会被删除。
- DAY 和 SESSIONS 都关闭时,只保留您的区间,面板的第一张卡片显示最新区间的水平和 delta。
4.6 面板和按钮

| 面板部分 | 内容 |
|---|---|
| TODAY | 今日正在形成的 POC、VAH、VAL;DELTA (ESTIMATE) 及上涨 / 下跌占比条(拆分关闭时为 VOLUME)。DAY 和 SESSIONS 关闭时显示最新区间。 |
| <SESSION> NOW / (ENDED) | 正在进行的时段的 POC 和价值区域(VAL – VAH);无时段进行时为最近一个时段。 |
| PREV. <SESSION> | 其前一个时段。 |
| PREVIOUS DAY | 前一日的 POC 和价值区域。 |
| NAKED POC | 价格上方(▲)和下方(▼)最近的 naked POC。 |
| Data: tick volume of M1 bars, up/down estimated | 成交量来源:行情源提供时为真实成交量(绿色圆点),否则为 tick 成交量(金色圆点)。 |
| Server 18:49 ASIA 02-11 LDN 10-19 NY 15-24 | 服务器时间以及已开启时段的时间。 |
| 按钮 | 作用 |
|---|---|
| DAY | 日分布开 / 关。 |
| SESSIONS | 时段分布开 / 关(也会改变日分布的绘制位置,第 4.1 节)。 |
| DELTA | 上涨 / 下跌颜色开 / 关。 |
| VALUE AREA | VAH / VAL 线以及价值区域外较淡的行开 / 关。 |
| NAKED POC | Naked POC 线开 / 关。 |
| RANGE | 绘制固定区间(第 4.5 节)。 |
| CLEAR | 删除所有区间。 |
- 拖动面板标题栏可将其移到图表任意位置;该位置会针对该图表保存。Panel X、Panel Y 和 Panel size (%) 设定初始位置和大小;Show the panel = false 可隐藏面板。
- 按钮状态会针对该图表保存(更改时间周期、重启终端),移除指标时重置。
4.7 数据与策略测试器
- 分布使用 1 分钟K线的成交量:行情源提供时为真实成交量(股票、期货),否则为 tick 成交量(外汇、金属、CFD)。Tick 成交量统计价格变动次数,是外汇上常用的活跃度指标。
- 终端会自动下载 1 分钟历史;首次计算会等待其完成( Loading M1 history )。
- 过去的K线只使用已收盘的数据:页脚 Past data only 提醒您,已收盘K线的缓冲区之后不会被更新的数据改变。
- 策略测试器: 测试器会提供测试开始日期之前的 1 分钟历史,因此在可视化模式下以及对 EA 而言,时段分布、前几日和 naked POC 从测试的第一根K线起就显示在图表上。无需任何准备。在非可视化测试中只计算缓冲区。可视化测试结束后,最后的状态保留在图表上。在测试器中不会发送弹窗、声音、通知和电子邮件。

5. Volume Profile Delta B3 PRO
5.1 绘制内容

- 每天一个分布,从当天第一笔到最后一笔成交绘制;其宽度为该时间的 Profile width (% of the session)。Daily profiles to draw(默认 5)设定天数。
- 当 Split each row into buy and sell 和 DELTA 按钮开启时,每行拆分为主动买入(绿色,左侧部分)和主动卖出(红色,右侧部分)。POC 行为金色。
- 今日分布带有 POC / VAH / VAL 标签;较早的交易日只显示线条。
- 在 Days checked for untouched POCs(默认 10)范围内,前几日的 naked POC 以金色虚线绘制,标签为 nPOC dd/mm price ,直到价格在其处成交。
- 适用于低于 D1 的时间周期。
5.2 真实主动买入和主动卖出
指标读取当天的每一笔成交(逐笔成交),并根据主动方将其计入买方或卖方。面板的 Data: 行显示正在使用的数据源:
| Data: 行 | 含义 |
|---|---|
| Exchange flags (绿色圆点) | 行情源为每笔成交提供交易所的买 / 卖信息。最佳情况。 |
| Price rule (no flags) (金色圆点) | 行情源有成交但不含该信息;指标自行对成交进行分类。 |
| Generated ticks - not real (红色) | 仅限策略测试器:测试器用生成的报价替换了真实报价,生成的报价不含主动方信息。参见第 5.5 节。 |
| Saved real trades (tester) | 策略测试器:该交易日来自已保存的真实成交。 |
| Waiting for trades | 尚未收到成交(市场已收盘或品种无成交)。 |
No exchange trades: use B3 futures or shares 表示该品种的行情源没有真实成交(大多数外汇和 CFD 行情源)。 2 day(s) with incomplete tick history 表示经纪商没有提供某些交易日的全部成交;这些交易日会显示,但不会保存。
面板行 History: 11 days with trades, 9 from cache 显示找到的天数以及其中来自已保存文件的天数。
5.3 固定区间分布

步骤与第 4.5 节相同:按 RANGE,点击开始和结束。一个区间覆盖一天:如果跨入次日,只使用其第一天的部分。区间可以移动、调整大小或删除,CLEAR 删除全部区间。DAY PROFILE 关闭时,只保留您的区间(naked POC 线也会隐藏),面板显示最新区间的 POC、VAH、VAL 和 delta。
5.4 面板和按钮

| 面板部分 | 内容 |
|---|---|
| TODAY | 正在形成的 POC、VAH、VAL;DELTA(买入 − 卖出)及 Buy % / Sell % 条。DAY PROFILE 关闭时显示最新区间。 |
| PREVIOUS DAY | 前一日的 POC 和价值区域(VAL – VAH)。 |
| NAKED POC | 价格上方(▲)和下方(▼)最近的 naked POC。 |
| Data: | 主动成交数据源(第 5.2 节)。 |
| History: | 有成交的天数以及从已保存文件读取的天数。 |
| 状态行(金色) | 加载进度、区间操作提示、缺失的成交。 |
| 测试器行 | 策略测试器将找到的内容(第 5.5 节)。 |
按钮:DAY PROFILE、DELTA、VALUE AREA、NAKED POC、RANGE、CLEAR — 用法与第 4.6 节相同。面板可通过标题栏拖动;位置和按钮状态会针对该图表保存。
5.5 使用真实成交的策略测试器

MetaTrader 5 测试器不提供测试开始日期之前的报价,而且在 B3 上经常用生成的报价替换真实报价,生成的报价不含主动方信息。本指标的解决办法是将每个已结束交易日的真实成交保存在您的计算机上,并在测试器中读取这些交易日。每分钟的成交只在该分钟于测试中收盘后才会加入,因此看不到任何未来数据。
指标在实时图表上运行时会自动保存交易日(Save finished days and read them in the tester = true)。若要一次准备较长的时间段:
- 在有 B3 数据的真实或模拟账户上,打开您要测试的确切合约的图表(例如 WINZ26)。
- 以 Days to prepare for the Strategy Tester = 60(或您需要的天数)加载指标,并保持图表打开。测试器行显示 Preparing tester history 12 / 60 (14/10) 。
- 等到它以绿色显示 Tester history ready: 60 days (dd/mm - dd/mm) 。
- 在策略测试器中选择同一合约、模型 Every tick based on real ticks,以及已准备天数范围内的时间段。
- 测试期间查看面板上的测试器行:
| 测试器行 | 含义 |
|---|---|
| Tester: saved real trades of this day (绿色) | 该交易日根据已保存的真实成交回放。 |
| Day not saved: using the tester ticks (金色) | 该交易日没有已保存的文件;按测试器提供的报价原样使用。 |
| Generated ticks: prepare this day on a live chart (红色) | 测试器生成了该交易日的报价;没有主动方信息。请准备该交易日(步骤 2)。 |
| Demo: only trades inside the test period (金色) | Market 免费演示版只在测试器中运行,没有已保存的交易日。 |
在实时图表上,同一行显示已保存历史的状态: Tester history: no saved days yet 、 Tester history: 23 days (...) ,或在经纪商不保留更早成交时显示 Broker tick history starts after 05/09. Saved ... 。
注意:
- 交易日按合约保存: WINZ26 和 WIN$N 是不同的品种。
- 文件保存在运行测试的计算机的公共文件夹中( Common\Files\JetAggr )。MQL5 Cloud Network 代理无法看到这些文件。
- 只能准备经纪商仍保留在其报价历史中的交易日。
- 测试器中的前几日、naked POC 以及前一日 VAH / VAL 仅来自已保存的交易日。
- Order Flow Book B3 Ultra 将其成交保存在同一文件夹中,因此任一指标记录的交易日都可供两者使用。
6. Daily Volume Profile(免费)

- 从当天第一根K线开始绘制今日分布并向右展开;宽度为 Profile width (% of the day so far)。分布在当天持续更新。
- POC(金色)、VAH 和 VAL 线延伸到最后一根K线右侧,并带有价格标签;价值区域的行较亮。
- 面板:TODAY,含 POC、VAH、VAL 和当天总成交量,以及 Data: 行(M1 K线的真实成交量或 tick 成交量)。面板位置和大小由输入参数设定。
- 状态消息: Waiting for daily history 、 Waiting for M1 history 、 No bars today yet 。
- 可在策略测试器中使用。没有警报,也没有缓冲区。
时段分布、前几日、naked POC、固定区间、上涨 / 下跌拆分、警报和缓冲区见 Volume Profile Sessions PRO。
7. 警报(PRO 版本)

| 输入参数 | 触发时机 | 消息(示例) |
|---|---|---|
| Alert when price touches a naked POC | 价格在 naked POC 处成交 | price touched the naked POC LDN 28/10 1.11389 (Sessions PRO)/ price touched the naked POC 171000 (Delta B3 PRO) |
| Alert when price crosses the previous day VAH or VAL(Sessions PRO)/ ... previous VAH or VAL(Delta B3 PRO) | 图表的一根已收盘K线穿越了前一日的 VAH 或 VAL | price crossed the previous day VAH 1.11546 |
消息以产品、品种和时间周期开头,例如 Volume Profile Sessions PRO: EURUSD | M15 | ... 。
- Alert:Off、Popup、Sound、Smartphone notification、Popup + Sound(默认)、Notification + Sound、Popup + Notification、Popup + Sound + Notification。Sound:终端 13 种声音之一(默认 alert2)。
- Also send e-mail:将每条警报同时通过电子邮件发送(需要 Tools → Options → Email)。即使 Alert 为 Off,电子邮件也会发送。
- VAH / VAL 警报在图表K线收盘时检查,因此时间周期决定其到达的快慢。每个水平每根K线最多警报一次。
- Sessions PRO 持续检查对 naked POC 的触及;Delta B3 PRO 在每根图表K线收盘时检查,且仅在 naked POC 线显示时(DAY PROFILE 和 NAKED POC 开启)检查。一个 naked POC 只警报一次:被触及后它就不再是 naked。
- 推送通知需要在 Tools → Options → Notifications 中设置 MetaQuotes ID。在策略测试器中不会发送警报。
8. 输入参数
标题即 Inputs 选项卡中的输入参数组。

8.1 Volume Profile Sessions PRO
Profiles
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Days to draw | 5 | 图表上显示分布的天数。请保持在 30 以下。 |
| Row size in ticks (0 = auto) | 0 | 每行的价格高度。0 会选择适合该品种的大小;数值越大,行越少、越粗。 |
| Value area (%) | 70 | VAH – VAL 内的成交量占比。 |
| Session profile width (% of the session) | 35 | 时段分布最长行的长度;也用于区间,以及 SESSIONS 关闭时的日分布。 |
| Daily profile width (% of the day) | 20 | SESSIONS 开启时日分布最长行的长度。 |
| Split each row into up and down volume (estimate) | true | 绿色 / 红色拆分以及面板上的 DELTA (ESTIMATE);false = 单一颜色,面板显示 VOLUME。 |
Sessions (broker server time, HH:MM)
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Asia session | true | 亚洲分布开 / 关。 |
| Asia start / Asia end | 02:00 / 11:00 | 服务器时间下的亚洲时段时间。 |
| London session | true | 伦敦分布开 / 关。 |
| London start / London end | 10:00 / 19:00 | 服务器时间下的伦敦时段时间。 |
| New York session | true | 纽约分布开 / 关。 |
| New York start / New York end | 15:00 / 24:00 | 服务器时间下的纽约时段时间。 |
Naked POC
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Days checked for untouched POCs | 10 | 向前搜索 naked POC 的范围。请保持在 30 以下。 |
| Also untouched session POCs | false | 将时段 POC 加入 naked POC。 |
Alerts
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Alert | Popup + Sound | 警报模式(第 7 节)。 |
| Sound | alert2 | 警报的声音文件。 |
| Also send e-mail | false | 每条警报都发送电子邮件。 |
| Alert when price touches a naked POC | true | Naked POC 警报。 |
| Alert when price crosses the previous day VAH or VAL | true | VAH / VAL 警报。 |
Display
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Show the panel | true | 面板开 / 关。 |
| Panel X (px at 100%) / Panel Y (px at 100%) | 16 / 28 | 面板的初始位置。 |
| Panel size (%) | 100 | 面板缩放比例。 |
| Up volume color | 绿色 (61,219,176) | 行的上涨部分和正 delta。 |
| Down volume color | 红色 (240,96,90) | 行的下跌部分和负 delta。 |
| POC color | 金色 (227,179,65) | POC 行、POC 线和 naked POC。 |
| Row color when not split | 蓝色 (124,140,255) | 拆分关闭时的行;区间矩形。 |
8.2 Volume Profile Delta B3 PRO
Profiles
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Daily profiles to draw | 5 | 图表上显示分布的天数。 |
| Row size in ticks (0 = auto) | 0 | 每行的价格高度;0 = 自动。 |
| Value area (%) | 70 | VAH – VAL 内的成交量占比。 |
| Profile width (% of the session) | 35 | 最长行的长度,以当天交易时间(或区间)的比例表示。 |
| Split each row into buy and sell | true | 行的绿色 / 红色拆分;面板始终显示 delta。 |
Naked POC
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Days checked for untouched POCs | 10 | 向前搜索 naked POC 的范围。 |
History for the Strategy Tester
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Save finished days and read them in the tester | true | 将已结束交易日的真实成交保存在本计算机上,并在测试器中使用(第 5.5 节)。 |
| Days to prepare for the Strategy Tester (0 = off) | 0 | 在实时图表上,于后台下载并保存此数量的过去交易日。 |
Alerts — 与 Sessions PRO 相同(Alert Popup + Sound,Sound alert2,Also send e-mail false,Alert when price touches a naked POC true,Alert when price crosses the previous VAH or VAL true)。
Display — Show the panel、Panel X / Y、Panel size (%) 与 Sessions PRO 相同;Buy aggression color(绿色)、Sell aggression color(红色)、POC color(金色)、Row color when not split(蓝色)。
8.3 Daily Volume Profile
| 输入参数 | 默认值 | 说明 |
|---|---|---|
| Row size in ticks (0 = auto) | 0 | 每行的价格高度;0 = 自动。 |
| Value area (%) | 70 | VAH – VAL 内的成交量占比。 |
| Profile width (% of the day so far) | 35 | 最长行的长度。 |
| Show the panel | true | 面板开 / 关。 |
| Panel X / Panel Y (px at 100%) | 16 / 28 | 面板位置。 |
| Panel size (%) | 100 | 面板缩放比例。 |
| Profile color | 蓝色 (124,140,255) | 行。 |
| POC color | 金色 (227,179,65) | POC 行、线和标签。 |
9. 供 EA 使用的缓冲区
两个 PRO 版本提供可通过 iCustom + CopyBuffer 读取的缓冲区,在策略测试器中同样可用。它们不绘制任何内容,并列在数据窗口中。Daily Volume Profile 没有缓冲区。
9.1 Volume Profile Sessions PRO(13 个缓冲区)
| 缓冲区 | 数据窗口中的名称 | 每根K线上的值 | 空值 |
|---|---|---|---|
| 0 | Developing day POC | 该K线收盘时的今日 POC | EMPTY_VALUE |
| 1 | Developing day VAH | 该K线收盘时的今日 VAH | EMPTY_VALUE |
| 2 | Developing day VAL | 该K线收盘时的今日 VAL | EMPTY_VALUE |
| 3 | Bar up volume (est.) | 该K线的上涨成交量(估算) | 0 |
| 4 | Bar down volume (est.) | 该K线的下跌成交量(估算) | 0 |
| 5 | Bar delta (est.) | 缓冲区 3 − 缓冲区 4 | 0 |
| 6 | Day delta (est.) | 从当天开始到该K线的当日 delta | 0 |
| 7 | Previous day POC | 前一日的 POC | EMPTY_VALUE |
| 8 | Previous day VAH | 前一日的 VAH | EMPTY_VALUE |
| 9 | Previous day VAL | 前一日的 VAL | EMPTY_VALUE |
| 10 | Session POC | 该K线时正在进行的时段的形成中 POC(两个时段重叠时取较晚者) | 时段之外为 EMPTY_VALUE |
| 11 | Session VAH | 该时段的 VAH | EMPTY_VALUE |
| 12 | Session VAL | 该时段的 VAL | EMPTY_VALUE |
当 Split each row into up and down volume = false 时,缓冲区 3 和 4 各存放该K线成交量的一半,缓冲区 5 和 6 为 0。
9.2 Volume Profile Delta B3 PRO(10 个缓冲区)
| 缓冲区 | 数据窗口中的名称 | 每根K线上的值 | 空值 |
|---|---|---|---|
| 0 | Developing POC | 该K线收盘时的今日 POC | EMPTY_VALUE |
| 1 | Developing VAH | 该K线收盘时的今日 VAH | EMPTY_VALUE |
| 2 | Developing VAL | 该K线收盘时的今日 VAL | EMPTY_VALUE |
| 3 | Bar buy volume | 该K线的主动买入成交量 | 0 |
| 4 | Bar sell volume | 该K线的主动卖出成交量 | 0 |
| 5 | Bar delta | 缓冲区 3 − 缓冲区 4 | 0 |
| 6 | Day delta | 从当天开始到该K线的当日 delta | 0 |
| 7 | Previous POC | 前一日的 POC | EMPTY_VALUE |
| 8 | Previous VAH | 前一日的 VAH | EMPTY_VALUE |
| 9 | Previous VAL | 前一日的 VAL | EMPTY_VALUE |
9.3 两者通用的注意事项
- K线 0(正在形成的K线)在K线期间持续更新;如需不再变化的值,请读取 shift 1。
- 早于指标所加载天数的K线为空值。
- 首次读取前请等待 BarsCalculated(h) > 0 ;首次计算会等待历史数据。
- Market 版本安装在 MQL5\Indicators\Market\ 中;请在导航器中核对确切的文件名。名称后不带参数时使用默认输入参数。若要修改输入参数,请按第 8 节的顺序传入;输入参数组标题不是参数。警报模式以数字传入:0 Off、1 Popup、2 Sound、3 Notification、4 Popup + Sound、5 Notification + Sound、6 Popup + Notification、7 三者全部。
- 通过 iCustom 创建的指标也会在调用程序的图表上绘制其分布和面板。如果不需要面板,请传入 Show the panel = false。每个图表只使用一个副本:同一图表上的同一指标的两个副本会共用对象名称并相互覆盖绘图。
// Volume Profile Sessions PRO with default inputs
int h = iCustom(_Symbol, PERIOD_M15, "Market\\Volume Profile Sessions PRO");
double poc[1], pvah[1], pval[1], dd[1];
if (h != INVALID_HANDLE && BarsCalculated(h) > 0)
{
if (CopyBuffer(h, 0, 1, 1, poc) == 1 && poc[0] != EMPTY_VALUE)
Print("developing POC at the last closed bar: ", poc[0]);
if (CopyBuffer(h, 8, 1, 1, pvah) == 1 && CopyBuffer(h, 9, 1, 1, pval) == 1 && pvah[0] != EMPTY_VALUE)
Print("previous day value area ", pval[0], " - ", pvah[0]);
if (CopyBuffer(h, 6, 1, 1, dd) == 1)
Print("day delta (estimate) ", dd[0]);
}
// Volume Profile Delta B3 PRO: 10 days, row size auto, value area 70%, no panel
// (inputs in the order of section 8.2; alert mode 0 = Off)
int h = iCustom(_Symbol, PERIOD_M5, "Market\\Volume Profile Delta B3 PRO",
10, 0, 70.0, 35, true, // Profiles
10, // Naked POC
true, 0, // History for the Strategy Tester
0, 0, false, true, true, // Alerts
false); // Show the panel = false
double delta[1];
if (BarsCalculated(h) > 0 && CopyBuffer(h, 5, 1, 1, delta) == 1)
Print("bar delta of the last closed bar: ", delta[0]);
10. 使用技巧
- 先设置时段时间。 在 Sessions PRO 上,将面板上的 Server 时间与您经纪商的服务器时间进行比较,并一次性调整六个时段输入参数。将其保存在图表模板中。
- 时间周期。 M5 到 M30 能很好地显示时段分布;M1 会使其非常长,H1 会使其非常短。Delta B3 PRO 在日内期货上以 M1 到 M15 效果最佳。
- 减少杂乱。 用按钮关闭 VALUE AREA 或 DELTA;降低 Days to draw;关闭 SESSIONS 只保留日分布。
- 更粗的行。 当自动行在您的缩放比例下显得太细时,将 Row size in ticks 设为大于 0 的数值;逐步增大,直到分布清晰易读。
- 前一日水平。 前一日的 VAH / VAL 和最近的 naked POC 都显示在面板上;无需让旧分布保持可见。
- B3 上的测试器。 一次性准备好交易日(第 5.5 节),并在交易时段内保持合约图表打开:每个已结束交易日都会自动保存。
- 浅色图表。 所有绘图都会跟随图表背景;更改背景后,指标会以合适的对比度重新绘制。
11. 常见问题与故障排除
- 会重绘吗? 过去的K线只用已收盘的数据构建。分布及其 POC / VAH / VAL 在其时间段(日、时段、区间)进行期间会持续形成,结束时即为最终值。缓冲区中正在形成的K线的值会变化,直到该K线收盘。
- 时段位置不对(Sessions PRO)。 时段输入参数使用经纪商服务器时间。请查看面板上的 Server 时间并移动时段时间(第 4.2 节)。
- 上涨 / 下跌拆分不是真实主动成交(Sessions PRO)。 没错:它是根据 1 分钟K线得出的估算。如需 B3 上的真实主动成交,请使用 Volume Profile Delta B3 PRO。
- No exchange trades (Delta B3 PRO)。 该品种的行情源没有真实成交。请在提供 B3 市场数据的经纪商处使用 B3 期货或股票。
- Data: Price rule (no flags) 。 您的行情源发送的成交不含交易所的买 / 卖信息;指标会自行分类。分布仍然有效。
- 测试器中不显示前几日(Delta B3 PRO)。 这些交易日尚未保存。请在实时图表上针对您测试的确切合约准备它们(第 5.5 节)。
- 测试器行为红色: Generated ticks 。 测试器生成了该交易日的报价。请使用 Every tick based on real ticks 和已准备的交易日。
- 面板遮挡K线。 拖动其标题栏,降低 Panel size (%),或设置 Show the panel = false。
- 区间没有出现。 按 RANGE,然后在图表上(不是在面板上)点击两次。在 Delta B3 PRO 上,区间必须从有成交的交易日开始。
- 策略测试器。 Sessions PRO 和 Daily VP 无需准备。在非可视化测试中只计算缓冲区。在测试器中不会发送警报。
技术支持:请在 MQL5 上向作者发送私信。


