<div align="center">
  <a href="README.md">🇺🇸 English</a> |
  <a href="README_CN.md">🇨🇳 简体中文</a> |
  <a href="README_TW.md">🇹🇼 繁體中文</a> |
  <a href="README_JA.md">🇯🇵 日本語</a> |
  <a href="README_KO.md">🇰🇷 한국어</a>
</div>
<br/>

<div align="center">
  <a href="https://github.com/brokermr810/QuantDinger">
    <img src="https://ai.quantdinger.com/img/logo.e0f510a8.png" alt="QuantDinger Logo" width="160" height="160">
  </a>

  <h1 align="center">QuantDinger</h1>

  <h3 align="center">
    下一代 AI 量化交易平台
  </h3>

  <p align="center">
    <strong>🤖 AI 原生 · 🐍 可视化 Python · 🌍 全球多市场 · 🔒 隐私优先</strong>
  </p>
  <p align="center">
    <i>拥有 AI 副驾驶的构建、回测与交易平台。比 PineScript 更强，比 SaaS 更智能。</i>
  </p>

  <p align="center">
  <a href="https://www.quantdinger.com"><strong>官方社区</strong></a> ·
  <a href="https://ai.quantdinger.com"><strong>在线演示</strong></a> ·
  <a href="https://youtu.be/HPTVpqL7knM"><strong>📺 视频演示</strong></a> ·
  <a href="CONTRIBUTORS.md"><strong>🌟 加入我们</strong></a>
  </p>

  <p align="center">
    <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square&logo=apache" alt="License"></a>
    <img src="https://img.shields.io/badge/Python-3.10+-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python">
    <img src="https://img.shields.io/badge/Vue.js-2.x-4FC08D?style=flat-square&logo=vue.js&logoColor=white" alt="Vue">
    <img src="https://img.shields.io/badge/Docker-Ready-2496ED?style=flat-square&logo=docker&logoColor=white" alt="Docker">
    <img src="https://img.shields.io/github/stars/brokermr810/QuantDinger?style=flat-square&logo=github" alt="Stars">
  </p>

  <p align="center">
    <a href="https://t.me/quantdinger"><img src="https://img.shields.io/badge/Telegram-QuantDinger%20Group-26A5E4?style=for-the-badge&logo=telegram" alt="Telegram Group"></a>
    <a href="https://discord.gg/vwJ8zxFh9Q"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord" alt="Discord"></a>
    <a href="https://x.com/HenryCryption"><img src="https://img.shields.io/badge/X-Follow%20Us-000000?style=for-the-badge&logo=x" alt="X"></a>
  </p>
</div>

---

## 📖 简介

### QuantDinger 是什么？

QuantDinger 是一个**本地优先、隐私优先、自托管的量化交易基础设施**。它运行在你的机器/服务器上，提供 **PostgreSQL 支持的多用户账号体系**，同时让你完全控制自己的策略、交易数据和 API 密钥。

### 为什么选择本地优先？

与将你的数据和策略锁定在云端的 SaaS 平台不同，QuantDinger 在本地运行。你的策略、交易日志、API 密钥和分析结果都保留在你的机器上。没有供应商锁定，没有订阅费用，没有数据泄露风险。

### 适合谁使用？

QuantDinger 为以下用户而构建：
- 重视数据主权和隐私的交易员、研究员和工程师
- 需要透明、可审计的交易基础设施
- 更偏好工程而非营销
- 需要完整的工作流：数据、分析、回测和执行

### 核心功能

QuantDinger 包含一个内置的**基于 LLM 的多智能体研究系统**，能够从网络收集金融情报，结合本地市场数据，生成分析报告。这与策略开发、回测和实盘交易工作流无缝集成。

### 核心价值

