- 显示:
- 1842
- 等级:
- 已发布:
- 2014.01.28 06:40
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
"AskBidTicks" 是一套用于微观结构分析的实时报价数据方案。
它输出每一个即时价格至一个 csv 文件, 并提供文件名选项, 分界符和时间戳。它以本地电脑时间工作, 可以很高精度抓取即时价到达时间。
设置:
该程序使用视窗系统的 "kernel32.dll" 文件来提供毫秒级时间戳, 所以它需要允许 DLL 导入。
您可以在 "属性" 窗口, "依赖性" 选卡, 设置这个属性 (参看以下图片)。
您可以选择列分界符来分拆时间, 符号, 询价和出价; 以及您也可以选择时间戳模式:
- 标准: 标准时间戳模式 - 输出像是: 2012.11.13 15:41:23
- 毫秒: 这个模式使用系统时间到达高精度 - 输出像是: 2012.11.13 15:41:23.692
- 分析: 到目前为止的毫秒数 (从第一个即时价至今)。这个选项仅用于简化进一步的操作 (像协同其它程序进行高频数据分析)
如果您打算指定输出文件的名字, 仅需删除第一个参数的字符 "使用省缺" , 之后输入您选择的名字。
输出文件:
输出文件可以在 客户端数据目录 中找到。您可以通过 MetaTrader 5 客户端的文件菜单来容易的找到数据目录。
在程序的开始, 完整的文件路径也显示在 "工具箱" - "专家" 选卡里:
以下是以制表符作为分界符输出的 csv 例样, 带有毫秒级时间戳:
您会注意到那可能有一些遗漏的即时价。这种情况的概率很小, 并取决于多种事实:
- 周期内的经济活动,
- 代码使用时您的硬件速度: 丢失即时价的主要原因是在 NewTick 事件处理器中的非队列策略。这是一个有用事情, 因此才能有新即时价到达的高精度时间戳。但是, 为减少事件处理的时间, 最好是在快速硬件上使用此代码。
- ...
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/820