Skip to content

Commit 0b37aa4

Browse files
committed
V2.1.1
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
1 parent 2853e83 commit 0b37aa4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+11195
-8662
lines changed

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ QuantDinger includes a built-in **LLM-based multi-agent research system** that g
180180
- **Forex**: Via MetaTrader 5 (MT5) 🆕
181181
- **Signal Notification**: For markets without live trading support (A-shares/Futures), send signals via Telegram, Discord, Email, SMS, or Webhook.
182182

183-
### 3. AI Multi-Agent Research
184-
*Your 24/7 AI Investment Committee.*
183+
### 3. AI-Powered Analysis
184+
*Fast, Accurate, Professional Reports.*
185185

186-
The system employs a multi-agent team to act as a secondary filter for your strategies:
186+
QuantDinger features a streamlined AI analysis system:
187187

188-
- **Research Agents**: Scrape web news and macro events (Google/Bing).
189-
- **Analysis Agents**: Analyze technical indicators and capital flows.
190-
- **Strategic Integration**: The AI judgment can serve as a "Market Filter"—only allowing your strategy to trade when the AI sentiment aligns (e.g., "Don't buy if AI Risk Analyst flags high macro danger").
188+
- **Fast Analysis Mode**: Single LLM call architecture for quick, accurate analysis (replaces complex multi-agent system)
189+
- **Global Market Integration**: Real-time market data, heatmaps, and economic calendar integrated into the analysis page
190+
- **ATR-Based Trading Levels**: Stop-loss and take-profit recommendations based on technical analysis (ATR, Support/Resistance)
191+
- **Analysis Memory**: Store analysis results for history review and continuous learning
192+
- **Strategic Integration**: AI analysis can serve as a "Market Filter" for your strategies
191193

192194
### 4. Universal Data Engine
193195

@@ -310,19 +312,28 @@ QuantDinger supports multiple AI providers with auto-detection:
310312

311313
Simply configure your preferred provider's API key in `.env`. The system auto-detects available providers.
312314

313-
### 8. User Management & Security
315+
### 8. Indicator Community
316+
*Share, Discover, and Trade Indicators.*
317+
318+
- **Publish & Share**: Share your Python indicators with the community
319+
- **Purchase System**: Buy premium indicators from other users
320+
- **Rating & Reviews**: Rate and review purchased indicators
321+
- **Admin Review**: Moderation system for quality control
322+
323+
### 9. User Management & Security
314324

315325
- **Multi-User Support**: PostgreSQL-backed user accounts with role-based permissions
316326
- **OAuth Login**: Google and GitHub OAuth integration
317327
- **Email Verification**: Registration and password reset via email codes
318328
- **Security Features**: Cloudflare Turnstile captcha, IP/account rate limiting
319329
- **Demo Mode**: Read-only mode for public demonstrations
320330

321-
### 9. Tech Stack
331+
### 10. Tech Stack
322332

323333
- **Backend**: Python (Flask) + PostgreSQL + Redis (optional)
324334
- **Frontend**: Vue 2 + Ant Design Vue + KlineCharts/ECharts
325335
- **Deployment**: Docker Compose (with PostgreSQL)
336+
- **Current Version**: V2.1.1 ([Changelog](docs/CHANGELOG.md))
326337

327338
---
328339

README_CN.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ QuantDinger 包含一个内置的**基于 LLM 的多智能体研究系统**,
180180
- **外汇**:通过 MetaTrader 5 (MT5) 🆕
181181
- **信号通知**:针对不支持实盘交易的市场(A股/期货),通过 Telegram, Discord, Email, SMS 或 Webhook 发送信号。
182182

183-
### 3. AI 多智能体投研
184-
*你的 7x24 小时 AI 投委会*
183+
### 3. AI 智能分析
184+
*快速、准确、专业的分析报告*
185185

