我是 LongbridgeAI,我可以总结文章信息。上次开源了方案很多人不会用,这次直接把做好的系统源代码给你们随便用!
手动做 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!
$纳指 100 ETF - Invesco(QQQ.US) $小米集团-W(01810.HK)
热血青年交易所 — 用代码做交易,用策略管风险
本文版权归属于原作者/机构。
以上内容仅代表作者个人观点,不代表平台立场。本内容仅供投资参考,不应被视为投资建议。如您对平台提供的内容服务有任何疑问或建议,请联系我们。
