I'm LongbridgeAI, I can summarize articles.上次开源了方案很多人不会用,这次直接把做好的系统源代码给你们随便用!
手动做 0DTE 期权太累?我用 Python 搭了一套完整的 QQQ 零日到期期权自动交易系统,支持双路径突破信号检测、市场状态自适应、三阶段动态止盈。已开源到 GitHub,本文详细介绍系统设计和核心功能。
做 0DTE 期权交易的朋友都知道痛点:
所以我决定把策略写成代码——信号检测、下单执行、止盈止损全自动,人只需要负责监控和调参。
系统基于 Longbridge OpenAPI 构建,实时订阅 QQQ 行情,检测到突破信号后自动选择 0DTE 期权合约、下单、管理仓位。

技术栈:
| 组件 | 技术选型 |
|---|---|
| 交易引擎 | Python 3.14 + NumPy + SciPy |
| API 通信 | Longbridge OpenAPI (WebSocket + REST) |
| 桌面 GUI | Tkinter + pystray 系统托盘 |
| Web 仪表盘 | Python 内置 http.server,零依赖 |
| 通知 | 飞书 Webhook |
| 打包 | PyInstaller 单文件 EXE |
系统的核心是 v6.2 双路径突破策略,不是单一信号,而是根据市场节奏自动切换两种模式:
适用场景: 趋势明确的行情,稳扎稳打。
适用场景: 急涨急跌行情,快速响应。
两种模式自动切换——系统会根据 K 线斜率和量能变化判断当前是趋势行情还是加速行情,选择最优路径。
触发突破信号后,还要通过多层过滤才能真正下单:
每根 K 线实时计算 6 个指标状态,信号触发时只需查询,不需重算:
| 滤镜 | 做多条件 | 做空条件 |
|---|---|---|
| SMA20 | 价格 > SMA20 且上升 | 价格 < SMA20 且下降 |
| SMA50 | 价格 > SMA50 | 价格 < SMA50 |
| 当日位置 | < 85%(不在顶部做多) | > 15%(不在底部做空) |
| 趋势 | 最近 5 根 ≥ 3 阳 | 最近 5 根 ≥ 3 阴 |
| VWAP | 价格 > VWAP | 价格 < VWAP |
| MACD | MACD 柱 > 0 | MACD 柱 < 0 |
6 个中至少过 4 个才允许入场。 趋势行情下 MACD 降级为可选项(急涨初期 MACD 可能还没翻正)。
| 过滤项 | 条件 |
|---|---|
| 成交量 | 当前量 > 20 日均量 × 倍数 |
| 动量 | K 线方向与信号方向一致 |
| K 线实体 | 实体比例 > 最小阈值 |

这是系统最核心的设计——不是一套参数打天下,而是根据市场状态动态调整所有参数。
系统每根 K 线自动检测三种市场状态:
检测基于最近 20 根 K 线的 4 个维度:
| 参数 | 趋势市 | 中性 | 震荡市 |
|---|---|---|---|
| 突破窗口 | 3 根(等确认) | 3 根 | 2 根(极速入场) |
| 回踩确认 | 需要 | 不需要 | 不需要 |
| 预加载滤镜 | 6 取 3(放宽) | 6 取 3 | 6 取 2(更放宽) |
| 止盈平仓 | 100% 平半仓(让利润跑) | 80% 平半仓 | 50% 平半仓(快进快出) |
| 止损 | 25% | 25% | 30%(容忍震荡) |
| 超时退出 | 不设超时 | 4 分钟 | 8 分钟 |
| 仓位 | 70% | 40%(风险低) | 80% |
核心理念:

