EA-18046 · 辅助工具

SaveTicks

SaveTicks是一个工具型EA,按可配置的毫秒间隔将多个交易品种的tick数据(买价/卖价)记录到CSV和/或二进制文件中。它支持从市场报价、所有可用品种或自定义文件列表中选择品种,并可使用服务器时间或本地时间进行记录。

打开交互版(权益曲线、切换品种)

基本信息

风险安全
评分★★★☆☆
类型辅助工具
周期M1, M5, M15, H1, H4, D1
指标—
作者Alexey Volchanskiy

回测结果(H1,约 1 年)

暂未回测:这个 EA 还没能自动转换。

策略分析

SaveTicks并非交易策略EA,而是一个数据采集工具。它通过定时器(EventSetMillisecondTimer)按用户设定的毫秒间隔循环采集所有指定品种的最新tick数据。入场条件不适用,因为该EA不执行任何交易操作。出场条件同样不适用。仓位管理和资金管理均不涉及,因为EA仅进行数据记录。其核心功能是将SymbolInfoTick获取的MqlTick结构体中的bid和ask价格,配合时间戳写入文件,支持CSV文本格式和二进制格式两种存储方式,并可同时输出两种格式。该EA的用途是为后续的量化分析、回测或策略开发提供高质量的原始tick数据基础。

优势

  • 支持多品种同时采集tick数据,覆盖面广
  • 提供CSV和二进制两种格式,CSV便于人工查看,二进制便于程序高效读取
  • 品种来源灵活,支持市场报价、全部品种和自定义文件三种方式
  • 使用毫秒级定时器,采样精度高,可按需调整间隔

劣势

  • 定时器间隔内可能丢失tick,非逐tick记录而是轮询采样
  • 文件句柄在OnInit中打开但OnDeinit仅关闭CSV和二进制句柄,缺少异常状态下的资源清理保障
  • 没有文件大小限制或自动归档机制,长时间运行可能产生超大文件
  • LoadSymbolList中信任文件内容未做充分校验,可能导致异常
  • 无数据完整性校验,如写入失败时无重试或告警机制

改进建议

  • 增加逐tick模式(使用OnBookEvent)替代纯定时器轮询,确保不遗漏任何tick
  • 添加文件大小监控和自动分割归档功能,防止生成超大文件
  • 增强LoadSymbolList的输入校验,如品种有效性检查和数量上限限制

风险评估

总体风险: 安全

  • 该EA不执行任何交易操作,无资金风险
  • 长时间运行可能消耗大量磁盘空间
  • 文件写入失败时仅简单return,可能导致数据中断但不会造成交易损失

评估得分

代码质量3.0
策略逻辑2.0
风险管理5.0
稳健性2.0
创新性2.0
文档2.0
综合2.7

参数

参数默认值说明
TimerMsInterval500记录间隔(毫秒),定时器触发频率
SelectSymbolsEMarketWatchSymbols品种选择方式:全部品种、市场报价品种、从文件加载
SymbolsFileNameInputSymbolList.txt包含品种名称列表的文件名
FormatRecordingECsv记录格式:CSV、二进制、或两者同时
FormatTimeEServerTime时间格式:服务器时间或本地Windows时间

同类 EA:辅助工具

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。