Files
DinQuant/docs/README_CN.md
T
Dinger 05f07ee544 refactor deployment config and exchange integrations
Simplify runtime configuration and remove legacy database and settings surface so new installs are easier to operate.
Refresh deployment assets, docs, and order execution behavior to keep the packaged app aligned with the current backend.

Made-with: Cursor
2026-03-21 18:32:04 +08:00

25 KiB
Raw Blame History

QuantDinger Logo

QuantDinger

AI原生量化交易平台

Vibe Coding 遇见算法交易

🇺🇸 English  ·  🇨🇳 中文  ·  🌐 在线演示  ·  📺 视频  ·  💬 社区  ·  🚀 快速开始

7个AI智能体 · Python策略 · 10+交易所 · 预测市场 · 您的服务器,您的密钥

用自然语言描述您的交易想法 → AI编写Python策略 → 回测 → 实盘交易。
无需编程。自托管 — 您的API密钥和策略永远不会离开您的机器。

License Version Python Docker Vibe Coding Stars

Telegram Discord X

🇺🇸 English · 🇨🇳 简体中文 · 🇹🇼 繁體中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇩🇪 Deutsch · 🇫🇷 Français · 🇹🇭 ไทย · 🇻🇳 Tiếng Việt · 🇸🇦 العربية


📑 目录


🚀 快速开始(2分钟)

只需:安装 Docker。无需其他。

# 1. 克隆
git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger

# 2. 复制后端配置
cp backend_api_python/env.example backend_api_python/.env

# 3. 生成并写入安全的 SECRET_KEY
./scripts/generate-secret-key.sh

# 4. 启动!
docker-compose up -d --build

Linux/macOS:

  • 复制后端配置: cp backend_api_python/env.example backend_api_python/.env
  • 如果需要更多高级配置,直接查看这个文件下半部分的 “Advanced / rarely changed”: backend_api_python/env.example
  • 可选:如果你所在网络拉取 Docker Hub 较慢或不可达,再复制项目根镜像配置: cp .env.example .env
  • 生成并写入 SECRET_KEY ./scripts/generate-secret-key.sh
  • 启动: docker-compose up -d --build

Windows PowerShell:

  • 复制后端配置: Copy-Item backend_api_python\env.example -Destination backend_api_python\.env
  • 如果需要更多高级配置,直接查看这个文件下半部分的 “Advanced / rarely changed”: backend_api_python\env.example
  • 可选:如果你所在网络拉取 Docker Hub 较慢或不可达,再复制项目根镜像配置: Copy-Item .env.example -Destination .env
  • 生成并写入 SECRET_KEY $key = py -c "import secrets; print(secrets.token_hex(32))" (Get-Content backend_api_python\.env) -replace '^SECRET_KEY=.*$', "SECRET_KEY=$key" | Set-Content backend_api_python\.env -Encoding UTF8
  • 启动: docker-compose up -d --build

⚠️ 安全提示:如果 SECRET_KEY 使用默认值,容器将不会启动。这可以防止不安全的部署。

🎉 完成! 打开 http://localhost:8888 | 登录:quantdinger / 123456

📝 backend_api_python/.env 中的关键设置
# 必需 — 生产环境请修改!
ADMIN_USER=quantdinger
ADMIN_PASSWORD=your_secure_password
SECRET_KEY=your_random_secret_key  # ⚠️ 必须修改!生成方式:python3 -c "import secrets; print(secrets.token_hex(32))"

# 可选 — 启用AI功能(选择一个)
OPENROUTER_API_KEY=your_key        # 推荐:100+模型
OPENAI_API_KEY=your_key            # GPT-4o
DEEPSEEK_API_KEY=your_key          # 性价比高
GOOGLE_GEMINI_API_KEY=your_key     # Gemini
🔐 生成 SECRET_KEYDocker部署必需)

在启动Docker之前,您必须设置一个安全的 SECRET_KEY:

# 方式1:使用辅助脚本(Linux/Mac)
./scripts/generate-secret-key.sh

# 方式2:使用辅助脚本(Windows PowerShell
.\scripts\generate-secret-key.ps1

