1. 策略概述
TestStrategy 并不是一个用于实盘获利的交易策略,而是一个调试工具。 它的主要作用是帮助开发者验证:
- 交易接口(Gateway)是否连接正常。
- 策略引擎(CtaEngine)是否能正确收发订单。
- 测试下单函数的执行耗时。
- 基类:
CtaTemplate - 触发机制:基于 Tick 计数,每隔 N 个 Tick 执行一个测试动作。
2. 测试流程
策略内部维护了一个函数列表 self.test_funcs,按顺序存放了要测试的动作:
- 市价单测试 (
test_market_order):- 以涨停价 (
limit_up) 发出买单,模拟市价成交(在期货中通常用对手价或超价模拟市价)。
- 以涨停价 (
- 限价单测试 (
test_limit_order):- 以跌停价 (
limit_down) 发出买单,模拟挂单(通常不会立即成交)。
- 以跌停价 (
- 全撤测试 (
test_cancel_all):- 调用
cancel_all()撤销之前挂出的所有未成交订单。
- 调用
- 停止单测试 (
test_stop_order):- 发出本地停止单(Stop Order),验证策略引擎的触发机制。
3. 核心代码逻辑
在 on_tick 中,每收到 test_trigger (默认10) 个 Tick,就弹出一个测试函数执行,并计算耗时。
| |
4. 使用场景
当你刚配置好一个新的交易接口(比如连接到一个新的仿真环境),或者修改了底层引擎代码后,可以先运行这个策略:
- 如果日志里能看到“耗时xx毫秒”且没有报错,说明发单链路是通的。
- 如果能在交易软件里看到对应的委托单,说明柜台交互是正常的。