Volume Profile Session Visible and Fixed Range
- 指标
- 版本: 1.2
- 激活: 5
Volume Profile Session Visible and Fixed Range 在 MetaTrader 5 图表上绘制水平的按价格分布成交量直方图,并显示 POC(成交量最多的价格行)以及价值区域及其上下边界(VAH 和 VAL)。一个指标包含三种成交量分布类型:时段(日或周)、图表可见范围,以及通过拖动两条垂直线设定的固定范围。
这是一个显示工具。它不进行交易,不提供买入或卖出信号,也不预测价格。POC、VAH 和 VAL 显示的是过去记录到成交量的位置;不保证它们会起到支撑或阻力的作用。
功能
- 时段分布:每天或每周一个分布(周从星期一开始)。时段按经纪商服务器时间的午夜划分;起点可在 -23 到 +23 小时之间移动。1 到 200 个时段(默认 5 个)。
- 可见范围:对图表上可见的 K 线生成一个分布,滚动或缩放后会很快重新构建。可放在右边缘或左边缘,宽度以图表的 % 表示。
- 固定范围:在两条虚线垂直线之间生成一个分布。拖动这两条线,分布会随之变化。被删除的线会重新绘制。开始和结束时间也可在输入参数中设置。
- POC 线、VAH 和 VAL 线(虚线),最新分布上的价格标签,可选择将线延伸到图表右边缘。
- 价值区域默认 70%(1 到 100%)。价值区域内的行比区域外的行绘制得更不透明。
- 可选择将每一行按上涨/下跌分成两种颜色(这是估算值,见下文)。
- 行大小:行数(默认 24,2 到 1000),或每行固定点数(如果因此超过 2,000 行,行大小会自动加倍)。
- 以半透明图片的形式绘制在价格 K 线后面。同一图表上的两个 Volume Profile(例如一个时段分布和一个可见范围分布)重叠时,颜色不会相互抵消。
- 构建分布时显示状态文字(例如 "building... 3/5")。
- 英语或日语,根据终端语言自动选择。
计算方法
- 成交量来源:tick 成交量,或经纪商提供的真实(交易所)成交量。自动(默认)在品种的 K 线包含真实成交量时使用真实成交量。大多数外汇和 CFD 品种只有 tick 成交量;它统计的是价格更新次数,而不是成交手数。
- 基于 M1 K 线构建(默认,速度快):每根 M1 K 线的成交量平均分布在其最低价到最高价的价格范围内。每分钟内部的实际走势无法得知,因此结果可能与基于 tick 构建的分布不同。
- 基于 tick 构建(更准确,负载更重):每个 tick 放在其自身价格上,计为 1(tick 成交量)或按其成交量计入(真实成交量)。超过 tick 限制(默认 14 天,最多可调到 60 天)的范围基于 K 线构建。tick 从经纪商下载,因此首次构建可能需要一些时间。
- 当基于 K 线构建的范围需要超过约 200,000 根 M1 K 线(可调整)时,会改用 M5、M15、M30、H1、H4 或 D1 K 线。周期越粗,分布也越粗略。
- 上涨/下跌拆分(估算):基于 K 线时,收盘价高于开盘价的 K 线计为上涨成交量,收盘价低于开盘价的计为下跌成交量(收盘价等于开盘价的 K 线与前一收盘价比较,否则各分一半)。基于 tick 时,高于前一价格的 tick 计为上涨,低于前一价格的计为下跌。这不是真实的买入和卖出成交量;MetaTrader 不会报告交易是由哪一方发起的。
- POC = 成交量最多的行。如果多行成交量相同,则使用最接近分布中间的那一行。POC 价格为该行的中间价。
- 价值区域:从 POC 开始,比较上方下一行和下方下一行,加入较大的一行(相等时两行都加入),每次一行,直到达到所选的总成交量百分比。VAH 是价值区域内最高一行的顶部,VAL 是最低一行的底部。
我们如何验证
- 在 8 个测试案例中(时段、可见范围、固定范围、K 线和 tick),POC、VAH、VAL 以及每一行的成交量与我们自己独立计算的结果完全一致,没有差异。
- 我们将某一天 EURUSD 的时段分布与 TradingView 的成交量分布(OANDA 数据)进行了比较:POC、VAH 和 VAL 相差约 1 pip,形状相似(相关系数 0.906)。不同的数据源有不同的价格和 tick 数量,因此分布并不完全相同。
警报(默认关闭)
- 价格穿越 POC、VAH 或 VAL 时发出警报(每项均可单独开启或关闭)。弹出窗口、声音和推送通知。
- 每根 K 线每个水平最多一次警报。
- 在时段模式下,可以选择使用上一个(已完成)时段的水平或当前(正在形成)时段的水平。当前时段的水平会在时段形成过程中移动,因此这一选择会产生更多警报。在可见范围模式下,滚动时水平会改变;在固定范围模式下,移动线时水平会改变。
- 加载后或新时段开始后的第一个价格仅用于设定起点,从不触发警报。
- 警报仅表示价格到达了某个水平。它不是买入或卖出的信号。
- 在策略测试器中或通过 iCustom 加载指标时不发出警报。
面向 EA 和 iCustom 用户
- 3 个缓冲区(不绘制):0 = POC,1 = VAH,2 = VAL。每根 K 线保存包含该 K 线的分布的水平;没有分布的位置为 EMPTY_VALUE。仍在形成中的分布(当前时段、可见范围、延伸到最新 K 线的固定范围)的数值会随新数据到来而变化。已完成的时段不再变化。
- iCustom 参数:按输入对话框顺序排列的 40 个输入参数,5 个分组标题各对应一个空字符串 ""(共 45 个参数)。也可以不传任何参数,以使用默认值。
- 通过 iCustom 加载时(从 EA、脚本或其他指标),它不绘制任何内容,也不发出警报;只计算缓冲区。
- 没有图表时(iCustom、非可视模式的策略测试器),可见范围为最新的 100 根 K 线(输入参数 "bars back"),固定范围使用开始和结束时间输入参数(0 = 最新的 100 根 K 线)。
注意事项与限制
- 时段边界使用经纪商的服务器时间,因此不同时区的经纪商会得到不同的日分布。TradingView 使用其自己的时段时间,因此其日期可能早几个小时或晚几个小时开始;可以使用时段起点偏移来对齐。
- 周时段从星期一开始。星期日的 K 线(例如每天交易的加密货币品种)归入前一周。
- 在 W1 图表上使用周时段、在 D1 图表上使用日时段时,每根 K 线就是一个分布(W1:周日 00:00 至下一个周日;D1:服务器时间 00:00 至 24:00)。此时不使用时段起点偏移。
- 如果图表周期长于时段(例如在 W1 图表上使用日时段),则不绘制分布并显示一条消息。
- 可以在同一图表上使用两个或更多固定范围模式的 Volume Profile。每个都有自己的一对竖线,加载模板或切换周期时也不会互换。
- 删除固定范围的竖线后会重新绘制。少数情况下会在默认位置(40 根 K 线之前)重新绘制;此时请把它拖到需要的位置。
- 分布是一张图片,而不是图表对象,因此无法选中单独的行。终端的 "Save as picture"(另存为图片)命令可能会将图片放在错误的位置;请改用普通的屏幕截图。
- 基于 tick 构建大量时段需要大量 tick 数据和内存。请先从少量时段开始。
- 不使用 DLL,不使用外部文件,不需要网络连接。
- 仅为图表辅助工具。它不进行交易,也不保证任何交易结果。
主要参数
分布:分布类型(时段),时段长度(日 / 周),时段起点偏移小时数(0,-23 到 23),时段数量(5,1-200),固定范围开始和结束时间(0 = 自动),自动固定范围及无图表时可见范围的回溯 K 线数(100)
行和价值区域:行大小模式(行数),行数(24),每行点数(10),价值区域 %(70)
成交量数据:成交量来源(自动),构建依据(M1 K 线 / tick),tick:最长范围天数(14,1-60),K 线:最大源 K 线数(200,000)
显示:在图表上绘制,上涨/下跌拆分,分布宽度,可见范围宽度和位置,POC 和 VA 线,价格标签,延伸线,颜色,价值区域内外的不透明度,线宽,标签大小
警报:警报(关闭),时段模式:水平来源(上一个时段),POC / VAH / VAL,弹出窗口,声音,推送通知
如果某个输入参数超出范围,指标将不会加载,并在 Experts 日志中写入一条消息。
兼容性与支持
- MetaTrader 5,任何品种。时段分布要求图表周期不长于时段。
- 通过 MQL5 私信提供支持:安装、设置和错误报告。有关市场方向或具体交易的问题不在支持范围内。
- 同一作者的其他工具列在我的卖家页面上。
TradingView 是 TradingView, Inc. 的商标。本产品与 TradingView, Inc. 无关联,未获得其赞助或认可。