- **🔓 Apache 2.0 开源（代码）**：宽松且商业友好。你可以在 Apache 2.0 下 fork/修改代码，但需保留许可与署名等必要声明。
- **🐍 Python 原生 & 可视化**：使用标准 Python 编写指标（比 PineScript 更简单），并由 AI 辅助。直接在图表上可视化信号——打造“本地版 TradingView”体验。
- **🤖 AI 闭环优化**：不仅运行策略，AI 还会分析回测结果并建议参数调整（止损/止盈/MACD 设置），形成闭环优化。
- **🌍 全球市场接入**：统一系统支持加密货币（实盘）、美股/A股、外汇和期货（数据/通知）。
- **⚡ Docker & 清晰架构**：4 行命令极速部署。现代技术栈（Vue + Python），架构清晰，关注点分离。

---

## 📺 视频演示

<div align="center">
  <a href="https://youtu.be/HPTVpqL7knM">
    <img src="docs/screenshots/video_demo.png" alt="QuantDinger 项目介绍视频" width="100%" style="border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); max-width: 800px;">
  </a>
  <p><strong>点击上方视频观看 QuantDinger 项目介绍</strong></p>
</div>

---

## 📚 文档

### 开发指南
- [Python 策略开发指南](docs/STRATEGY_DEV_GUIDE_CN.md)
- [盈透证券 (IBKR) 实盘交易指南](docs/IBKR_TRADING_GUIDE_CN.md) 🆕
- [MetaTrader 5 (MT5) 外汇实盘交易指南](docs/MT5_TRADING_GUIDE_CN.md) 🆕

### 通知配置
- [Telegram 通知配置](docs/NOTIFICATION_TELEGRAM_CONFIG_CH.md)
- [邮件 (SMTP) 通知配置](docs/NOTIFICATION_EMAIL_CONFIG_CH.md)
- [短信 (Twilio) 通知配置](docs/NOTIFICATION_SMS_CONFIG_CH.md)

## 📸 功能预览

<div align="center">
  <h3>🗺️ 系统架构总览</h3>
  <p>QuantDinger AI 驱动的研究、回测和自动化交易功能全景图。</p>
  <img src="docs/screenshots/tuopu.png" alt="QuantDinger 系统拓扑图" width="100%" style="border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); max-width: 800px;">
</div>

<br/>

<div align="center">
  <h3>📊 专业量化仪表盘</h3>
  <p>实时监控市场动态、资产状况和策略状态。</p>
  <img src="docs/screenshots/dashboard.png" alt="QuantDinger Dashboard" width="100%" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);">
</div>

<br/>

<table align="center" width="100%">
  <tr>
    <td width="50%" align="center" valign="top">
      <h3>🤖 AI 深度投研</h3>
      <p>多智能体协作进行市场情绪与技术分析。</p>
      <img src="docs/screenshots/ai_analysis1.png" alt="AI Market Analysis" style="border-radius: 6px;">
    </td>
    <td width="50%" align="center" valign="top">
      <h3>💬 智能交易助手</h3>
      <p>通过自然语言接口获取即时市场洞察。</p>
      <img src="docs/screenshots/trading_assistant.png" alt="Trading Assistant" style="border-radius: 6px;">
    </td>
  </tr>
  <tr>
    <td width="50%" align="center" valign="top">
      <h3>📈 交互式指标分析</h3>
      <p>丰富的技术指标库，支持拖拽式分析。</p>
      <img src="docs/screenshots/indicator_analysis.png" alt="Indicator Analysis" style="border-radius: 6px;">
    </td>
    <td width="50%" align="center" valign="top">
      <h3>🐍 Python 策略生成</h3>
      <p>内置编辑器，支持 AI 辅助策略代码编写。</p>
      <img src="docs/screenshots/indicator_creat_python_code.png" alt="Code Generation" style="border-radius: 6px;">
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center" valign="top">
      <h3>📊 资产监测</h3>
      <p>追踪持仓、设置预警，并通过邮件/Telegram 接收 AI 分析报告。</p>
      <img src="docs/screenshots/portfolio.jpg" alt="Portfolio Monitor" style="border-radius: 6px; max-width: 90%;">
    </td>
  </tr>
</table>

---