# 方式3:手动生成
python3 -c "import secrets; print(secrets.token_hex(32))"
# 然后编辑 backend_api_python/.env 并替换 SECRET_KEY 值

⚠️ 如果 SECRET_KEY 使用默认值,容器将不会启动!

🔧 常用Docker命令
docker-compose ps                  # 查看服务状态
docker-compose logs -f backend     # 查看后端日志(实时)
docker-compose restart backend     # 仅重启后端
docker-compose up -d --build       # 重建并重启所有服务
docker-compose down                # 停止所有服务

更新到最新版本:

git pull && docker-compose up -d --build

备份和恢复数据库:

docker exec quantdinger-db pg_dump -U quantdinger quantdinger > backup.sql
cat backup.sql | docker exec -i quantdinger-db psql -U quantdinger quantdinger

自定义端口 — 在项目根目录创建 .env

FRONTEND_PORT=3000          # 默认:8888
BACKEND_PORT=127.0.0.1:5001 # 默认:5000

可选镜像源 — 默认直连 Docker Hub。如果你所在地区/网络无法拉取基础镜像,可复制 .env.example.env,只改一行:

IMAGE_PREFIX=docker.m.daocloud.io/library/

其他常见选择:

IMAGE_PREFIX=
IMAGE_PREFIX=docker.xuanyuan.me/library/

Docker 常见问题

1. 镜像源切换由项目根目录 `.env` 控制,不是 `backend_api_python/.env`。
2. 当前开源仓库已内置 `frontend/dist`,前端部署不再依赖 Node.js。
3. Windows 下如果后端日志出现:
   exec /usr/local/bin/docker-entrypoint.sh: no such file or directory
   通常是镜像层里的 shell/换行符兼容性问题。可执行:
   docker-compose build --no-cache backend
4. 如果前端日志出现:
   host not found in upstream "backend"
   一般是后端先启动失败导致的连锁报错。先修复后端,再执行:
   docker-compose restart frontend
5. 如果前端构建报错:
   COPY frontend/dist ... not found
   请检查 `.dockerignore`,确认没有把 `frontend/dist` 排除在 Docker 构建上下文之外。
6. 如果后台配置页点击保存时报错:
   Read-only file system: '/app/.env'
   请检查 `docker-compose.yml`,确认 `backend_api_python/.env` 不是以只读方式挂载。
7. Docker 部署下如果需要走本机代理,不要使用 `127.0.0.1`,应改为 `host.docker.internal`。
   例如:
   PROXY_URL=socks5h://host.docker.internal:10808
8. 如果代理修复后仍出现某些交易对 "not found" 日志,通常是交易所符号映射问题
   (例如代币更名),不一定是网络故障。

🎯 为什么选择QuantDinger

Vibe Coding交易 — 用纯英文(或任何语言)描述您的交易想法。AI编写Python策略,回测它,并将其部署到实盘市场。无需手动编码。无SaaS锁定。一切都在您自己的服务器上运行。

🎵 Vibe Coding 用自然语言描述想法 → AI生成生产就绪的Python策略
🔒 100%自托管 API密钥和策略永远不会离开您的服务器 — 隐私设计
🤖 7个AI智能体 多智能体研究团队:并行分析 → 辩论 → 交易决策
🐍 Python原生 完整生态系统(Pandas、NumPy、TA-Lib、scikit-learn)— 无专有语言限制
📊 专业图表 带Python指标 K线图,实时可视化
🌍 加密货币+股票+外汇 10+交易所、IBKR、MT5 — 一体化平台
📊 预测市场 Polymarket按需AI分析 — 概率差异、机会评分
💰 变现就绪 会员、积分、USDT链上支付 — 内置
2分钟部署 docker-compose up -d — 生产就绪,零构建

核心功能

🎵 Vibe Coding策略工作台

无需编程。 用自然语言告诉AI您想要什么 — 它生成生产就绪的Python策略。或者使用完整的Python生态系统(Pandas、NumPy、TA-Lib、scikit-learn)编写您自己的策略。在专业K线图上可视化一切。

