---
title: "開源 QQQ 0DTE 期權自動交易系統 — 部署指南"
type: "Topics"
locale: "zh-HK"
url: "https://longbridge.com/zh-HK/topics/40600851.md"
description: "上次開源了方案很多人不會用，這次直接把做好的系統源代碼給你們隨便用！ 手動做 0DTE 期權太累？我用 Python 搭了一套完整的 QQQ 零日到期期權自動交易系統，支持雙路徑突破信號檢測、市場狀態自適應、三階段動態止盈。已開源到 GitHub，本文詳細介紹系統設計和核心功能。為什麼做這個系統？做 0DTE 期權交易的朋友都知道痛點：反應慢：期權價格每秒都在變..."
datetime: "2026-05-10T02:56:57.000Z"
locales:
  - [en](https://longbridge.com/en/topics/40600851.md)
  - [zh-CN](https://longbridge.com/zh-CN/topics/40600851.md)
  - [zh-HK](https://longbridge.com/zh-HK/topics/40600851.md)
author: "[热血青年](https://longbridge.com/zh-HK/profiles/17928542.md)"
generator: "portal-rs"
---

# 開源 QQQ 0DTE 期權自動交易系統 — 部署指南

[上次開源了方案很多人不會用，這次直接把做好的系統源代碼給你們隨便用！](https://1797346220.github.io/boke/projects/)

> 手動做 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 雙路徑突破策略**，不是單一信號，而是根據市場節奏自動切換兩種模式：

### Classic 模式（經典突破）

-   **突破窗口**：3 根 K 線（5 分鐘級別）
-   **量能要求**：成交量 > 20 日均量 × 0.8
-   **需要回踩確認**：突破後等回調再入場

**適用場景：** 趨勢明確的行情，穩紮穩打。

### Accelerated 模式（加速突破）

-   **突破窗口**：2 根 K 線（更敏捷）
-   **量能要求**：成交量 > 20 日均量 × 1.2
-   **近 3 根回踩檢測**：快速確認後入場

**適用場景：** 急漲急跌行情，快速響應。

兩種模式自動切換——系統會根據 K 線斜率和量能變化判斷當前是趨勢行情還是加速行情，選擇最優路徑。

* * *

## 信號過濾：多層確認機制

觸發突破信號後，還要通過多層過濾才能真正下單：

### 預加載濾鏡（6 取 4）

每根 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 可能還沒翻正）。

### 核心過濾（3 項全過）

| 過濾項   | 條件                |
| ----- | ----------------- |
| 成交量   | 當前量 > 20 日均量 × 倍數 |
| 動量    | K 線方向與信號方向一致      |
| K 線實體 | 實體比例 > 最小閾值       |

## 市場狀態自適應：一套策略三種打法

這是系統最核心的設計——**不是一套參數打天下，而是根據市場狀態動態調整所有參數。**

### 市場狀態檢測

系統每根 K 線自動檢測三種市場狀態：

-   **trending（趨勢市）**：波動放大 + 方向一致 + 趨勢強
-   **neutral（中性）**：標準參數
-   **choppy（震盪市）**：波動縮小 + 方向不一致 + 趨勢弱

檢測基於最近 20 根 K 線的 4 個維度：

1.  波動幅度比（當前 5 根 vs 前 15 根）
2.  方向一致性（同向 K 線比例）
3.  趨勢強度（簡化 ADX：連續創新高/低次數）
4.  價格位置（在 20 根範圍中的位置）

### 參數自適應

| 參數    | 趨勢市            | 中性       | 震盪市           |
| ----- | -------------- | -------- | ------------- |
| 突破窗口  | 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 必須收盤前平倉 |

### 倉位管理

-   單筆倉位：總資金的 8%
-   期權選擇：OTM 虛值$2 行權價
-   最大同時持倉：3 個
-   信號強度→倉位倍數（強/中/弱）

* * *

## Web 儀表盤

系統內置零依賴 Web 儀表盤，用 Python 內置的 `http.server` 實現，不需要 Flask。

**設計特點：**

-   深色主題，卡片式佈局
-   實時更新（5 秒自動刷新）
-   移動端適配（手機瀏覽器也能用）
-   狀態欄：引擎狀態、連接狀態、當前價格
-   信號過濾面板：6 個濾鏡狀態實時顯示
-   交易記錄表格：盈虧一目瞭然
-   事件日誌：系統運行狀態

啓動後瀏覽器訪問 `http://localhost:8080` 即可查看。

* * *

## 桌面應用

## 雙擊 `main_app.py` 啓動，包含：

-   **Tkinter 桌面窗口**：系統托盤常駐，實時監控
-   **設置界面**：4 個 Tab 頁（信號/風控/窗口/API），在線調整參數
-   **API 密鑰管理**：首次運行彈出配置嚮導
-   **配置熱重載**：修改 settings.json 後自動生效，無需重啓

### PyInstaller 打包

`# 打包為單文件 EXE build.bat # 或 pyinstaller qqq_trading.spec`

打包後雙擊 EXE 即可運行，無需 Python 環境。

* * *

## 集成 Longbridge API

### 行情訂閲

`# WebSocket 實時訂閲 QQQ 1 分鐘 K 線 # 自動聚合為交易信號檢測所需的數據`

### 自動下單

信號觸發後自動：

1.  根據正股價格 + $2 偏移 生成 OTM 虛值期權合約代碼
2.  通過 Longbridge REST API 市價下單
3.  最多重試 2 次，間隔 500ms

### 期權合約生成

`# Call: strike = floor(stock + 2) → 確保 OTM # Put:  strike = ceil(stock - 2)  → 確保 OTM # 格式: QQQ260508C710000.US`

### 飛書通知

每筆交易關鍵節點推送飛書消息：

-   🟢 開倉信號：合約、方向、入場價
-   🔴 止盈止損：觸發價格、盈虧比例
-   ⚠️ 異常告警：連虧、API 斷連、心跳超時

* * *

## 時區處理（關鍵坑點）

**長橋 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` 監控交易引擎：

-   進程崩潰後自動重啓（最多 5 次）
-   所有輸出記錄到日誌文件
-   優雅退出（SIGINT/SIGTERM）

### 狀態持久化

-   原子寫入：先寫臨時文件再替換，防止崩潰時文件損壞
-   交易記錄：`records/` 目錄按日期存儲 JSON
-   狀態文件：`state.json` 供儀表盤實時讀取

* * *

## 快速開始

### 1\. 克隆項目

開源地址在我的博客：[https://1797346220.github.io/boke/projects/](https://1797346220.github.io/boke/projects/)

### 2\. 安裝依賴

`pip install -r requirements.txt`

依賴列表：

-   numpy, scipy（技術指標計算）
-   longbridge（Longbridge SDK）
-   pystray, Pillow（系統托盤）
-   requests（飛書通知）

### 3\. 配置

首次運行會彈出 API 密鑰配置嚮導，填入 Longbridge 的 App Key、App Secret、Access Token 即可。

也可以手動編輯 `settings.json` 調整所有參數，修改後自動熱重載。

### 4\. 啓動

`# 桌面版（推薦）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 # 環境變量模板

* * *

## 設計理念

### 1\. 不是一套參數打天下

市場在變，策略也要變。系統的核心創新是**市場狀態自適應**——自動檢測 trending/neutral/choppy 三種狀態，動態調整所有參數。

### 2\. 信號多層確認

不是"觸發就交易"，而是預加載濾鏡（6 取 4）+ 核心過濾（3 項全過），層層篩選，確保信號質量。

### 3\. 風控是生命線

25% 止損、動態超時、日虧損熔斷、連虧冷卻——所有參數都經過嚴格測試。期權波動大，風控不能松。

### 4\. 開箱即用

首次運行有配置嚮導，參數修改自動熱重載，PyInstaller 打包單文件 EXE——降低使用門檻。

* * *

## 免責聲明

⚠️ **本系統僅供學習和研究，不構成投資建議。**

-   期權交易風險極高，可能損失全部本金
-   建議先用模擬賬户充分測試
-   實盤使用前請仔細檢查所有參數配置
-   系統依賴 Longbridge API，確保網絡穩定

* * *

## 開源地址

[https://1797346220.github.io/boke/projects/](https://1797346220.github.io/boke/projects/)

歡迎 Star ⭐ 和 Fork 🔱，有問題提 Issue！

$納指 100 ETF - Invesco(QQQ.US) $小米集團-W(01810.HK) 

* * *

*熱血青年交易所 — 用代碼做交易，用策略管風險*

### 相關股票

- [QQQ.US](https://longbridge.com/zh-HK/quote/QQQ.US.md)
- [SQQQ.US](https://longbridge.com/zh-HK/quote/SQQQ.US.md)
- [PSQ.US](https://longbridge.com/zh-HK/quote/PSQ.US.md)
- [BYTED.NA](https://longbridge.com/zh-HK/quote/BYTED.NA.md)
- [01810.HK](https://longbridge.com/zh-HK/quote/01810.HK.md)
- [81810.HK](https://longbridge.com/zh-HK/quote/81810.HK.md)
- [HXXD.SG](https://longbridge.com/zh-HK/quote/HXXD.SG.md)
- [XIACY.US](https://longbridge.com/zh-HK/quote/XIACY.US.md)

## 評論 (23)

- **热血青年 · 2026-05-11T14:12:43.000Z · 👍 2**: 所有人注意實時 k 線獲取要採用訂閲推送模式延遲在 100ms 左右，不要輪詢我之前一直輪詢有很大延遲😅。$納指 100 ETF - Invesco(QQQ.US)
- **CJ.YAN · 2026-06-01T12:47:04.000Z**: 看到 setting.json 中很多參數採用硬編碼，會改進嗎
- **热血青年 · 2026-05-27T13:43:18.000Z · 👍 1**: 實盤交易第二天，這就是量化的魅力嗎？$納指 100 ETF - Invesco(QQQ.US)$小米集團-W(01810.HK)
  - **Seanyue** (2026-05-27T13:55:53.000Z): 牛 b
- **不奋东西 · 2026-05-21T15:38:58.000Z**: 才看到你的文章更新。居然程序發展的路徑差不多，我也分了三種行情，做了 3 類參數，還做了反轉和均值迴歸，不過還是突破用的最多。震盪日兩頭被打，像買反了一樣，這個信號的確不太好調。下週看看你的 6 選 4 信號會不會更好。
- **黎诗 · 2026-05-21T14:34:38.000Z**: 先生大義
- **华语歌手 · 2026-05-21T14:34:37.000Z**: 先學習了
- **图图要爆炸 · 2026-05-19T06:10:35.000Z**: 熱血哥，這個我沒看懂怎麼用，那個羣的二維碼也過期了，求帶🤩
- **左侧+耐心 · 2026-05-13T06:57:31.000Z**: 有人復現成功了嘛，我用 codex 做回測效果有點差🥹
  - **苏辂** (2026-05-19T07:27:03.000Z): 不可能高的
  - **0xcbb** (2026-05-28T08:31:47.000Z): 我回測了下不行
- **V震天 · 2026-05-12T21:46:01.000Z**: 感謝🙏🏻
- **大获全胜 · 2026-05-12T17:56:10.000Z**: 牛逼，必須 star
- **看空不做空—蓝迪 · 2026-05-12T01:17:55.000Z**: 牛逼，學習，我要給你 star
- **热血青年 · 2026-05-11T16:52:15.000Z · 👍 1**: 這一波，階梯止盈做的漂亮！$納指 100 ETF - Invesco(QQQ.US)
- **揽风追月 · 2026-05-11T15:01:03.000Z**: 老哥，長橋美股到兩點以後 0day 期權保證金大幅提高，這個咋處理的呀？10w 美金都買不了幾張期權😂
  - **热血青年** (2026-05-11T15:22:45.000Z): 2 點以後我也無法交易
  - **duriancat** (2026-05-14T19:35:06.000Z): 2 點以後不交易或者賣第二天的
- **Seanyue · 2026-05-11T14:25:26.000Z**: 牛 b 牛 b
- **经历 · 2026-05-11T12:47:16.000Z**: 支持，先學習


---
> **免責聲明: 本文僅供參考，不構成任何投資建議。**