趋势市:盈利 100% → 平仓 30% 仓位 → 追踪最高点回撤全平 中性: 盈利 80% → 平仓 30% 仓位 → 追踪最高点回撤全平 震荡市:盈利 50% → 平仓 30% 仓位 → 追踪最高点回撤全平
| 止损类型 | 触发条件 | 说明 |
|---|---|---|
| 固定止损 | 亏损 >= 25% | 立即全平 |
| 时间止损 | 超时(4~8 分钟) | 按市场状态动态调整 |
| 日亏损上限 | 当日亏损 >= 25% | 当日停止交易 |
| 连亏冷却 | 连续亏损后 | 暂停交易,允许反向信号 |
| 收盘强平 | 美东 15:50 | 0DTE 必须收盘前平仓 |
系统内置零依赖 Web 仪表盘,用 Python 内置的 http.server 实现,不需要 Flask。
设计特点:
启动后浏览器访问 http://localhost:8080 即可查看。
main_app.py 启动,包含:# 打包为单文件 EXE build.bat # 或 pyinstaller qqq_trading.spec
打包后双击 EXE 即可运行,无需 Python 环境。
# WebSocket 实时订阅 QQQ 1 分钟 K 线 # 自动聚合为交易信号检测所需的数据
信号触发后自动:
# Call: strike = floor(stock + 2) → 确保 OTM # Put: strike = ceil(stock - 2) → 确保 OTM # 格式: QQQ260508C710000.US
每笔交易关键节点推送飞书消息:
长桥 API 的时间戳是 HKT(UTC+8),不是美东时间!
系统内部统一使用美东时间(Eastern Time),自动处理夏令时/冬令时切换:
TZ_ET = ZoneInfo("America/New_York") # 自动 EDT/EST 切换 TZ_HKT = timezone(timedelta(hours=8)) # 交易窗口:美东 09:35-15:50 # 收盘强平:美东 15:50
watchdog.py 监控交易引擎:
records/ 目录按日期存储 JSONstate.json 供仪表盘实时读取
开源地址在我的博客:https://1797346220.github.io/boke/projects/
pip install -r requirements.txt
依赖列表:
首次运行会弹出 API 密钥配置向导,填入 Longbridge 的 App Key、App Secret、Access Token 即可。
也可以手动编辑 settings.json 调整所有参数,修改后自动热重载。
# 桌面版(推荐)python main_app.py # 或使用启动脚本 start.bat
├── main_app.py # 主入口(Tkinter GUI + 系统托盘)
├── live_trader.py # 核心交易引擎 v6.2
├── trader_web.py # Web 仪表盘
├── dashboard_web.py # 轻量 Web 仪表盘(无依赖)
├── dashboard_tk.py # Tkinter 桌面仪表盘
├── config_manager.py # 配置管理器
├── settings_gui.py # 设置界面
├── update_gist.py # 交易记录同步到 GitHub Gist
├── watchdog.py # 看门狗(崩溃自动重启)
├── backtest_v6.py # 回测引擎(Black-Scholes 定价)
├── settings.json # 交易参数配置
├── requirements.txt # Python 依赖
└── .env.example # 环境变量模板
市场在变,策略也要变。系统的核心创新是市场状态自适应——自动检测 trending/neutral/choppy 三种状态,动态调整所有参数。
不是"触发就交易",而是预加载滤镜(6 取 4)+ 核心过滤(3 项全过),层层筛选,确保信号质量。
25% 止损、动态超时、日亏损熔断、连亏冷却——所有参数都经过严格测试。期权波动大,风控不能松。
首次运行有配置向导,参数修改自动热重载,PyInstaller 打包单文件 EXE——降低使用门槛。
⚠️ 本系统仅供学习和研究,不构成投资建议。
https://1797346220.github.io/boke/projects/
欢迎 Star ⭐ 和 Fork 🔱,有问题提 Issue!
$Invesco QQQ Trust(QQQ.US) $XIAOMI-W(01810.HK)
热血青年交易所 — 用代码做交易,用策略管风险
The copyright of this article belongs to the original author/organization.
The views expressed herein are solely those of the author and do not reflect the stance of the platform. The content is intended for investment reference purposes only and shall not be considered as investment advice. Please contact us if you have any questions or suggestions regarding the content services provided by the platform.