## ✨ 关键特性

### 1. 可视化 Python 策略工作台
*比 PineScript 更强，比 SaaS 更智能。*

- **Python 原生**：用 Python 编写指标和策略。利用完整的 Python 生态（Pandas, Numpy, TA-Lib），而不是 PineScript 这种专用语言。
- **"Mini-TradingView" 体验**：直接在内置的 K 线图上运行你的 Python 指标。在历史数据上可视化调试买卖信号。
- **AI 辅助编程**：让内置 AI 为你编写复杂的逻辑。从创意到代码只需几秒钟。

### 2. 完整的交易生命周期
*从指标到执行，无缝衔接。*

1.  **指标**：定义你的市场入场/出场信号。
2.  **策略配置**：附加风险管理规则（仓位管理、止损、止盈）。
3.  **回测 & AI 优化**：运行回测，查看丰富的性能指标，并**让 AI 分析结果以建议改进**（例如：“调整 MACD 阈值为 X”）。
4.  **执行模式**：
    - **实盘交易**：
      - **加密货币**：直接 API 执行，支持 10+ 交易所（Binance, OKX, Bitget, Bybit 等）
      - **美股/港股**：通过盈透证券 (IBKR) 🆕
      - **外汇**：通过 MetaTrader 5 (MT5) 🆕
    - **信号通知**：针对不支持实盘交易的市场（A股/期货），通过 Telegram, Discord, Email, SMS 或 Webhook 发送信号。

### 3. AI 多智能体投研
*你的 7x24 小时 AI 投委会。*

系统雇佣了一个多智能体团队作为你策略的二次过滤器：

- **研究智能体**：抓取网络新闻和宏观事件（Google/Bing）。
- **分析智能体**：分析技术指标和资金流向。
- **策略集成**：AI 的判断可以作为“市场过滤器”——仅当 AI 情绪一致时才允许策略交易（例如：“如果 AI 风险分析师标记宏观风险极高，则不要买入”）。

### 4. 通用数据引擎

QuantDinger 提供跨多个市场的统一数据接口：

- **加密货币**：直接 API 连接进行交易（10+ 交易所）和 CCXT 集成获取行情数据（100+ 数据源）
- **股票**：Yahoo Finance、Finnhub、Tiingo（美股）和 AkShare（A股/港股）
- **期货/外汇**：OANDA 和主要期货数据源
- **代理支持**：内置代理配置，适应受限网络环境

### 5. 🧠 AI 记忆增强系统（Memory-Augmented Agents）
QuantDinger 的多智能体不是“每次从零开始”。它内置了一个**本地记忆库 + 反思闭环**，让每个智能体在生成提示词（prompt）时能检索过往经验，并在事后验证/复盘后把结果写回记忆库。

- **本质**：RAG 风格的“经验检索增强”，**不是**训练/微调模型权重（零外部向量库依赖）。
- **隐私**：所有记忆与反思记录默认落盘在本地 SQLite：`backend_api_python/data/memory/`。

#### 逻辑图（从请求到记忆闭环）

