SuperAPI AI 工具集

fxview-parquet-consumer

通用与其它

查看项目

更新于 10-16 01:50

技能介绍

用途:从 MT5 tick 采集系统生成的 Parquet 文件中读取 FXView 报价 tick 数据,适合构建适配器或数据管道、编写 DuckDB 查询、把 tick 数据接入 Python 或 Rust 流程,以及核对数据模式与文件布局。

数据模式:6 列均非空且 EURUSD 与 XAUUSD 相同。time_msc 为 Unix epoch 毫秒(Int64/BIGINT);bid、ask 为 Float64/DOUBLE;last 与 volume 对 FXView 外汇恒为 0,应忽略;flags 为 UInt8/UTINYINT,是 MqlTick 标志位掩码,取值 4(ask 变动)、130(bid 变动+首 tick)、134(bid+ask 变动+首 tick)。文件页脚元数据含 symbol、digits、broker、created_at。

文件布局:{base_path}/FXVIEW_{SYMBOL}/{YYYY}/{SYMBOL}{YYYYMMDD}.parquet。注意目录带 FXVIEW 前缀,文件名与元数据用裸符号名。EA 重启时可能生成 {SYMBOL}_{YYYYMMDD}_1.parquet 等崩溃恢复分片,各分片均为合法完整 Parquet,可一并读取。

用法示例:单日查询用 SELECT * FROM read_parquet('~/.cache/opendeviationbar/ticks/FXVIEW_EURUSD/2026/EURUSD_20260323.parquet'); 全量可用 ** glob 路径;时间转换可用 make_timestamp(time_msc * 1000);spread 统计用 avg(ask - bid);flags 分布按 flags 分组计数。

限制与注意:外汇品种勿使用 last、volume;勿假设文件名带 FXVIEW_ 前缀;Rust 生产代码勿用 f64 存价格,应依据 digits 元数据用 i64 定点;time_msc 是毫秒不是秒;勿硬编码机器路径。存储为 ZSTD level 3,time_msc 用 DELTA_BINARY_PACKED,flags 用字典编码,行组约 65,536 行,EURUSD 约 416K tick/日、约 1.35 MB。XAUUSD 与 EURUSD 存在差异:digits 分别为 2 和 5,tick 密度约 2.2 倍(约 929K/日),flags 分布不同。安装方式与收费信息暂未提供。