|
| 1 | +<div align="center" dir="rtl"> |
| 2 | + <a href="https://github.com/brokermr810/QuantDinger"> |
| 3 | + <img src="screenshots/logo.jpg" alt="QuantDinger Logo" width="220" height="220"> |
| 4 | + </a> |
| 5 | + |
| 6 | + <h1>QuantDinger</h1> |
| 7 | + <h3>نظام تشغيل كمّي خاص مدعوم بالذكاء الاصطناعي</h3> |
| 8 | + <p><strong>حزمة واحدة قابلة للنشر للرسوم البيانية، وبحوث السوق بالذكاء الاصطناعي، ومؤشرات واستراتيجيات بايثون، والاختبار الرجعي، والتنفيذ المباشر—على خوادمك ومفاتيح API الخاصة بك.</strong></p> |
| 9 | + <p><em>منصة كمّية ذاتية الاستضافة: من الفكرة والبرمجة بمساعدة الذكاء الاصطناعي إلى سير عمل تجريبي وتداول مباشر متصل بالبورصات، مع خيارات متعددة المستخدمين والفوترة.</em></p> |
| 10 | + |
| 11 | + <div align="center" style="max-width: 680px; margin: 1.25rem auto 0; padding: 20px 22px 22px; border: 1px solid #d1d9e0; border-radius: 16px;" dir="ltr"> |
| 12 | + <p style="margin: 0 0 14px; line-height: 1.65;"> |
| 13 | + <a href="../README.md"><strong>English</strong></a> |
| 14 | + <span style="color: #afb8c1;"> · </span> |
| 15 | + <a href="README_CN.md"><strong>简体中文</strong></a> |
| 16 | + <span style="color: #afb8c1;"> · </span> |
| 17 | + <a href="README_JA.md"><strong>日本語</strong></a> |
| 18 | + <span style="color: #afb8c1;"> · </span> |
| 19 | + <a href="README_KO.md"><strong>한국어</strong></a> |
| 20 | + <span style="color: #afb8c1;"> · </span> |
| 21 | + <a href="README_TH.md"><strong>ไทย</strong></a> |
| 22 | + <span style="color: #afb8c1;"> · </span> |
| 23 | + <a href="README_VI.md"><strong>Tiếng Việt</strong></a> |
| 24 | + <span style="color: #afb8c1;"> · </span> |
| 25 | + <a href="README_AR.md"><strong>العربية</strong></a> |
| 26 | + </p> |
| 27 | + <p style="margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid #eaeef2; line-height: 2;"> |
| 28 | + <a href="https://ai.quantdinger.com"><strong>SaaS</strong></a> |
| 29 | + <span style="color: #d8dee4;"> · </span> |
| 30 | + <a href="https://www.youtube.com/watch?v=tNAZ9uMiUUw"><strong>فيديو تجريبي</strong></a> |
| 31 | + <span style="color: #d8dee4;"> · </span> |
| 32 | + <a href="https://www.quantdinger.com"><strong>الموقع</strong></a> |
| 33 | + <span style="color: #d8dee4;"> · </span> |
| 34 | + <a href="https://aws.amazon.com/marketplace/pp/prodview-naanrb7d2mbc6"><strong>AWS Marketplace</strong></a> |
| 35 | + </p> |
| 36 | + <p style="margin: 0; line-height: 2;"> |
| 37 | + <a href="https://t.me/quantdinger"><img src="https://img.shields.io/badge/Telegram-Join-26A5E4?style=flat-square&logo=telegram&logoColor=white" alt="Telegram"></a> |
| 38 | + |
| 39 | + <a href="https://discord.com/invite/tyx5B6TChr"><img src="https://img.shields.io/badge/Discord-Server-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord"></a> |
| 40 | + |
| 41 | + <a href="https://youtube.com/@quantdinger"><img src="https://img.shields.io/badge/YouTube-%40quantdinger-FF0000?style=flat-square&logo=youtube&logoColor=white" alt="YouTube"></a> |
| 42 | + |
| 43 | + <a href="https://x.com/QuantDinger_EN"><img src="https://img.shields.io/badge/X-%40QuantDinger_EN-000000?style=flat-square&logo=x&logoColor=white" alt="X"></a> |
| 44 | + </p> |
| 45 | + </div> |
| 46 | + |
| 47 | + <p style="margin-top: 1.45rem; margin-bottom: 10px;" dir="ltr"> |
| 48 | + <a href="../LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square&logo=apache" alt="License"></a> |
| 49 | + <img src="https://img.shields.io/badge/Version-3.0.3-orange?style=flat-square" alt="Version"> |
| 50 | + <img src="https://img.shields.io/badge/Python-3.10%2B%20%7C%20Docker%203.12-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python"> |
| 51 | + <img src="https://img.shields.io/badge/Docker-Compose-2496ED?style=flat-square&logo=docker&logoColor=white" alt="Docker"> |
| 52 | + <img src="https://img.shields.io/github/stars/brokermr810/QuantDinger?style=flat-square&logo=github" alt="Stars"> |
| 53 | + </p> |
| 54 | +</div> |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +<div dir="rtl"> |
| 59 | + |
| 60 | +## جدول المحتويات |
| 61 | + |
| 62 | +[بدء سريع](#بدء-سريع) · [مستودعات ذات صلة](#مستودعات-ذات-صلة) · [MCP / Agent](#mcp--agent-gateway) · [نظرة عامة](#نظرة-عامة-على-المنتج) · [الميزات](#أبرز-الميزات) · [لقطات](#جولة-بصرية) · [البنية](#البنية) · [التثبيت](#التثبيت-والتشغيل-الأول) · [الوثائق](#قائمة-الوثائق) · [أسئلة شائعة](#أسئلة-شائعة) · [الترخيص](#الترخيص) |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +> QuantDinger منصة كمّية **ذاتية الاستضافة وتفضّل المحلي** تجمع **البحث المدعوم بالذكاء الاصطناعي** و**استراتيجيات بايثون الأصلية** و**الاختبار الرجعي** و**التداول المباشر** (عملات مشفّرة، أسهم أمريكية عبر IBKR، فوركس عبر MT5) في **منتج واحد**. |
| 67 | +
|
| 68 | +</div> |
| 69 | + |
| 70 | +<div align="center"> |
| 71 | + <img src="screenshots/architecture.png" alt="بنية QuantDinger" width="960"> |
| 72 | + <p dir="rtl"><sub><em>حلقة مغلقة من مصادر البيانات إلى المؤشرات والإشارات والاستراتيجيات والاختبار الرجعي وتحليل الذكاء الاصطناعي والتنفيذ.</em></sub></p> |
| 73 | +</div> |
| 74 | + |
| 75 | +<div dir="rtl"> |
| 76 | + |
| 77 | +## بدء سريع |
| 78 | + |
| 79 | +**المتطلبات:** [Docker](https://docs.docker.com/get-docker/) + Compose و**Git**. **لا حاجة لـ Node.js** (واجهة ويب مُجمَّعة مسبقًا في `frontend/dist`). |
| 80 | + |
| 81 | +### macOS / Linux |
| 82 | + |
| 83 | +</div> |
| 84 | + |
| 85 | +```bash |
| 86 | +git clone https://github.com/brokermr810/QuantDinger.git && cd QuantDinger && cp backend_api_python/env.example backend_api_python/.env && chmod +x scripts/generate-secret-key.sh && ./scripts/generate-secret-key.sh && docker-compose up -d --build |
| 87 | +``` |
| 88 | + |
| 89 | +<div dir="rtl"> |
| 90 | + |
| 91 | +إن لم يتوفر `docker-compose` جرّب `docker compose`. |
| 92 | + |
| 93 | +### Windows (PowerShell) |
| 94 | + |
| 95 | +شغّل **Docker Desktop** ثم في PowerShell: |
| 96 | + |
| 97 | +</div> |
| 98 | + |
| 99 | +```powershell |
| 100 | +git clone https://github.com/brokermr810/QuantDinger.git |
| 101 | +Set-Location QuantDinger |
| 102 | +Copy-Item backend_api_python\env.example -Destination backend_api_python\.env |
| 103 | +$key = & python -c "import secrets; print(secrets.token_hex(32))" 2>$null |
| 104 | +if (-not $key) { $key = & py -c "import secrets; print(secrets.token_hex(32))" 2>$null } |
| 105 | +if (-not $key) { Write-Error "أضف Python 3 إلى PATH." } |
| 106 | +(Get-Content backend_api_python\.env) -replace '^SECRET_KEY=.*$', "SECRET_KEY=$key" | Set-Content backend_api_python\.env -Encoding utf8 |
| 107 | +docker-compose up -d --build |
| 108 | +``` |
| 109 | + |
| 110 | +<div dir="rtl"> |
| 111 | + |
| 112 | +### Windows (Git Bash) |
| 113 | + |
| 114 | +في Bash المرفق مع Git for Windows يمكن استخدام أمر السطر الواحد لنظامي macOS/Linux. |
| 115 | + |
| 116 | +--- |
| 117 | + |
| 118 | +افتح **`http://localhost:8888`**، سجّل الدخول بـ **`quantdinger` / `123456`**، ثم **غيّر كلمة مرور المسؤول فورًا**. للتفاصيل راجع [التثبيت والتشغيل الأول](#التثبيت-والتشغيل-الأول). |
| 119 | + |
| 120 | +## مستودعات ذات صلة |
| 121 | + |
| 122 | +| المستودع | المحتوى | |
| 123 | +|----------|---------| |
| 124 | +| **[QuantDinger](https://github.com/brokermr810/QuantDinger)** (هذا المستودع) | الخلفية، Compose، الوثائق، ويب مُجمَّع | |
| 125 | +| **[QuantDinger-Vue](https://github.com/brokermr810/QuantDinger-Vue)** | **مصدر الويب** (Vue) — `npm run build` ثم استبدل `frontend/dist` | |
| 126 | +| **[QuantDinger-Mobile](https://github.com/brokermr810/QuantDinger-Mobile)** | **عميل الجوال** (مفتوح المصدر) | |
| 127 | + |
| 128 | +</div> |
| 129 | + |
| 130 | +<h2 id="mcp--agent-gateway" dir="rtl">MCP / Agent Gateway</h2> |
| 131 | + |
| 132 | +<div dir="rtl"> |
| 133 | + |
| 134 | +لـ **Cursor / Claude Code / Codex**: **Model Context Protocol (MCP)** و**Agent Gateway** (`/api/agent/v1`). التفاصيل الكاملة بالإنجليزية هي المصدر الأساسي: |
| 135 | + |
| 136 | +- [AGENT_QUICKSTART.md](agent/AGENT_QUICKSTART.md) · [AI_INTEGRATION_DESIGN.md](agent/AI_INTEGRATION_DESIGN.md) · [agent-openapi.json](agent/agent-openapi.json) |
| 137 | +- خادم MCP: [`../mcp_server/README.md`](../mcp_server/README.md) · PyPI [`quantdinger-mcp`](https://pypi.org/project/quantdinger-mcp/) |
| 138 | + |
| 139 | +**الأمان:** تُسجَّل جميع استدعاءات Agent في سجل التدقيق. رموز التداول (T) افتراضيًا **ورقي فقط**؛ التداول المباشر يتطلب `AGENT_LIVE_TRADING_ENABLED=true` على الخادم و`paper_only=false` على الرمز. |
| 140 | + |
| 141 | +## نظرة عامة على المنتج |
| 142 | + |
| 143 | +بيئة موحّدة **للذكاء الاصطناعي + استراتيجيات بايثون + اختبار رجعي + تداول مباشر** قابلة للاستضافة الذاتية. تُدار الاعتمادات عبر **PostgreSQL** و**`.env`**. تُربط البورصات وIBKR وMT5 ونماذج اللغة عبر متغيرات البيئة. |
| 144 | + |
| 145 | +## جولة بصرية |
| 146 | + |
| 147 | +<table align="center" width="100%" dir="ltr"> |
| 148 | + <tr> |
| 149 | + <td colspan="2" align="center"> |
| 150 | + <a href="https://www.youtube.com/watch?v=wHIvvv6fmHA"> |
| 151 | + <img src="screenshots/video_demo.png" alt="فيديو" width="80%" style="border-radius: 12px;"> |
| 152 | + </a> |
| 153 | + <br/><sub><a href="https://www.youtube.com/watch?v=wHIvvv6fmHA"><strong>▶ مشاهدة العرض</strong></a></sub> |
| 154 | + </td> |
| 155 | + </tr> |
| 156 | + <tr> |
| 157 | + <td width="50%" align="center"><img src="screenshots/v31.png" alt="IDE" style="border-radius: 6px;"><br/><sub>IDE للمؤشرات، الرسوم، الاختبار الرجعي</sub></td> |
| 158 | + <td width="50%" align="center"><img src="screenshots/v32.png" alt="AI" style="border-radius: 6px;"><br/><sub>تحليل الأصول بالذكاء الاصطناعي</sub></td> |
| 159 | + </tr> |
| 160 | + <tr> |
| 161 | + <td align="center"><img src="screenshots/v33.png" alt="Bots" style="border-radius: 6px;"><br/><sub>بوتات التداول</sub></td> |
| 162 | + <td align="center"><img src="screenshots/v34.png" alt="Live" style="border-radius: 6px;"><br/><sub>استراتيجيات مباشرة والأداء</sub></td> |
| 163 | + </tr> |
| 164 | +</table> |
| 165 | + |
| 166 | +## أبرز الميزات |
| 167 | + |
| 168 | +- **البحث والذكاء الاصطناعي** — تحليل متعدد نماذج اللغة، قوائم المراقبة، السجل؛ NL→كود؛ سير عمل Polymarket؛ تكامل **Agent / MCP**. |
| 169 | +- **البناء** — `IndicatorStrategy` و`ScriptStrategy` (`on_bar`)؛ واجهة شموع احترافية. |
| 170 | +- **التحقق** — اختبار رجعي على الخادم، منحنى رأس المال. |
| 171 | +- **التشغيل** — تنفيذ عملات مشفّرة، تداول سريع، IBKR / MT5؛ Telegram وبريد وDiscord وWebhook وغيرها. |
| 172 | +- **المنصة** — Docker Compose، Postgres، Redis، OAuth، متعدد المستخدمين، أرصدة/عضوية/USDT. |
| 173 | + |
| 174 | +## البنية |
| 175 | + |
| 176 | +</div> |
| 177 | + |
| 178 | +```mermaid |
| 179 | +flowchart LR |
| 180 | + U[متداول / مشغّل] |
| 181 | +
|
| 182 | + subgraph FE[الواجهة] |
| 183 | + WEB[Vue] |
| 184 | + NG[Nginx] |
| 185 | + end |
| 186 | +
|
| 187 | + subgraph BE[الخلفية] |
| 188 | + API[Flask API] |
| 189 | + AI[خدمة AI] |
| 190 | + STRAT[استراتيجية·اختبار] |
| 191 | + EXEC[تنفيذ] |
| 192 | + end |
| 193 | +
|
| 194 | + subgraph DATA[البيانات] |
| 195 | + PG[(PostgreSQL)] |
| 196 | + REDIS[(Redis)] |
| 197 | + end |
| 198 | +
|
| 199 | + subgraph EXT[خارجي] |
| 200 | + LLM[LLM] |
| 201 | + EXCH[بورصة] |
| 202 | + BROKER[IBKR / MT5] |
| 203 | + end |
| 204 | +
|
| 205 | + U --> WEB --> NG --> API |
| 206 | + API --> AI |
| 207 | + API --> STRAT |
| 208 | + API --> EXEC |
| 209 | + AI --> PG |
| 210 | + STRAT --> PG |
| 211 | + EXEC --> PG |
| 212 | + API --> REDIS |
| 213 | + AI --> LLM |
| 214 | + EXEC --> EXCH |
| 215 | + EXEC --> BROKER |
| 216 | +``` |
| 217 | + |
| 218 | +<div dir="rtl"> |
| 219 | + |
| 220 | +## التثبيت والتشغيل الأول |
| 221 | + |
| 222 | +1. استنسخ المستودع ثم `cp backend_api_python/env.example backend_api_python/.env` |
| 223 | +2. **يجب تعيين `SECRET_KEY`** (القيمة الافتراضية تمنع تشغيل الخلفية). Linux/macOS: `./scripts/generate-secret-key.sh` |
| 224 | +3. `docker-compose up -d --build` |
| 225 | +4. **الويب:** `http://localhost:8888` · **صحة API:** `http://localhost:5000/api/health` |
| 226 | +5. غيّر كلمة مرور المسؤول الافتراضية قبل الإنتاج. اضبط **`FRONTEND_URL`** في `backend_api_python/.env` على عنوانك الفعلي. |
| 227 | + |
| 228 | +للميزات الذكية: انسخ قسم **AI / LLM** من `env.example` إلى `.env` وأعد تشغيل الخلفية. قائمة تحقق كاملة في [README الإنجليزي](../README.md) أو [简体中文](README_CN.md). |
| 229 | + |
| 230 | +## قائمة الوثائق |
| 231 | + |
| 232 | +| الوثيقة | الوصف | |
| 233 | +|---------|--------| |
| 234 | +| [English README](../README.md) | النسخة الكاملة (إنجليزي) | |
| 235 | +| [简体中文](README_CN.md) | النسخة الكاملة (صيني مبسّط) | |
| 236 | +| [CHANGELOG](CHANGELOG.md) | سجل الإصدارات | |
| 237 | +| [Agent سريع](agent/AGENT_QUICKSTART.md) (إنجليزي) | Agent Gateway / أمثلة curl | |
| 238 | +| [دليل الاستراتيجية (إنجليزي)](STRATEGY_DEV_GUIDE.md) | تطوير استراتيجيات المؤشر/السكربت | |
| 239 | + |
| 240 | +أخرى: [multi-user-setup.md](multi-user-setup.md) · [IBKR](IBKR_TRADING_GUIDE_EN.md) · [MT5](MT5_TRADING_GUIDE_EN.md) — التفاصيل غالبًا بالإنجليزية. |
| 241 | + |
| 242 | +## أسئلة شائعة |
| 243 | + |
| 244 | +**هل يمكن الاستضافة الذاتية حقًا؟** نعم، عبر Docker Compose على بنيتك. |
| 245 | + |
| 246 | +**هل للعملات المشفّرة فقط؟** لا. يدعم IBKR (أسهم أمريكية)، MT5 (فوركس)، وPolymarket للبحث. |
| 247 | + |
| 248 | +**هل يمكن كتابة استراتيجيات بايثون؟** نعم، `IndicatorStrategy` و`ScriptStrategy`. |
| 249 | + |
| 250 | +**الاستخدام التجاري؟** الخلفية **Apache 2.0**. الواجهة [QuantDinger-Vue](https://github.com/brokermr810/QuantDinger-Vue) بترخيص منفصل—اقرأه قبل الاستخدام التجاري. الجوال وفق [QuantDinger-Mobile](https://github.com/brokermr810/QuantDinger-Mobile). |
| 251 | + |
| 252 | +**هل يوجد تطبيق جوال؟** راجع [QuantDinger-Mobile](https://github.com/brokermr810/QuantDinger-Mobile). |
| 253 | + |
| 254 | +## روابط إحالة للبورصات (مرجعية) |
| 255 | + |
| 256 | +| البورصة | الرابط | |
| 257 | +|---------|--------| |
| 258 | +| Binance | [تسجيل](https://www.bsmkweb.cc/register?ref=QUANTDINGER) | |
| 259 | +| OKX | [تسجيل](https://www.xqmnobxky.com/join/QUANTDINGER) | |
| 260 | +| Bybit | [تسجيل](https://partner.bybit.com/b/DINGER) | |
| 261 | + |
| 262 | +## الترخيص |
| 263 | + |
| 264 | +- الخلفية: **Apache License 2.0** ([`../LICENSE`](../LICENSE)) |
| 265 | +- واجهة الويب المرفقة: توزيع مُجمَّع. المصدر في [QuantDinger-Vue](https://github.com/brokermr810/QuantDinger-Vue) (ترخيص منفصل) |
| 266 | +- العلامات التجارية: [`../TRADEMARKS.md`](../TRADEMARKS.md) |
| 267 | + |
| 268 | +## إخلاء مسؤولية |
| 269 | + |
| 270 | +QuantDinger مخصّص للبحث والتعليم والتداول المتوافق مع القانون **الشرعي**. **ليس نصيحة استثمارية.** الاستخدام على مسؤوليتك. |
| 271 | + |
| 272 | +## المجتمع |
| 273 | + |
| 274 | +- [Telegram](https://t.me/quantdinger) · [Discord](https://discord.com/invite/tyx5B6TChr) · [Issues](https://github.com/brokermr810/QuantDinger/issues) |
| 275 | +- البريد: [support@quantdinger.com](mailto:support@quantdinger.com) |
| 276 | + |
| 277 | +## اتجاه النجوم |
| 278 | + |
| 279 | +[](https://star-history.com/#brokermr810/QuantDinger&Date) |
| 280 | + |
| 281 | +## شكر وتقدير |
| 282 | + |
| 283 | +شكرًا لمجتمعات المصدر المفتوح مثل Flask وPandas وCCXT وVue.js وKLineCharts وECharts. |
| 284 | + |
| 285 | +<p align="center"><sub>إن كان المشروع مفيدًا، نرحب بنجمة على GitHub.</sub></p> |
| 286 | + |
| 287 | +</div> |
0 commit comments