186-
系统雇佣了一个多智能体团队作为你策略的二次过滤器
186+
QuantDinger 具备精简高效的 AI 分析系统
187187

188-
- **研究智能体**:抓取网络新闻和宏观事件(Google/Bing)。
189-
- **分析智能体**:分析技术指标和资金流向。
190-
- **策略集成**:AI 的判断可以作为“市场过滤器”——仅当 AI 情绪一致时才允许策略交易(例如:“如果 AI 风险分析师标记宏观风险极高,则不要买入”)。
188+
- **快速分析模式**:单次 LLM 调用架构,快速准确地生成分析(替代复杂的多智能体系统)
189+
- **全球市场集成**:实时市场数据、热力图和财经日历集成到分析页面
190+
- **基于 ATR 的交易建议**:止损和止盈建议基于技术分析(ATR、支撑/阻力位)
191+
- **分析记忆系统**:存储分析结果用于历史回顾和持续学习
192+
- **策略集成**:AI 分析可作为策略的"市场过滤器"
191193

192194
### 4. 通用数据引擎
193195

@@ -348,19 +350,28 @@ QuantDinger 支持多个 AI 提供商,具备自动检测功能:
348350

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

351-
### 8. 用户管理与安全
353+
### 8. 指标社区
354+
*分享、发现、交易指标。*
355+
356+
- **发布与分享**:与社区分享你的 Python 指标
357+
- **购买系统**:从其他用户购买优质付费指标
358+
- **评分与评论**:对购买的指标进行评分和评论
359+
- **管理员审核**:质量控制的审核系统
360+
361+
### 9. 用户管理与安全
352362

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

359-
### 9. 技术栈
369+
### 10. 技术栈
360370

361371
- **后端**:Python (Flask) + PostgreSQL + Redis(可选)
362372
- **前端**:Vue 2 + Ant Design Vue + KlineCharts/ECharts
363373
- **部署**:Docker Compose
374+
- **当前版本**:V2.1.1 ([更新日志](docs/CHANGELOG.md))
364375

365376
---
366377

README_JA.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ QuantDingerには、ウェブから金融情報を収集し、ローカル市場
180180
- **外国為替**: MetaTrader 5 (MT5)経由 🆕
181181
- **シグナル通知**: 実取引をサポートしていない市場(A株/先物)向けに、Telegram, Discord, Email, SMS, Webhook経由でシグナルを送信。
182182

183-
### 3. AI マルチエージェントリサーチ
184-
*あなたの24時間365日稼働するAI投資委員会*
183+
### 3. AI分析システム
184+
*高速・正確・プロフェッショナルなレポート*
185185

186-
システムは、戦略の二次フィルターとして機能するマルチエージェントチームを雇用します
186+
QuantDingerは効率的なAI分析システムを搭載
187187

188-
- **リサーチエージェント**: ウェブニュースとマクロイベント(Google/Bing)を収集。
189-
- **分析エージェント**: テクニカル指標と資金フローを分析。
190-
- **戦略統合**: AIの判断を「市場フィルター」として使用可能 —— AIのセンチメントが一致する場合にのみ戦略の取引を許可(例:「AIリスクアナリストがマクロリスクが高いと判断した場合は購入しない」)。
188+
- **高速分析モード**: 単一LLM呼び出しアーキテクチャによる迅速で正確な分析(複雑なマルチエージェントシステムに代わる)
189+
- **グローバル市場統合**: リアルタイム市場データ、ヒートマップ、経済カレンダーを分析ページに統合
190+
- **ATRベースの取引レベル**: テクニカル分析(ATR、サポート/レジスタンス)に基づくストップロス・利確の推奨
191+
- **分析メモリ**: 履歴確認と継続学習のための分析結果の保存
192+
- **戦略統合**: AI分析を戦略の「市場フィルター」として使用可能
191193

192194
### 4. ユニバーサルデータエンジン
193195

