news 2026/6/24 18:08:04

只会用 K 线算期货信号下一步怎么接到交易

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
只会用 K 线算期货信号下一步怎么接到交易

前言

很多读者学期货量化的路径是:先在 Excel 或 Python 里读历史 K 线 CSV,算出均线、突破、胜率,觉得“策略有了”。下一步想接到真实或模拟交易时,不知道程序还要接哪些环节——不是再写一个指标公式,而是:谁提供实时 K 线、什么时候算一次信号、怎么下单、怎么确认持仓真的变了。

本文面向只会用 K 线算信号、还没跑通自动下单的国内期货 Python 学习者,用天勤TqSdk把“研究脚本”接到“模拟盘可交易”的最小路径写清楚。会解释TqApiget_kline_serialwait_updatedatetimeTargetPosTask各是什么角色,不默认你已开户或懂 CTP。

一、期货自动交易比“算信号”多哪几步

可以记成五条,缺一条就会出现“能打印价格但从不下单”或“乱下单”:

  1. 账户与环境TqApi+ 认证 + 模拟账户(如TqSimTqKq)。
  2. 实时 K 线get_kline_serial(合约, 周期秒数, data_length=...)
  3. 事件循环while Trueapi.wait_update(),等待行情服务推送并更新内存表。
  4. 触发时机:用 K 线表最后一行的datetime是否变化判断新 bar(见专题),在iloc[-2]上算你原来的信号。
  5. 执行与核对TargetPosTask.set_target_volumeinsert_order,再用get_position/get_trade核对。

你原来的ma5 > ma20可以几乎原样搬进第 4 步,变的是数据来源和触发条件。

二、把 CSV 研究换成实时 K 线表

fromtqsdkimportTqApi,TqAuth,TqSim,tafunc api=TqApi(TqSim(),auth=TqAuth("快期账户","密码"))symbol="SHFE.rb2510"# 上期所螺纹钢,换成你可交易的合约kl=api.get_kline_serial(symbol,60,data_length=200)# 60 秒=1 分钟线

kl是一张随市场更新的表;datetime列由行情服务写入,表示每根 K 线的时间。研究里df.iloc[-1]若在实盘里直接用于“收盘价突破”,往往用的是未收盘的最后一根,会导致一分钟内信号闪多次;实盘应改为在iloc[-2]上判断,并用下一节的datetime触发。

三、触发:何时算一次信号

whileTrue:api.wait_update()ifnotapi.is_changing(kl.iloc[-1],"datetime"):continuema5=tafunc.ma(kl.close,5)ma20=tafunc.ma(kl.close,20)long_sig=ma5.iloc[-2]>ma20.iloc[-2]andma5.iloc[-3]<=ma20.iloc[-3]

含义:只有在新 1 分钟 K 线(此处 duration=60)开始时,才用刚收盘那根的金叉逻辑。wait_update必须放在循环里,否则表不更新。

四、执行:TargetPosTask 表达“目标几手”

国内期货程序化里,用目标净持仓比逐笔手写报单更不易乱(尤其有平今平昨时)。天勤TargetPosTask在后续wait_update里撤单、报单:

fromtqsdk.libimportTargetPosTask task=TargetPosTask(api,symbol)iflong_sig:task.set_target_volume(1)# 循环必须继续 wait_update,task 才会动作

文档要求:同一合约不要与insert_order混用。

五、核对:持仓是否真的变了

pos=api.get_position(symbol)ifapi.is_changing(pos,"pos_long")orapi.is_changing(pos,"pos_short"):print(symbol,"净仓",pos.pos)

模拟阶段建议下一笔极小仓位,对照成交与持仓;团队模拟可用TqKq()在快期 APP 里看仓。

六、再往后:模拟与实盘

跑通TqSim后,通常只改TqApi构造(如TqKq()TqAccount(期货公司,...)),信号函数一行不改。退出时api.close(),避免连接残留。

总结

只会 K 线算信号的读者,接入国内期货交易的下一步是:用天勤订实时 serial、用datetime变化控制算信号频率、用[-2]做收盘决策、用TargetPosTask表达目标手数、用position/trade核对。这五步与指标公式无关,却是从研究到程序化的分水岭。

建议先在模拟环境跑通一周日志,再考虑实盘小仓位;勿在未核对成交的情况下加大手数。

FAQ

1)想先理解每一笔报单?

可短期用insert_order学习,再加交易时段、资金检查,再切 task。

2)没有快期账户?

按天勤文档注册;模拟也需要TqAuth

3)信号一天只有一次,循环会空转吗?

过滤后 CPU 很低,空转正常。

4)回测怎么接?

TqBacktest参数,捕获BacktestFinishedclose()

风险提示

本文用于技术入门,不构成投资建议。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 18:07:36

3分钟掌握WindowResizer:强制调整任意窗口尺寸的终极解决方案

3分钟掌握WindowResizer&#xff1a;强制调整任意窗口尺寸的终极解决方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固不化的应用程序窗口而烦恼吗&#xff1f;你…

作者头像 李华
网站建设 2026/6/5 14:28:24

英雄联盟回放分析神器ReplayBook:从青铜到王者的进阶指南

英雄联盟回放分析神器ReplayBook&#xff1a;从青铜到王者的进阶指南 【免费下载链接】ReplayBook Play, manage, and inspect League of Legends replays 项目地址: https://gitcode.com/gh_mirrors/re/ReplayBook 你是否曾经想要深入分析自己的《英雄联盟》比赛&#…

作者头像 李华
网站建设 2026/6/5 14:25:27

终极iOS设备调试解决方案:iOSDeviceSupport全版本支持完全指南

终极iOS设备调试解决方案&#xff1a;iOSDeviceSupport全版本支持完全指南 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 你是否曾经遇到过这样的困境&#xff1a;手头有一台运…

作者头像 李华
网站建设 2026/6/5 14:25:01

Docker第三弹:Docker使用

1.Docker怎么构建容器、安装容器&#xff1f; 2.Docker怎么管理镜像仓库&#xff1f; 3.两个镜像怎么合并&#xff1f; 4.Docker有哪些常用指令&#xff1f; 一、Docker 容器使用 Docker 容器是一个轻量级、可移植、自给自足的软件环境&#xff0c;用于运行应用程序。 Doc…

作者头像 李华