```mermaid
flowchart TB
    %% ===== 🌐 入口层 =====
    subgraph Entry["🌐 API 入口"]
        A["📡 POST /api/analysis/multi"]
        A2["🔄 POST /api/analysis/reflect"]
    end

    %% ===== ⚙️ 服务编排层 =====
    subgraph Service["⚙️ 服务编排"]
        B[AnalysisService]
        C[AgentCoordinator]
        D["📊 构建上下文<br/>price · kline · news · indicators"]
    end

    %% ===== 🤖 多智能体工作流 =====
    subgraph Agents["🤖 多智能体工作流"]

        subgraph P1["📈 Phase 1 · 多维分析（并行）"]
            E1["🔍 MarketAnalyst<br/><i>技术面分析</i>"]
            E2["📑 FundamentalAnalyst<br/><i>基本面分析</i>"]
            E3["📰 NewsAnalyst<br/><i>新闻舆情</i>"]
            E4["💭 SentimentAnalyst<br/><i>市场情绪</i>"]
            E5["⚠️ RiskAnalyst<br/><i>风险评估</i>"]
        end

        subgraph P2["🎯 Phase 2 · 多空博弈（并行）"]
            F1["🐂 BullResearcher<br/><i>看多论据</i>"]
            F2["🐻 BearResearcher<br/><i>看空论据</i>"]
        end

        subgraph P3["💹 Phase 3 · 交易决策"]
            G["🎰 TraderAgent<br/><i>综合研判 → BUY / SELL / HOLD</i>"]
        end

    end

    %% ===== 🧠 记忆层 =====
    subgraph Memory["🧠 本地记忆库 SQLite（data/memory/）"]
        M1[("market_analyst")]
        M2[("fundamental")]
        M3[("news_analyst")]
        M4[("sentiment")]
        M5[("risk_analyst")]
        M6[("bull_researcher")]
        M7[("bear_researcher")]
        M8[("trader_agent")]
    end

    %% ===== 🔄 反思闭环 =====
    subgraph Reflect["🔄 反思闭环（可选）"]
        R[ReflectionService]
        RR[("reflection_records.db")]
        W["⏰ ReflectionWorker"]
    end

    %% ===== 主流程 =====
    A --> B --> C --> D
    D --> P1 --> P2 --> P3

    %% ===== 记忆读写 =====
    E1 <-.-> M1
    E2 <-.-> M2
    E3 <-.-> M3
    E4 <-.-> M4
    E5 <-.-> M5
    F1 <-.-> M6
    F2 <-.-> M7
    G <-.-> M8

    %% ===== 反思流程 =====
    C --> R --> RR
    W --> RR
    W -.->|"验证 + 学习"| M8
    A2 -.->|"手动复盘"| M8
```

#### 1) 记忆是如何“注入提示词”的？
每个 agent 在 `analyze()` 时会：
- **构造 situation**：例如 `"{market}:{symbol} fundamental analysis"`、`"{market}:{symbol} trading decision"` 等
- **携带结构化 metadata**：`market/symbol/timeframe` + `memory_features`（价格、涨跌幅、技术指标等）
- **检索 Top-K 历史经验**：转成一段可读的 `memory_prompt`
- **拼进 system_prompt**：模型在做本次分析前先“读历史经验”

你可以在这些文件里看到同样的模式：
- `backend_api_python/app/services/agents/base_agent.py`：`get_memories()` + `format_memories_for_prompt()`
- `backend_api_python/app/services/agents/*_agents.py`、`trader_agent.py`：把 `memory_prompt` 拼进 system prompt

#### 2) 记忆检索算法（为什么“像”RAG？）
每个角色的记忆表保存（简化）：
- **situation / recommendation / result / returns**
- **market / symbol / timeframe / features_json**
- **embedding（可选 BLOB）**：本地“哈希向量”嵌入（无外部依赖）

检索时会从最近 `AGENT_MEMORY_CANDIDATE_LIMIT` 条候选中打分排序：
\[
score = w_{sim}\cdot sim + w_{recency}\cdot recency + w_{returns}\cdot returns\_score
\]

- **sim**：默认用 embedding cosine，相同维度的本地哈希向量；没有 embedding 时退化为 difflib 文本相似度
- **recency**：半衰期衰减（`AGENT_MEMORY_HALF_LIFE_DAYS`）
- **returns_score**：对收益做 `tanh` 压缩，避免极值支配排序
- **timeframe 惩罚**：如果查询 timeframe 与记忆记录 timeframe 不一致，会额外扣分

#### 3) “学习”从哪里来？（两条写入通道）
- **自动反思（可选）**：
  - 分析结束后，系统会把 BUY/SELL/HOLD 记录到 `reflection_records.db`
  - 开启 `ENABLE_REFLECTION_WORKER=true` 后，后台线程会按 `REFLECTION_WORKER_INTERVAL_SEC` 轮询到期记录，拉取最新价格做验证，并把验证结果写回 `trader_agent_memory.db`
