实盘评测环境留痕指引
当期货公司要求您先在评测环境完成穿透式监管留痕测试时,可以通过 TqSdk 显式切换到评测采集库完成登录、下单、撤单等测试流程,而不需要再手工替换 DLL 文件。
本文适用于以下场景:
期货公司客户经理明确要求您先做外接评测
您已经拿到该期货公司的评测账号、服务器信息或测试指引
您使用的是 Windows 64 位环境
备注
TqSdk 安装包会同时携带生产采集库与评测采集库。只有在期货公司明确要求使用评测环境时,才需要按本文切换;默认情况下无需做任何额外设置。
使用前准备
开始前,请先确认以下事项:
当前运行环境为 Windows 64 位。
已安装支持该功能的依赖包,运行
pip install -U tqsdk_ctpse确保tqsdk_ctpse版本 >= 1.1.0。已从期货公司获取评测环境所需信息,例如评测账号、密码、柜台地址或测试要求。
已准备好需要执行的测试脚本,或者能够运行最小登录程序。
如何切换到评测采集库
TqSdk 通过环境变量 CTPSE_RUN_MODE 控制当前使用的采集库:
PRODUCTION: 生产采集库TEST: 评测采集库
默认值为 PRODUCTION。如果您需要在评测环境完成留痕,请在运行策略前把它设置为 TEST。
方式一:在命令行中设置
如果您是通过命令行运行 Python 脚本,建议优先使用这种方式。
Windows cmd:
set CTPSE_RUN_MODE=TEST
python your_strategy.py
Windows PowerShell:
$env:CTPSE_RUN_MODE="TEST"
python .\your_strategy.py
设置完成后,当前终端里启动的程序就会使用评测采集库。
方式二:在 Python 代码中设置
如果您希望把测试脚本单独保存,也可以在代码开头设置环境变量。请注意,建议在导入 tqsdk 之前完成设置。
import os
os.environ["CTPSE_RUN_MODE"] = "TEST"
from tqsdk import TqApi, TqAuth, TqAccount
api = TqApi(
account=TqAccount("期货公司", "评测账号", "评测密码"),
auth=TqAuth("天勤账号", "天勤密码"),
)
print("登录成功,当前已使用评测采集库")
api.close()
如果您已有现成的交易或测试脚本,通常只需要增加这一个环境变量设置,其余登录、下单、撤单代码不需要修改。
推荐测试流程
如果期货公司已经给出明确测试要求,请优先按对方要求执行。常见流程通常如下:
切换
CTPSE_RUN_MODE=TEST。使用评测账号登录。
按期货公司要求完成留痕相关操作,例如登录、查询资金、下单、撤单、平仓等。
保存测试结果或截图,并提交给期货公司客户经理确认。
测试完成后恢复默认配置。
如果期货公司只要求您“完成评测”,但没有明确说明具体步骤,建议至少完成以下几个动作:
成功登录一次
查询一次账户或持仓
完成一次下单
完成一次撤单,或完成一次开仓和平仓
测试完成后如何恢复默认模式
测试结束后,清除环境变量即可恢复默认生产行为。
Windows cmd:
set CTPSE_RUN_MODE=
Windows PowerShell:
Remove-Item Env:CTPSE_RUN_MODE
也可以直接关闭当前终端,并在新的终端窗口中重新运行程序。只要没有设置 CTPSE_RUN_MODE=TEST,TqSdk 就会继续使用生产采集库。
常见问题
为什么还需要期货公司提供评测环境信息?
TqSdk 解决的是“如何切换评测采集库”的问题,但评测账号、服务器地址、测试要求仍然需要由期货公司提供。
为什么不再需要手工替换 DLL?
生产采集库和评测采集库会随安装包一起分发。您只需要切换环境变量,不需要再手工查找、复制或覆盖 DLL 文件。
柜台采集不到 CPU、BIOS 或硬盘序列号怎么办?
如果期货公司柜台采集不到 CPU、BIOS 或硬盘序列号,可能是新版 Windows 11 已移除 wmic.exe,而当前部分天勤本机信息采集组件仍依赖 WMIC。
可参考 微软官方支持说明,并按以下步骤临时恢复 WMIC:
从微软官方下载 wmic_dlc.zip,解压到本地目录。
以管理员身份打开 PowerShell,进入解压后包含
install.ps1的目录,依次运行:Set-ExecutionPolicy Bypass -Scope Process .\install.ps1
如果提示确认执行策略变更,请选择“是”;确认脚本提示
WMIC has been installed successfully.。安装完成后运行以下命令,确认三类序列号均能正常返回:
wmic cpu get ProcessorId wmic bios get serialnumber wmic path win32_physicalmedia get SerialNumber
完全退出并重启天勤、TqSdk 和 Python 进程,然后重新登录评测柜台进行采集。
警告
微软将该安装方式定义为临时缓解方案,并明确说明它不是安全的长期解决方案。
正式交易前需要做什么?
完成评测后,请清除 CTPSE_RUN_MODE,再使用正式环境账号运行程序。这样程序会恢复为默认的生产采集库模式。