@@ -318,19 +320,28 @@ QuantDinger は複数の AI プロバイダーをサポートし、自動検出
318320

319321
`.env` でお好みのプロバイダーの API キーを設定するだけで、システムが利用可能なプロバイダーを自動検出します。
320322

321-
### 8. ユーザー管理とセキュリティ
323+
### 8. インジケーターコミュニティ
324+
*共有、発見、取引。*
325+
326+
- **公開と共有**: Pythonインジケーターをコミュニティと共有
327+
- **購入システム**: 他のユーザーからプレミアムインジケーターを購入
328+
- **評価とレビュー**: 購入したインジケーターを評価・レビュー
329+
- **管理者レビュー**: 品質管理のためのモデレーションシステム
330+
331+
### 9. ユーザー管理とセキュリティ
322332

323333
- **マルチユーザーサポート**:PostgreSQL ベースのユーザーアカウント、ロールベースの権限管理
324334
- **OAuth ログイン**:Google および GitHub OAuth 統合
325335
- **メール認証**:メール認証コードによる登録とパスワードリセット
326336
- **セキュリティ機能**:Cloudflare Turnstile キャプチャ、IP/アカウントレート制限
327337
- **デモモード**:公開デモ用の読み取り専用モード
328338

329-
### 9. 技術スタック
339+
### 10. 技術スタック
330340

331341
- **バックエンド**: Python (Flask) + PostgreSQL + Redis(オプション)
332342
- **フロントエンド**: Vue 2 + Ant Design Vue + KlineCharts/ECharts
333343
- **デプロイ**: Docker Compose
344+
- **現在のバージョン**: V2.1.1 ([更新履歴](docs/CHANGELOG.md))
334345

335346
---
336347

README_KO.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ QuantDinger는 웹에서 금융 정보를 수집하고, 로컬 시장 데이터
180180
- **외환**: MetaTrader 5 (MT5) 경유 🆕
181181
- **신호 알림**: 실거래를 지원하지 않는 시장(A주/선물)의 경우, Telegram, Discord, Email, SMS 또는 Webhook을 통해 신호를 전송하세요.
182182

183-
### 3. AI 멀티 에이전트 리서치
184-
*연중무휴 24시간 AI 투자 위원회.*
183+
### 3. AI 분석 시스템
184+
*빠르고, 정확하며, 전문적인 리포트.*
185185

186-
시스템은 전략의 2차 필터 역할을 하는 멀티 에이전트 팀을 고용합니다:
186+
QuantDinger는 효율적인 AI 분석 시스템을 탑재:
187187

188-
- **리서치 에이전트**: 웹 뉴스 및 거시적 이벤트(Google/Bing)를 수집합니다.
189-
- **분석 에이전트**: 기술적 지표 및 자금 흐름을 분석합니다.
190-
- **전략 통합**: AI의 판단을 "시장 필터"로 사용할 수 있습니다. AI의 심리가 일치할 때만 전략 거래를 허용합니다(예: "AI 리스크 분석가가 거시적 리스크가 높다고 판단하면 매수하지 않음").
188+
- **빠른 분석 모드**: 단일 LLM 호출 아키텍처로 빠르고 정확한 분석 (복잡한 멀티 에이전트 시스템 대체)
189+
- **글로벌 시장 통합**: 실시간 시장 데이터, 히트맵, 경제 캘린더를 분석 페이지에 통합
190+
- **ATR 기반 거래 수준**: 기술적 분석(ATR, 지지/저항선)에 기반한 손절매 및 이익실현 권장
191+
- **분석 메모리**: 이력 검토 및 지속적 학습을 위한 분석 결과 저장
192+
- **전략 통합**: AI 분석을 전략의 "시장 필터"로 사용 가능
191193

192194
### 4. 범용 데이터 엔진
193195

@@ -318,19 +320,28 @@ QuantDinger는 자동 감지 기능을 갖춘 여러 AI 제공자를 지원합
318320