- **手动复盘（推荐）**：
  - 调用 `POST /api/analysis/reflect`，把你的真实交易结果（returns/result）写回记忆库，用于后续决策增强

#### 4) 关键环境变量（`.env`）
- **ENABLE_AGENT_MEMORY**：是否启用记忆增强（默认 true）
- **AGENT_MEMORY_TOP_K**：每次注入的经验条数（默认 5）
- **AGENT_MEMORY_CANDIDATE_LIMIT**：候选池大小（默认 500）
- **AGENT_MEMORY_ENABLE_VECTOR**：是否启用 embedding cosine（默认 true；否则退化为文本相似）
- **AGENT_MEMORY_EMBEDDING_DIM**：哈希 embedding 维度（默认 256）
- **AGENT_MEMORY_HALF_LIFE_DAYS**：时间衰减半衰期（默认 30）
- **AGENT_MEMORY_W_SIM / W_RECENCY / W_RETURNS**：三项权重（默认 0.75 / 0.20 / 0.05）
- **ENABLE_REFLECTION_WORKER**：是否启用自动验证闭环（默认 false）
- **REFLECTION_WORKER_INTERVAL_SEC**：自动验证周期（默认 86400 秒）

### 6. 策略运行时

- **基于线程的执行器**：独立的线程池用于策略执行
- **自动恢复**：系统重启后恢复运行中的策略
- **订单队列**：后台工作线程用于订单执行

### 7. 多LLM提供商支持

QuantDinger 支持多个 AI 提供商，具备自动检测功能：

| 提供商 | 特点 |
|--------|------|
| **OpenRouter** | 多模型网关（默认），100+ 模型 |
| **OpenAI** | GPT-4o, GPT-4o-mini |
| **Google Gemini** | Gemini 1.5 Flash/Pro |
| **DeepSeek** | DeepSeek Chat（性价比高） |
| **xAI Grok** | Grok Beta |

只需在 `.env` 中配置您首选提供商的 API 密钥，系统会自动检测可用提供商。

### 8. 用户管理与安全

- **多用户支持**：基于 PostgreSQL 的用户账户，支持基于角色的权限管理
- **OAuth 登录**：Google 和 GitHub OAuth 集成
- **邮箱验证**：通过邮箱验证码进行注册和密码重置
- **安全功能**：Cloudflare Turnstile 人机验证、IP/账户速率限制
- **演示模式**：用于公开演示的只读模式

### 9. 技术栈

- **后端**：Python (Flask) + PostgreSQL + Redis（可选）
- **前端**：Vue 2 + Ant Design Vue + KlineCharts/ECharts
- **部署**：Docker Compose

---

## 🔌 支持的交易所和券商

QuantDinger 支持多种市场类型的执行方式：

### 加密货币交易所（直接 API）

| 交易所 | 市场 |
|:--------:|:---------|
| Binance | 现货, 合约, 杠杆 |
| OKX | 现货, 永续, 期权 |
| Bitget | 现货, 合约, 跟单交易 |
| Bybit | 现货, 线性合约 |
| Coinbase Exchange | 现货 |
| Kraken | 现货, 合约 |
| KuCoin | 现货, 合约 |
| Gate.io | 现货, 合约 |
| Bitfinex | 现货, 衍生品 |

### 传统券商

| 券商 | 市场 | 平台 |
|:------:|:--------|:---------|
| **盈透证券 (IBKR)** | 美股, 港股 | TWS / IB Gateway 🆕 |
| **MetaTrader 5 (MT5)** | 外汇 | MT5 终端 🆕 |

### 行情数据（通过 CCXT）

Bybit、Gate.io、Kraken、KuCoin、HTX 以及 100+ 其他交易所用于行情数据。


---

### 多语言支持

QuantDinger 为全球用户构建，提供全面的国际化支持：

