当前位置: 首页 > news >正文

期货 K 线算信号 tick 级止损:天勤双序列 wait_update 触发规则

前言

国内期货趋势量化里,开仓信号多在 K 线上算:天勤程序get_kline_serial("DCE.m2509", 300)订豆粕 5 分钟线,均线金叉时TargetPosTask.set_target_volume(5)开多。止损若也等下一根 K 线收盘才检查,夜盘一波急杀时,可能要等 5 分钟才发现亏损扩大,比 tick 级止损多滑很多个最小变动价位。去年改一条豆粕策略:开仓逻辑在 K 线,止损改到 tick(或quote.last_price)触发,回撤明显收敛,代价是主循环要分清「谁有权改 target」。

天勤允许同一TqApi里同时订get_kline_serialget_tick_serial,共用api.wait_update()收包。下面说明 K 线管开仓、tick 管止损的触发分工,避免两者同帧打架。

一、两个序列各自负责什么

序列API触发粒度适合逻辑
K 线get_kline_serial(symbol, duration_seconds, data_length)新 bar开仓、加减仓信号
Tickget_tick_serial(symbol, data_length)每笔成交聚合止损、移动止盈

get_tick_serial返回 tick 表,含datetimelast_pricevolume等(以objs.py为准)。tick 表也会随wait_update更新,用is_changing(ticks.iloc[-1], "datetime")判断新 tick。

二、主循环结构示意

原则:开仓权在 K 线,平仓权可拆给 tick;同一帧只应有一个模块写 target。

klines=api.get_kline_serial(SYMBOL,300,data_length=500)ticks=api.get_tick_serial(SYMBOL,data_length=2000)task=TargetPosTask(api,SYMBOL,price="ACTIVE")target=0entry_price=Nonestop_price=NonewhileTrue:api.wait_update()# K 线:新 bar 算信号(用已收盘 bar)ifapi.is_changing(klines.iloc[-1],"datetime"):bar=klines.iloc[-2]signal=calc_signal(klines)# 你的均线/突破逻辑ifsignal==1andtarget<=0:target=3entry_price=bar["close"]stop_price=entry_price-2*quote.price_tick*10task.set_target_volume(target)# Tick:仅在有仓时检查止损iftarget!=0andapi.is_changing(ticks.iloc[-1],"datetime"):last=ticks.iloc[-1]["last_price"]iftarget>0andlast<=stop_price:target=0task.set_target_volume(0)eliftarget<0andlast>=stop_price:target=0task.set_target_volume(0)

quoteapi.get_quote(SYMBOL)提前取得,用于price_tick

三、常见坑

  1. tick 止损与 K 线反向信号同帧触发:应定优先级,通常止损优先于开新仓。
  2. 未用is_changing过滤,每个包都扫 tick,CPU 升高。
  3. data_length太小,tick 表被截断,极端行情下指标辅助字段丢失。
  4. 停盘期间 tick 不更新,止损应暂停或改用 last_price 快照规则。
  5. 同一合约混用insert_orderTargetPosTask,tick 层改 target 后 task 状态错乱。

四、止损价维护

移动止损可在 tick 分支更新stop_price,但不要每 tick 调set_target_volume;只有触发击穿时才调仓。若用 ATR 止损,ATR 仍建议用 K 线算,tick 只比较价格与阈值。

五、回测与实盘差异

TqBacktest对 tick 精度取决于订阅与回测设置;K+tick 双序列在回测里能跑通,但 tick 级止损的成交假设仍比实盘理想。应用TqSim对价模式试一轮,记录止损滑点。

六、用 quote.last_price 的轻量替代

若觉得get_tick_serial订阅太重,可以只对交易品种get_quote,在止损分支判断api.is_changing(quote, "last_price")。这在不少商品上足够驱动止损,但要注意:行情推送频率低于真实 tick 时,止损会有延迟。股指等高频品种仍建议 tick 表。

quote=api.get_quote(SYMBOL)whileTrue:api.wait_update()iftarget>0andapi.is_changing(quote,"last_price"):ifquote.last_price<=stop_price:target=0task.set_target_volume(0)

七、状态机:避免双写 target

