“按小时划分的点差分布”功能基于您的经纪商自身的 tick 历史数据,构建每个服务器小时的实际点差分布,并以 24 个柱状图的形式显示中位数和第 90 百分位数。 输入您通常的止损点数,每个柱状图都会显示该小时点差占1R的比例,从而让您一目了然地识别出当天点差成本较高的时段。

EURUSD, tick 计数,50点止损:一天中大部分时间点差为6点(占止损幅度的12%),21:00换点时段点差达34点(68%)
问题所在
对于日内交易和剥头皮交易系统而言,往往是点差而非入场信号决定了交易优势能否维持。交易终端会显示当前点差,但无法显示点差在全天内的变化趋势。一种在市场清淡时段测试成功的策略,在隔夜换点、交易时段开盘或新闻发布前后,即使采用相同的规则,也可能失败,仅仅是因为此时的点差扩大了数倍。
K线历史数据仅存储每根K线的一个点差值,这掩盖了点差的分布情况。该指标直接读取 tick 数据:过去 N 天内的每笔买入/卖出报价,按服务器时间的每小时进行分组。结果是每小时的中位数和第90百分位数,您可以将其与止损位及预期价格波动直接进行比较。
功能
- 基于过去N个日历日的CopyTicksRange数据,计算出每小时点差的中位数、第90百分位数、均值和最大值(单位:点)。今日数据被排除在外,因此交易时段内图表走势不会发生偏移。
- 两种采样模式:
- tick 计数:每个报价仅计数一次。
- 时间加权:每条报价按其有效时间计数(直至下一条报价,最长60秒)。 tick计数会高估快速市场的点差,而快速市场往往点差最大。时间加权则回答了“在本小时的任意时刻,我将支付多少点差”这一问题。
- 工作日筛选:所有日子,或单独选择周一至周五。
- 成本视图:输入您的止损点数(以点为单位),每个K线柱上都会标注该点数下点差中位数所占比例。标题栏显示当前小时的点差中位数和第90百分位数占止损点数的比例。
- 当前小时内每1.00手交易点差成本的中位数(以账户货币计),根据该交易品种的点值和点差大小计算得出。
- 按中位数排序的最便宜和最昂贵时段,各最多显示三个。中位数相同的时段将合并显示或汇总,例如“最便宜:23个小时,6点”,因此相同数值绝不会以排名形式呈现。若所有小时的中位数均相同,标题会明确标注。
- 当前服务器小时高亮显示,实时点差以虚线绘制。当窗口过窄无法在每根柱状图上方显示标签时,最高柱状图将保留其标签。
- 可选功能:将每小时统计数据导出为 CSV 文件至 MQL5\Files 目录(UTF-8 编码,可在 Excel 中直接打开)。
- 每次定时器步进加载一天的Tick数据并立即释放,因此即使处理黄金或加密货币(每日100,000个及以上Tick)时,图表仍能保持响应迅速。 对于终端仍在下载的数据日,系统会重试几秒钟;若某天的 tick 数据无法覆盖其 M1 K线,则在使用前会进行重试。 对于早于交易终端 M1 历史数据(图表中的最大 K 线数)的日期,无法通过 K 线验证其完整性;在交易终端下载期间,此类日期只有在 tick 计数停止变化后才会被使用。
- 首先读取最近的几天。 当连续三个交易日(或所选工作日的连续三天)未返回任何 tick,或者连续十天既无 tick 也无 M1 K 线(时间长度超过任何市场休市期)时,系统会在短暂暂停后再次读取这些日期;如果仍无 tick,则停止加载; 经纪商的 tick 存储中出现缺口也会产生相同效果。若某交易品种没有任何 tick 历史数据,系统将在约 20 秒内显示明确提示;若 tick 历史数据深度小于选定的深度,则仅使用至其起始处。 首次处理较深数据深度时,终端可能仍在下载中;若加载过早停止,请待下载完成后重新连接(第二次运行将从磁盘读取数据)。专家顾问日志中,每次计算都会生成一行摘要。
- 随后显示图表:默认情况下背景色取自图表颜色,文本和网格颜色会根据深色或浅色背景自动调整,布局会随屏幕 DPI 进行缩放。一个图表上可同时运行多个实例。
- 无需交易功能、DLL 文件或外部文件。
输入
| 输入 | 默认 | 描述 |
|---|---|---|
| 历史数据深度,以日历日为单位(不包括今天) | 20 | 要读取的距今日之前的天数(1 至 365)。周末也计入天数,因此 20 个日历日相当于 14 至 17 个交易日。 |
| 采样 | tick 计数 | tick 计数或时间加权(参见“功能”)。 |
| 工作日过滤器 | 所有日期 | 将分析范围限制为某个工作日。同时应增加历史数据深度,因为20个日历日中通常仅包含2到3个特定工作日。 |
| 直方图范围,点(范围越宽 = 溢出) | 5000 | 超过此范围的点位将进入溢出区间。落入溢出区间的统计数据将显示为“>5000”。 |
| 每小时显示的最小 tick 数 | 100 | 点数少于此值的时段将显示为“-”,例如日线间隙。 |
| 止损点数,点(0 = 关闭) | 0 | 您的典型止损。0 会关闭百分比标签,并改以点数显示中位数。 |
| 100% 缩放时的窗口高度,像素(0 = 可调整大小) | 240 | 指标窗口的固定高度,随屏幕 DPI 缩放。0 表示允许自由调整窗口大小。 |
| 背景(无 = 图表背景) | 无 | “无”使用图表背景。 |
| 中位数条 | 蓝色 | 中位数条的颜色。 |
| 第90百分位数上限(“无”表示条形颜色较浅) | 无 | “无”将使用该条形颜色的较浅版本。 |
| 当前小时 | 橙色 | 当前服务器小时的高亮颜色。 |
| 实时价差线 | 红色 | 实时点差线的颜色。 |
| 文本(无 = 自动) | 无 | “无”会根据深色或浅色背景自动选择易于阅读的颜色。 |
| 网格(无 = 自动) | 无 | “无”会选择与背景相匹配的网格颜色。 |
| 字体大小,pt | 9 | 基本字体大小。 |
| 将每小时统计数据保存至 MQL5\Files(CSV) | false | 每次计算后,将文件写入 MQL5\Files\SpreadProfile_<symbol>_<yyyymmdd>.csv。 |
如何解读
每个柱状图代表服务器时间中的一小时。实心部分为点差中位数:一半的报价(或在时间加权模式下,一半的时间)的点差等于或低于该值。较浅的上界达到第90百分位数:每十个报价中就有一个点差高于该值。 虚线代表实时点差,高亮显示的列为当前服务器小时。以下示例来自截图,这些截图是在模拟账户上采集的,覆盖了 20 个日历日(其中 17 天有 tick 数据)。
- 欧元/美元,以点为单位计数,50点止损:在24小时中的23小时内,中位数为6点。 在服务器时间21:00(每日隔夜展期时间),点差为34点,第90百分位数为58点。中位数点差在一天的大部分时间里占1R的12%,而在该小时内则占68%。
- 英镑/美元,时间加权:23小时内为7点,21:00时中位数为46,第90百分位数为94。 在点数计数模式下,同一小时的数据显示为54和100,因为交割时段周围报价最活跃的时刻也伴随着最宽的点差。
- XAUUSD,点数计数,1500点止损:在有数据的每一小时内,中位数均为182点(占止损幅度的12%,即每手18.20美元),因此标题直接标注该数值,而非对相等值进行排序。 21:00的日间跳空没有报价点,显示为“-”。