<p>
  <img src="https://img.shields.io/badge/🇺🇸_English-Supported-2563EB?style=flat-square" alt="English" />
  <img src="https://img.shields.io/badge/🇨🇳_简体中文-Supported-2563EB?style=flat-square" alt="Simplified Chinese" />
  <img src="https://img.shields.io/badge/🇹🇼_繁體中文-Supported-2563EB?style=flat-square" alt="Traditional Chinese" />
  <img src="https://img.shields.io/badge/🇯🇵_日本語-Supported-2563EB?style=flat-square" alt="Japanese" />
  <img src="https://img.shields.io/badge/🇰🇷_한국어-Supported-2563EB?style=flat-square" alt="Korean" />
  <img src="https://img.shields.io/badge/🇩🇪_Deutsch-Supported-2563EB?style=flat-square" alt="German" />
  <img src="https://img.shields.io/badge/🇫🇷_Français-Supported-2563EB?style=flat-square" alt="French" />
  <img src="https://img.shields.io/badge/🇹🇭_ไทย-Supported-2563EB?style=flat-square" alt="Thai" />
  <img src="https://img.shields.io/badge/🇻🇳_Tiếng_Việt-Supported-2563EB?style=flat-square" alt="Vietnamese" />
  <img src="https://img.shields.io/badge/🇸🇦_العربية-Supported-2563EB?style=flat-square" alt="Arabic" />
</p>

所有 UI 元素、错误信息和文档均已完全翻译。语言会根据浏览器设置自动检测，也可以在应用中手动切换。

---

### 支持的市场

| 市场类型 | 数据源 | 交易 |
|-------------|--------------|---------|
| **加密货币** | Binance, OKX, Bitget, + 100 交易所 | ✅ 全面支持 |
| **美股** | Yahoo Finance, Finnhub, Tiingo | ✅ 通过盈透证券 🆕 |
| **港股** | AkShare, 东方财富 | ✅ 通过盈透证券 🆕 |
| **A股** | AkShare, 东方财富 | ⚡ 仅数据 |
| **外汇** | Finnhub, OANDA | ✅ 通过 MT5 🆕 |
| **期货** | 交易所 API, AkShare | ⚡ 仅数据 |

---

### 架构 (当前仓库)

```text
┌─────────────────────────────┐
│      quantdinger_vue         │
│   (Vue 2 + Ant Design Vue)   │
└──────────────┬──────────────┘
               │  HTTP (/api/*)
               ▼
┌─────────────────────────────┐
│     backend_api_python       │
│   (Flask + 策略运行时)       │
└──────────────┬──────────────┘
               │
               ├─ PostgreSQL（多用户支持）
               ├─ Redis (可选缓存)
               └─ 数据提供商 / LLMs / 交易所
```

---

### 仓库目录结构

```text
.
├─ backend_api_python/         # Flask API + AI + 回测 + 策略运行时
│  ├─ app/
│  ├─ env.example              # 复制为 .env 进行本地配置
│  ├─ requirements.txt
│  └─ run.py                   # 入口点
└─ quantdinger_vue/            # Vue 2 UI (开发服务器代理 /api -> 后端)
```

---

## 快速开始

### 选项 1: Docker 部署 (推荐)

运行 QuantDinger 最快的方式。

#### 1. 一键启动

**Linux / macOS**
```bash
git clone https://github.com/brokermr810/QuantDinger.git && \
cd QuantDinger && \
cp backend_api_python/env.example backend_api_python/.env && \
docker-compose up -d --build
```

**Windows (PowerShell)**
```powershell
git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger
Copy-Item backend_api_python\env.example -Destination backend_api_python\.env
docker-compose up -d --build
```

#### 2. 访问与配置

- **前端 UI**: http://localhost:8888
- **默认账号**: `quantdinger` / `123456`

> **注意**：为了使用 AI 功能或生产环境安全，请编辑 `backend_api_python/.env`（添加 `OPENROUTER_API_KEY`，修改密码），然后执行 `docker-compose restart backend` 重启服务。

#### 3. 访问应用