维护显式状态FLAT / LONG / STOPPING比仅用target整数更安全。进入STOPPING后忽略 K 线开仓信号,直到pos确认为 0 再回FLAT。这能避免 tick 止损与 K 线反向信号同帧打架。

状态允许 K 线开仓允许 tick 止损
FLAT
LONG/SHORT否(除非加仓规则)
STOPPING

总结

K 线算信号、tick 管止损,是国内期货程序化里很常见的分工。天勤允许在同一TqApi里并行get_kline_serialget_tick_serial,靠wait_update统一收包,用is_changing把两种触发拆开;开仓逻辑放在新 K 线,止损逻辑放在新 tick,且避免双写 target。把优先级和停盘过滤写清楚,比单纯把止损周期改成 1 分钟 K 线更接近真实风控意图。

FAQ

1)tick 数据量很大怎么办?

缩小data_length,止损只关心最新价;或用is_changing(quote, "last_price")替代全表扫描。

2)能否只用 quote 不用 tick_serial?

可以,get_quotelast_price更新也能驱动止损,粒度取决于行情推送频率。

3)多品种怎么订?

每个交易品种各一对 serial;watch 列表外的品种不要订 tick。

4)反手算开仓还是止损?

建议拆成先平后开两帧,由 task 自动处理开平顺序。


本文基于天勤 TqSdk 公开 API 整理,不构成投资建议。

http://www.cnnetsun.cn/news/2870230.html

相关文章:

  • 非交换凸集嵌入正则性:从经典到量子框架解析
  • 深入解析NXP S12MSCANV3:CAN总线控制器核心机制与工程实践指南
  • 别再只用Mosaic了!目标检测数据增强组合拳:Letterbox + Mosaic + MixUp实战与效果对比
  • NCM音频格式转换工具:3分钟解锁加密音乐,畅享无损音质
  • 告别雾霾图!用Python+OpenCV手把手实现Retinex图像增强(附SSR/MSR/MSRCR完整代码)
  • 如何为Unity游戏实现智能多语言翻译:XUnity.AutoTranslator完整指南
  • 双击即用的桌面水印工具,文字/图片/二维码全支持,纯绿色免安装
  • 安卓手机蓝牙点不动、变灰时的快速自救工具
  • APK-Installer终极指南:如何在Windows上轻松安装安卓应用
  • 076、亮度自适应降噪:根据局部亮度动态调整降噪强度,避免暗部涂抹
  • 计算机毕业设计之基于BERT的文本情感识别算法研究与实现
  • 如何零代码高效制作专业H5页面?开源可视化编辑器h5maker实战指南
  • uni-app跨端开发优缺点深度解析:2026企业项目选型指南
  • apple-starflow服务端集成指南:modelExperienceController与API调用实战
  • 全网超全渗透测试入门教程:搞懂定义、掌握方法、熟悉流程、玩转工具,从零学到精通
  • 元宝 LeetCode 3139. 使数组中所有元素相等的最小开销 Java实现
  • 扫码登录微信后自动回复消息的Python小工具,带会话记录和状态保存
  • 3步掌握DeepLabCut:无标记姿态估计从入门到精通 [特殊字符]
  • 大模型面试实录:23家公司22面,15家拒,7家发Offer,深度复盘大厂/初创面试避坑指南!
  • KiTTY深度解析:Windows上最强大的SSH客户端实战指南
  • 从比特币到HTTPS:用C++实战解析SHA-256在现代安全中的应用场景
  • 终极Citra模拟器黑屏修复指南:10分钟解决3DS游戏闪退问题
  • 广东工业智造大赛复赛布匹瑕疵检测Python工程包:含6种Cascade R-CNN模型、真实产线图像与完整训练推理流程
  • 猫抓浏览器扩展:三步实现网页视频音频资源一键下载的终极指南
  • Kronos金融预测模型:从零部署到生产应用的完整指南
  • WindowTop完全指南:5个核心功能让你的Windows窗口管理效率翻倍
  • MonkeyCode 与 AGPLv3:为什么我们选择最严格的开源许可证
  • 8个步骤掌握MockGPS:Android位置模拟完全指南 [特殊字符]
  • 网页版太阳系动态模拟工具:拖拽调节轨道与速度,即开即用
  • Seraphine:英雄联盟智能辅助工具如何提升你的游戏体验?