EA-18046 · 辅助工具
SaveTicks
SaveTicks是一个工具型EA,按可配置的毫秒间隔将多个交易品种的tick数据(买价/卖价)记录到CSV和/或二进制文件中。它支持从市场报价、所有可用品种或自定义文件列表中选择品种,并可使用服务器时间或本地时间进行记录。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TimerMsInterval | 500 | 记录间隔(毫秒),定时器触发频率 |
SelectSymbols | EMarketWatchSymbols | 品种选择方式:全部品种、市场报价品种、从文件加载 |
SymbolsFileName | InputSymbolList.txt | 包含品种名称列表的文件名 |
FormatRecording | ECsv | 记录格式:CSV、二进制、或两者同时 |
FormatTime | EServerTime | 时间格式:服务器时间或本地Windows时间 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。