- **前端 UI**: http://localhost
- **后端 API**: http://localhost:5000

#### Docker 命令参考

```bash
# 查看运行状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

# 停止并删除卷 (警告：会删除数据库！)
docker-compose down -v
```

#### 数据持久化

以下数据挂载到主机，重启容器后依然保留：

```yaml
volumes:
  - ./backend_api_python/logs:/app/logs                       # 日志
  - ./backend_api_python/data:/app/data                       # 数据目录（包含 quantdinger.db）
  - ./backend_api_python/.env:/app/.env                       # 配置文件
```

---

### 选项 2: 本地开发

**先决条件**
- 推荐 Python 3.10+
- 推荐 Node.js 16+

#### 1. 启动后端 (Flask API)

```bash
cd backend_api_python
pip install -r requirements.txt
cp env.example .env   # Windows: copy env.example .env
python run.py
```

后端将在 `http://localhost:5000` 上可用。

#### 2. 启动前端 (Vue UI)

```bash
cd quantdinger_vue
npm install
npm run serve
```

前端开发服务器运行在 `http://localhost:8000` 并将 `/api/*` 代理到 `http://localhost:5000`。

---

### 配置 (.env)

使用 `backend_api_python/env.example` 作为模板。常用设置包括：

- **认证**: `SECRET_KEY`, `ADMIN_USER`, `ADMIN_PASSWORD`
- **服务器**: `PYTHON_API_HOST`, `PYTHON_API_PORT`, `PYTHON_API_DEBUG`
- **数据库**: `DATABASE_URL` (PostgreSQL 连接字符串)
- **AI / LLM**: `LLM_PROVIDER` (openrouter/openai/google/deepseek/grok), 各提供商 API 密钥
- **OAuth**: `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`
- **安全**: `TURNSTILE_SITE_KEY`, `TURNSTILE_SECRET_KEY`, `ENABLE_REGISTRATION`
- **网络搜索**: `SEARCH_PROVIDER`, `SEARCH_GOOGLE_*`, `SEARCH_BING_API_KEY`
- **订单执行**: `ORDER_MODE` (maker/market), `MAKER_WAIT_SEC`, `MAKER_OFFSET_BPS`
- **代理 (可选)**: `PROXY_PORT` 或 `PROXY_URL`
- **后台服务**: `ENABLE_PENDING_ORDER_WORKER`, `ENABLE_PORTFOLIO_MONITOR`

---

## 🤝 社区与支持