💬 "我想要一个MACD交叉策略,在BTC 15分钟图上使用RSI过滤器"
    ↓ AI生成Python代码
    ↓ 📈 在K线图上可视化
    ↓ 🔄 使用丰富指标回测
    ↓ 🤖 AI建议优化
    ↓ 🚀 一键部署到实盘交易

🤖 7智能体AI分析引擎

不仅仅是一次AI调用。QuantDinger部署了7个专业智能体,它们像研究团队一样协作 — 分析、辩论并达成共识:

阶段1(并行):  📊 技术 · 📑 基本面 · 📰 新闻 · 💭 情绪 · ⚠️ 风险
阶段2(辩论):  🐂 多头 vs 🐻 空头 — 结构化论证
阶段3(决策):  🎯 交易智能体 → 买入 / 卖出 / 持有(带置信度%)
  • 🎵 自然语言分析 — 询问"分析BTC下周趋势" → 7个智能体提供完整报告
  • 📡 AI交易雷达 — 每小时自动扫描加密货币/股票/外汇,发现机会
  • 快速交易面板 — 看到信号?一键执行。无需切换页面。
  • 🧠 记忆增强 — 智能体从过去的分析中学习(本地RAG,非云端)
  • 🔌 5+ LLM提供商OpenRouter100+模型)、OpenAI、Gemini、DeepSeek、Grok
  • 📊 Polymarket预测市场 — 预测市场按需AI分析。输入市场链接或标题 → AI分析概率差异、机会评分和交易建议。完整历史跟踪和计费集成。

📈 完整交易生命周期

步骤 发生什么
1. 💬 描述 用自然语言告诉AI您的交易想法 — 或直接编写Python
2. 🤖 生成 AI为您创建指标和策略代码
3. 📊 可视化 在专业K线图上即时查看信号
4. 🔄 回测 丰富指标 + AI分析结果并建议改进
5. 🚀 执行 在10+加密货币交易所、IBKR(股票)、MT5(外汇)实盘交易
6. 📡 监控 投资组合跟踪器,通过Telegram/Discord/Email/SMS/Webhook提醒

📊 Polymarket预测市场分析

预测市场按需AI分析。 输入Polymarket链接或市场标题 → AI分析概率差异、机会评分并提供交易建议。

功能:

  • 🔍 智能搜索 — 支持市场链接、slug或自然语言标题
  • 🤖 AI概率预测 — 比较AI预测概率与市场概率
  • 📈 机会评分 — 基于差异和置信度计算机会评分
  • 💡 交易建议 — YES/NO/HOLD,带详细推理和关键因素
  • 📚 历史跟踪 — 在专用历史标签页中查看所有过去的分析
  • 💰 计费集成 — 每次分析可配置积分消耗(通过BILLING_COST_POLYMARKET_DEEP_ANALYSIS设置)
  • 🌍 多语言 — AI响应匹配您的前端语言(英文/中文)
  • 📊 管理员统计 — 所有分析在用户管理仪表板中跟踪

使用方法:

1. 导航到AI资产分析 → 预测市场标签
2. 输入Polymarket链接或市场标题
3. AI分析并返回:
   - 市场概率 vs AI预测概率
   - 差异分析
   - 机会评分(0-100
   - 交易建议(YES/NO/HOLD
   - 详细推理和关键因素
4. 随时查看分析历史

💰 内置变现

大多数开源项目需要数月的自定义计费工作。QuantDinger开箱即用,提供完整的变现系统

  • 💳 会员计划 — 月度/年度/终身层级,可配置定价和积分
  • ₿ USDT链上支付 — TRC20扫码支付,每订单地址的HD钱包(xpub),通过TronGrid自动对账
  • 🏪 指标市场 — 用户发布和销售Python指标,您收取佣金
  • ⚙️ 管理员仪表板 — 订单管理、AI使用统计、用户分析

🔐 企业级安全

  • 多用户 — 基于PostgreSQL的账户,带基于角色的权限
  • OAuth — Google和GitHub一键登录
  • 保护 — Cloudflare Turnstile、IP/账户速率限制、邮箱验证
  • 演示模式 — 公共展示的只读模式
🧠 AI智能体架构图(点击展开)
flowchart TB
    subgraph Entry["🌐 API入口"]
        A["📡 POST /api/analysis/multi"]
        A2["🔄 POST /api/analysis/reflect"]
    end
    subgraph Service["⚙️ 服务编排"]
        B[AnalysisService]
        C[AgentCoordinator]
        D["📊 构建上下文<br/>价格 · K线 · 新闻 · 指标"]
    end
    subgraph Agents["🤖 7智能体工作流"]
        subgraph P1["📈 阶段1 · 并行分析"]
            E1["🔍 MarketAnalyst"]
            E2["📑 FundamentalAnalyst"]
            E3["📰 NewsAnalyst"]
            E4["💭 SentimentAnalyst"]
            E5["⚠️ RiskAnalyst"]
        end
        subgraph P2["🎯 阶段2 · 多头vs空头辩论"]
            F1["🐂 BullResearcher"]
            F2["🐻 BearResearcher"]
        end
        subgraph P3["💹 阶段3 · 最终决策"]
            G["🎰 TraderAgent → 买入 / 卖出 / 持有"]
        end
    end
    subgraph Memory["🧠 本地记忆存储"]
        M1[("智能体记忆(PostgreSQL")]
    end
    subgraph Reflect["🔄 反思循环"]
        R[ReflectionService]
        W["⏰ ReflectionWorker → 验证 + 学习"]
    end
    A --> B --> C --> D
    D --> P1 --> P2 --> P3
    Agents <-.->|"RAG检索"| M1
    C --> R
    W -.->|"更新记忆"| M1

🔌 支持的交易所和经纪商

加密货币(直接API交易)

交易所 市场
Binance 现货、期货、杠杆
OKX 现货、永续、期权
Bitget 现货、期货、跟单交易
Bybit 现货、线性期货
Coinbase 现货
Kraken 现货、期货
KuCoin 现货、期货
Gate.io 现货、期货
Bitfinex 现货、衍生品

传统经纪商和市场

市场 经纪商/数据源 交易
美股 Interactive Brokers (IBKR)、Yahoo Finance、Finnhub 通过IBKR
外汇 MetaTrader 5 (MT5)、OANDA 通过MT5
期货 交易所API 数据 + 通知

交易所返佣入口

如果你本来就准备开通交易所账户,建议直接走返佣链接。很多交易用户本来就会主动找“手续费减免/返佣链接”,而下面这些链接都可以直接享受 20% 手续费减免,不增加任何额外成本。


🏗️ 架构与配置

技术栈

层级 技术
AI引擎 7智能体多智能体系统 · RAG记忆 · 5+ LLM提供商 · Vibe Coding(自然语言→Python
后端 Python 3.10+ · Flask · PostgreSQL 16 · Redis(可选)
前端 Vue.js · Ant Design · KlineCharts · ECharts
支付 USDT TRC20链上 · HD钱包(BIP-32/44 · TronGrid API
移动端 Vue 3 + CapacitorAndroid / iOS
部署 Docker Compose · Nginx · 零构建一键部署
┌─────────────────────────────────────┐
│         Docker Compose              │
│                                     │
│  ┌───────────────────────────────┐  │
│  │  frontend (Nginx)  → :8888   │  │
│  └──────────────┬────────────────┘  │
│                 │ /api/* 代理       │
│  ┌──────────────▼────────────────┐  │
│  │  backend (Flask)   → :5000   │  │
│  └──────────────┬────────────────┘  │
│  ┌──────────────▼────────────────┐  │
│  │  postgres (PG 16)  → :5432   │  │
│  └───────────────────────────────┘  │
│                                     │
│  外部:LLM API · 交易所 ·           │
│  TronGrid · 数据提供商              │
└─────────────────────────────────────┘

仓库结构

QuantDinger/
├── backend_api_python/          # 🐍 后端(开源,Apache 2.0
│   ├── app/routes/              #   API端点
│   ├── app/services/            #   业务逻辑(AI、交易、支付)
│   ├── migrations/init.sql      #   数据库架构
│   ├── env.example              #   ⚙️ 配置模板 → 复制到.env
│   └── Dockerfile
├── frontend/                    # 🎨 前端(预构建)
│   ├── dist/                    #   静态文件(HTML/JS/CSS
│   ├── Dockerfile               #   Nginx镜像
│   └── nginx.conf               #   SPA路由 + API代理
├── docs/                        # 📚 指南和教程
├── docker-compose.yml           # 🐳 一键部署
└── LICENSE                      # Apache 2.0
⚙️ 配置参考(.env

使用 backend_api_python/env.example 作为精简模板。 文件上半部分适合首次部署,下面的 “Advanced / rarely changed” 区域用于可选的高级调优。

类别 关键变量
认证 SECRET_KEYADMIN_USERADMIN_PASSWORD
数据库 DATABASE_URLPostgreSQL连接字符串)
AI / LLM LLM_PROVIDEROPENROUTER_API_KEYOPENAI_API_KEY
OAuth GOOGLE_CLIENT_IDGITHUB_CLIENT_ID
安全 TURNSTILE_SITE_KEYENABLE_REGISTRATION
会员 MEMBERSHIP_MONTHLY_PRICE_USDMEMBERSHIP_MONTHLY_CREDITS
USDT支付 USDT_PAY_ENABLEDUSDT_TRC20_XPUBTRONGRID_API_KEY
代理 PROXY_URL
工作器 ENABLE_PENDING_ORDER_WORKERENABLE_PORTFOLIO_MONITOR
🔌 API端点
端点 描述
GET /api/health 健康检查
POST /api/user/login 用户认证
GET /api/user/info 当前用户信息
GET /api/billing/plans 会员计划
POST /api/billing/usdt/create-order 创建USDT支付订单

完整路由列表,请参见 backend_api_python/app/routes/


📚 文档索引

所有详细指南都在 docs/ 文件夹中:

入门指南

文档 描述
更新日志 版本历史和迁移说明
多用户设置 PostgreSQL多用户部署
云服务器部署 云服务器部署、域名、HTTPS 与反向代理

策略开发

指南 🇺🇸 EN 🇨🇳 CN 🇹🇼 TW 🇯🇵 JA 🇰🇷 KO
策略开发 EN CN TW JA KO
跨品种 EN CN
代码示例 examples/

经纪商和集成

指南 English 中文
IBKR(美股) 指南
MT5(外汇) 指南 指南
OAuthGoogle/GitHub 指南 指南

通知

渠道 English 中文
Telegram 设置 配置
EmailSMTP 设置 配置
SMSTwilio 设置 配置

💼 许可与商业

开源许可

后端源代码根据 Apache License 2.0 许可。参见 LICENSE

前端UI作为预构建文件提供。商标权(名称/徽标/品牌)单独管理 — 参见 TRADEMARKS.md

🎓 非营利和教育免费源代码

如果您是大学研究机构非营利组织社区团体教育项目,可以申请免费授权和完整前端源代码

  • 🏫 大学和学术研究
  • 🌍 开源社区和开发者团体
  • 🤝 非营利和公益组织
  • 📚 教育项目和学生黑客马拉松

💼 商业许可

对于商业用途,购买许可可获得:

  • 完整前端源代码 + 未来更新
  • 品牌授权 — 按约定修改名称/徽标/版权
  • 运营支持 — 部署、升级、事件响应
  • 咨询 — 架构审查、性能调优

📬 联系方式

渠道 链接
Telegram t.me/worldinbroker
Email brokermr810@gmail.com

🤝 社区与支持

Telegram Discord YouTube


💝 支持项目

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

0x96fa4962181bea077f8c7240efe46afbe73641a7

USDT ETH


🎓 支持合作伙伴

Indiana University QFS

Quantitative Finance Society (QFS)
Indiana University Bloomington

💡 想成为合作伙伴? 联系 brokermr810@gmail.comTelegram


致谢

在以下项目的肩膀上用 ❤️ 构建:Flask · Pandas · CCXT · yfinance · Vue.js · Ant Design Vue · KlineCharts · ECharts · Capacitor · bip-utils

如果QuantDinger对您有帮助,请考虑 给仓库加星 — 这对我们意义重大!