GBPUSD,时间加权,未设置止损:23小时内7点,中位数46,21:00时第90百分位数为94

XAUUSD,以点数计,止损位设为1500点:在有数据的每小时内波动182点,每日21:00的间歇时段无点数变动
实际解读:如果您的交易系统在某小时内进行交易,而该小时的点差中位数占止损幅度的很大比例,则应跳过该小时、扩大止损幅度,或确保预期价格波动足以覆盖该成本。第90百分位数可让您了解一种虽不常见但可能出现的糟糕成交情况。
注释与限制
- Tick 历史数据的深度取决于您的经纪商以及交易终端已下载的数据量。首次对较长周期进行分析可能需要一段时间,因为交易终端需要从服务器下载 Tick 数据。如果 Tick 历史数据在选定的深度之前就结束了,标题栏会显示“之前无 Tick 数据”,并附上所用最早日期的日期。 例如,在测试服务器上,Tick历史数据始于2026年1月1日,而M1K线图则可追溯至数年前。
- 所有时间均为服务器时间。根据经纪商服务器时区及夏令时规则,诸如每日平仓等事件在夏令时与标准时之间可能存在一小时的偏移。跨越此类转换的历史窗口中,该事件将显示在两个相邻的小时内。
- 模拟账户和真实账户,以及不同账户类型(标准、Raw、Zero),对于同一交易品种可能存在截然不同的点差。请以您实际交易的账户为准。
- 点差历史数据并不保证未来的点差水平。受新闻事件、节假日及流动性较低时期的影响,点差可能远高于此处显示的第90百分位数。
- 每手成本采用当前点值计算,对于交叉货币对,该点值会随汇率波动而变化。
- 该配置文件会在每个新的服务器日重新计算一次,并且每当输入值、交易品种或时间框架发生变化时也会重新计算。
- 在测试机上,加载20天的XAUUSD数据(430万个点)约需1至3秒, 90天(1,900万个点)约需8秒,而365天的EURUSD数据(其中232天包含940万个点)约需30秒,这包括在点数据已存入磁盘后,对点历史开始前日期的二次读取。 您的加载时间取决于经纪商的 tick 密度,以及 tick 数据是否已存储在磁盘上。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/77815
iFVG Indicator With Signals
带信号的iFVG指标
ZoneUS30 — US30中的反转与对您有利的掉期
ZoneUS30 是一款简单的 US30 专家顾问,专注于价格上涨后出现的做空机会。 该策略将均值回归概念与套利交易理念相结合:当空头头寸获得正的隔夜掉期收益时,该EA既能从价格回调中获利,又能从长期持仓中获益。 本策略专为US30设计,仅供实验和教育用途。逆势交易存在重大风险,尤其是使用大仓位时。
Symbol Spec Auditor
一个图表面板,用于显示决定仓位规模和交易成本(点值、点差成本、保证金、掉期、成交规则)的合约规格详情(以账户货币为单位),会就那些会悄无声息地破坏手数代码的经纪商设置发出警告,并能将每个“市场观察”符号的审计记录导出为CSV文件。
离散
离散技术指标由价格和交易量的变化决定。