319321
`.env`에서 선호하는 제공자의 API 키만 설정하면 시스템이 사용 가능한 제공자를 자동 감지합니다.
320322

321-
### 8. 사용자 관리 및 보안
323+
### 8. 인디케이터 커뮤니티
324+
*공유, 발견, 거래.*
325+
326+
- **게시 및 공유**: 파이썬 인디케이터를 커뮤니티와 공유
327+
- **구매 시스템**: 다른 사용자로부터 프리미엄 인디케이터 구매
328+
- **평점 및 리뷰**: 구매한 인디케이터 평가 및 리뷰
329+
- **관리자 검토**: 품질 관리를 위한 모더레이션 시스템
330+
331+
### 9. 사용자 관리 및 보안
322332

323333
- **멀티유저 지원**: PostgreSQL 기반 사용자 계정, 역할 기반 권한 관리
324334
- **OAuth 로그인**: Google 및 GitHub OAuth 통합
325335
- **이메일 인증**: 이메일 인증 코드를 통한 등록 및 비밀번호 재설정
326336
- **보안 기능**: Cloudflare Turnstile 캡차, IP/계정 속도 제한
327337
- **데모 모드**: 공개 데모를 위한 읽기 전용 모드
328338

329-
### 9. 기술 스택
339+
### 10. 기술 스택
330340

331341
- **백엔드**: Python (Flask) + PostgreSQL + Redis(옵션)
332342
- **프론트엔드**: Vue 2 + Ant Design Vue + KlineCharts/ECharts
333343
- **배포**: Docker Compose
344+
- **현재 버전**: V2.1.1 ([변경 로그](docs/CHANGELOG.md))
334345

335346
---
336347

README_TW.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,16 @@ QuantDinger 包含一個內置的**基於 LLM 的多智能體研究系統**,
180180
- **外匯**:通過 MetaTrader 5 (MT5) 🆕
181181
- **信號通知**:針對不支持實盤交易的市場(A股/期貨),通過 Telegram, Discord, Email, SMS 或 Webhook 發送信號。
182182

183-
### 3. AI 多智能體投研
184-
*你的 7x24 小時 AI 投委會*
183+
### 3. AI 智能分析
184+
*快速、準確、專業的分析報告*
185185

186-
系統僱用了一個多智能體團隊作為你策略的二次過濾器
186+
QuantDinger 具備精簡高效的 AI 分析系統
187187

188-
- **研究智能體**:抓取網絡新聞和宏觀事件(Google/Bing)。
189-
- **分析智能體**:分析技術指標和資金流向。
190-
- **策略集成**:AI 的判斷可以作為「市場過濾器」——僅當 AI 情緒一致時才允許策略交易(例如:「如果 AI 風險分析師標記宏觀風險極高,則不要買入」)。
188+
- **快速分析模式**:單次 LLM 調用架構,快速準確地生成分析(取代複雜的多智能體系統)
189+
- **全球市場集成**:實時市場數據、熱力圖和財經日曆集成到分析頁面
190+
- **基於 ATR 的交易建議**:止損和止盈建議基於技術分析(ATR、支撐/阻力位)
191+
- **分析記憶系統**:存儲分析結果用於歷史回顧和持續學習
192+
- **策略集成**:AI 分析可作為策略的「市場過濾器」
191193

192194
### 4. 通用數據引擎
193195

@@ -318,19 +320,28 @@ QuantDinger 支援多個 AI 提供商,具備自動檢測功能:
318320

319321
只需在 `.env` 中配置您首選提供商的 API 金鑰,系統會自動檢測可用提供商。
320322

321-
### 8. 使用者管理與安全
323+
### 8. 指標社區
324+
*分享、發現、交易指標。*
325+
326+
- **發佈與分享**:與社區分享你的 Python 指標
327+
- **購買系統**:從其他使用者購買優質付費指標
328+
- **評分與評論**:對購買的指標進行評分和評論
329+
- **管理員審核**:品質控制的審核系統
330+
331+
### 9. 使用者管理與安全
322332