- **贡献**: [贡献指南](CONTRIBUTING.md) · [贡献者](CONTRIBUTORS.md)
- **Telegram**: [QuantDinger 群组](https://t.me/quantdinger)
- **Discord**: [加入服务器](https://discord.gg/vwJ8zxFh9Q)
- **📺 视频演示**: [项目介绍](https://youtu.be/HPTVpqL7knM)
- **YouTube**: [@quantdinger](https://youtube.com/@quantdinger)
- **Email**: [brokermr810@gmail.com](mailto:brokermr810@gmail.com)
- **GitHub Issues**: [报告 Bug / 功能请求](https://github.com/brokermr810/QuantDinger/issues)

---

## 💼 商业授权与赞助（Commercial License & Sponsorship）

QuantDinger 的代码使用 **Apache License 2.0** 授权。但需要注意：**Apache 2.0 不授予商标权**。QuantDinger 的名称/Logo/品牌标识受商标与品牌政策约束（与代码许可分离）：

- **版权/署名**：你必须保留必要的版权与许可声明（例如仓库中的 LICENSE/NOTICE 等，以及代码中的署名信息）。
- **商标（名称/Logo/品牌）**：你不得使用 QuantDinger 的名称/Logo/品牌来暗示背书或误导来源；若再发布修改版，一般需要移除/替换 QuantDinger 品牌标识，除非获得书面许可。

如果你希望在再发布版本中**保留/修改 QuantDinger 品牌展示**（包括 UI 品牌、Logo 使用等），请联系我们获取 **商业授权**。

另见：`TRADEMARKS.md`

### 商业授权可获得

- **品牌/版权展示的商用授权**（以双方约定为准）
- **运维支持**：部署、升级、故障处理与维护建议
- **咨询服务**：架构评审、性能调优、策略工作流咨询
- **赞助商权益**：成为项目赞助商，可按约定展示你的 Logo/广告（README/官网/应用内等）

### 联系方式

- **Telegram**： [QuantDinger Group](https://t.me/worldinbroker)
- **Email**： [brokermr810@gmail.com](mailto:brokermr810@gmail.com)

---

### 💼 值得信赖的交易所合作伙伴（联盟链接）

使用我们的合作伙伴链接，在享受相同交易体验的同时支持 QuantDinger 的发展。

<div align="center">
<table>
  <tr>
    <td align="center" width="33.33%">
      <a href="https://www.bmwweb.ac/referral/earn-together/refer2earn-usdc/claim?hl=zh-CN&ref=GRO_28502_9OSOJ" target="_blank">
        <img src="https://img.shields.io/badge/Binance-Exchange-F0B90B?style=for-the-badge&logo=binance&logoColor=white" alt="Binance" />
      </a>
      <br/><br/>
      <strong>全球最大的加密货币交易所</strong><br/>
      <small>现货 • 期货 • 杠杆交易</small>
    </td>
    <td align="center" width="33.33%">
      <a href="https://www.bjwebptyiou.com/join/14449926" target="_blank">
        <img src="https://img.shields.io/badge/OKX-Exchange-000000?style=for-the-badge&logo=okx&logoColor=white" alt="OKX" />
      </a>
      <br/><br/>
      <strong>领先的衍生品平台</strong><br/>
      <small>现货 • 永续合约 • 期权</small>
    </td>
    <td align="center" width="33.33%">
      <a href="https://share.glassgs.com/u/H8XZGS71" target="_blank">
        <img src="https://img.shields.io/badge/Bitget-Exchange-1F2937?style=for-the-badge&logo=bitget&logoColor=white" alt="Bitget" />
      </a>
      <br/><br/>
      <strong>创新的跟单交易</strong><br/>
      <small>现货 • 期货 • 社交交易</small>
    </td>
  </tr>
</table>
</div>

---

### 💝 直接支持（捐赠）

你的贡献帮助我们维护和改进 QuantDinger。

**加密货币捐赠 (ERC-20 / BEP-20 / Polygon / Arbitrum)**

```
0x96fa4962181bea077f8c7240efe46afbe73641a7
```

<p>
  <img src="https://img.shields.io/badge/USDT-Accepted-26A17B?style=for-the-badge&logo=tether&logoColor=white" alt="USDT">
  <img src="https://img.shields.io/badge/ETH-Accepted-3C3C3D?style=for-the-badge&logo=ethereum&logoColor=white" alt="ETH">
</p>

---

### 🎓 支持伙伴

我们很荣幸获得推动量化金融教育和研究的学术机构和组织的支持。

<div align="center">
<table>
  <tr>
    <td align="center" width="50%">
      <a href="https://beinvolved.indiana.edu/organization/quantfiniu" target="_blank">
        <img src="docs/screenshots/qfs_logo.png" alt="印第安纳大学量化金融学会" width="280" style="border-radius: 8px;">
      </a>
      <br/><br/>
      <strong>量化金融学会 (QFS)</strong><br/>
      <small>印第安纳大学布卢明顿分校</small><br/>
      <small>培养下一代量化金融专业人才</small>
    </td>
  </tr>
</table>
</div>

> 💡 **有兴趣成为支持伙伴吗？** 我们欢迎与大学、研究机构和组织合作。请通过 [brokermr810@gmail.com](mailto:brokermr810@gmail.com) 或 [Telegram](https://t.me/worldinbroker) 联系我们。

---

### 致谢

QuantDinger 站在这些伟大的开源项目肩膀之上：Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineCharts 等。

感谢所有维护者和贡献者！ ❤️