323333
- **多使用者支援**:基於 PostgreSQL 的使用者帳戶,支援基於角色的權限管理
324334
- **OAuth 登入**:Google 和 GitHub OAuth 整合
325335
- **郵箱驗證**:透過郵箱驗證碼進行註冊和密碼重設
326336
- **安全功能**:Cloudflare Turnstile 人機驗證、IP/帳戶速率限制
327337
- **示範模式**:用於公開示範的唯讀模式
328338

329-
### 9. 技術棧
339+
### 10. 技術棧
330340

331341
- **後端**:Python (Flask) + PostgreSQL + Redis(可選)
332342
- **前端**:Vue 2 + Ant Design Vue + KlineCharts/ECharts
333343
- **部署**:Docker Compose
344+
- **當前版本**:V2.1.1 ([更新日誌](docs/CHANGELOG.md))
334345

335346
---
336347

backend_api_python/app/__init__.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# Global singletons (avoid duplicate strategy threads).
1414
_trading_executor = None
1515
_pending_order_worker = None
16-
_reflection_worker = None
1716

1817

1918
def get_trading_executor():
@@ -34,15 +33,6 @@ def get_pending_order_worker():
3433
return _pending_order_worker
3534

3635

37-
def get_reflection_worker():
38-
"""Get the reflection verification worker singleton."""
39-
global _reflection_worker
40-
if _reflection_worker is None:
41-
from app.services.agents.reflection_worker import ReflectionWorker
42-
_reflection_worker = ReflectionWorker()
43-
return _reflection_worker
44-
45-
4636
def start_portfolio_monitor():
4737
"""Start the portfolio monitor service if enabled.
4838
@@ -67,30 +57,6 @@ def start_portfolio_monitor():
6757
logger.error(f"Failed to start portfolio monitor: {e}")
6858

6959

70-
def start_reflection_worker():
71-
"""
72-
Start the reflection worker if enabled.
73-
74-
To enable it, set ENABLE_REFLECTION_WORKER=true.
75-
"""
76-
import os
77-
enabled = os.getenv("ENABLE_REFLECTION_WORKER", "false").lower() == "true"
78-
if not enabled:
79-
logger.info("Reflection worker is disabled. Set ENABLE_REFLECTION_WORKER=true to enable.")
80-
return
81-
82-
# Avoid running twice with Flask reloader
83-
debug = os.getenv("PYTHON_API_DEBUG", "false").lower() == "true"
84-
if debug:
85-
if os.environ.get("WERKZEUG_RUN_MAIN") != "true":
86-
return
87-
88-
try:
89-
get_reflection_worker().start()
90-
except Exception as e:
91-
logger.error(f"Failed to start reflection worker: {e}")
92-
93-
9460
def start_pending_order_worker():
9561
"""Start the pending order worker (disabled by default in paper mode).
9662
@@ -244,8 +210,7 @@ def global_demo_mode_check():
244210
'/api/indicator/getIndicators', # Search indicators
245211
'/api/market/klines', # Fetch K-lines (sometimes POST)
246212
'/api/ai/chat', # AI Chat (generates response, doesn't mutate system state)
247-
'/api/analysis/indicator', # Analysis request
248-
'/api/analysis/ai_analysis' # AI Analysis request
213+
'/api/fast-analysis/analyze', # Fast AI Analysis request
249214
]
250215

251216
# Check if current path ends with any whitelist item
@@ -265,7 +230,6 @@ def global_demo_mode_check():
265230
# Startup hooks.
266231
with app.app_context():
267232
start_pending_order_worker()
268-
start_reflection_worker()
269233
start_portfolio_monitor()
270234
restore_running_strategies()
271235

0 commit comments

Comments
 (0)