دليل تكامل RedisMarketBridge | بنية تداول عملات رقمية متعددة الروبوتات بلا حدود
MagicTradeBot v6.0 — دليل تكامل RedisMarketBridge
58بيانات السوق في الوقت الفعلي. صفر استدعاءات API لكل بوت. لا خطر من الحدود المعدلة.
المحتوى
- مقدمة
- نظرة عامة على الهندسة
- المتطلبات الأساسية
- التثبيت والإعداد
- تمكين Redis في MagicTradeBot
- تشغيل بوتات متعددة
- مخطط مفاتيح Redis
- أنماط النشر
- تكوين محرك الإشارات
- استكشاف الأخطاء وإصلاحها
- الترقية إلى Pro
- مرجع سريع
1. مقدمة
يقدم MagicTradeBot v6.0 تكاملاً أصلياً مع Redis، مما يتيح بنية جديدة تماماً لتشغيل بوتات متعددة في وقت واحد. من خلال الاتصال بـ RedisMarketBridge كطبقة بيانات سوق مشتركة، يقرأ كل بوت في أسطولك بيانات السوق المباشرة من Redis بدلاً من استدعاء واجهات برمجة تطبيقات البورصات مباشرة — بغض النظر عن عدد البوتات قيد التشغيل.
أهمية هذا الأمر
بدون Redis: 10 بوتات على Binance = استهلاك الحد المعدل 10 أضعاف. 100 بوت = خنق شبه مؤكد.
مع Redis: 1,000 بوت على Binance = نفس الفتحة الواحدة للحد المعدل التي يستخدمها RedisMarketBridge. بوتاتك غير مرئية للبورصة.
RedisMarketBridge هو المصدر الوحيد للحقيقة. تستهلك جميع البوتات البيانات منه في ميكروثانية — بدون رحلات شبكة ذهاب وإياب، ولا حاجة لمفاتيح API لكل بوت.
1.1 ما هو RedisMarketBridge؟
RedisMarketBridge هو خط أنابيب بيانات سوق ذاتي الاستضافة، مفتوح المصدر (MIT) يقوم بما يلي:
- الاتصال بما يصل إلى 12 بورصة في وقت واحد باستخدام عامل مخصص متوازي لكل بورصة
- جلب وتطبيع بيانات السوق: التيكرات، الشموع، معدلات التمويل، حركة دفتر الطلبات، الفروقات بين البورصات
- معالجة البيانات من خلال خط أنابيب من 6 مراحل — من التيك الخام إلى إشارة منظمة مع إدارة TTL
- كتابة كل شيء في Redis باستخدام مخطط مفاتيح متسق يمكن قراءته بأي لغة
- حساب الإشارات — RSI، MACD، نطاقات بولينجر، VWAP، CVD، OFI — وتخزينها جنباً إلى جنب مع البيانات الخام
1.2 كيف يستخدمه MagicTradeBot v6.0
عند تمكين وضع Redis في MagicTradeBot، تقوم كل نسخة بوت بتغيير استراتيجية جلب البيانات الخاصة بها:
58منطق التداول، ومعالجة الإشارات، ووضع الأوامر، وإدارة المخاطر بدون تغيير. فقط طبقة استيعاب البيانات تتغير — والفرق في الأداء كبير.
2. نظرة عامة على الهندسة
2.1 المكدس الكامل
API Binance ──→ خيط عامل RMB ──┐
API Bybit ──→ خيط عامل RMB ──┤
API Gate.io ──→ خيط عامل RMB ──┤
API HTX ──→ خيط عامل RMB ──┤ → Redis (المصدر الوحيد للحقيقة)
API KuCoin ──→ خيط عامل RMB ──┤
API Kraken ──→ خيط عامل RMB ──┤
… 12 إجمالي ──→ خيط عامل RMB ──┘
↓
┌──────────────────────────────┐
│ MagicTradeBot بوت 1 │
│ MagicTradeBot بوت 2 │ جميعهم يقرؤون من Redis
│ MagicTradeBot بوت 3 │ صفر استدعاءات مباشرة للبورصات
│ MagicTradeBot بوت N (∞) │
└──────────────────────────────┘
جميع البوتات تقرأ من Redis. صفر استدعاءات مباشرة لواجهات برمجة تطبيقات البورصة من كود البوت. البورصة تتحدث فقط مع RedisMarketBridge.
2.2 خط الأنابيب ذو 6 مراحل
يقوم RedisMarketBridge بمعالجة بيانات السوق من خلال ست مراحل متسلسلة قبل وصولها إلى بوتاتك:
583. المتطلبات الأساسية
3.1 البرامج المطلوبة
583.2 مفاتيح API للبورصات
يستخدم RedisMarketBridge نقاط النهاية العامة فقط لبيانات السوق — لا حاجة لمفاتيح API للتيكرات أو الشموع أو معدلات التمويل. مفاتيح API اختيارية ومطلوبة فقط من أجل:
- حدود معدل أعلى في بعض البورصات (Binance، OKX)
- الوصول إلى البيانات الخاصة (غير مستخدم في خط أنابيب بيانات السوق)
- ميزات التداول المستقبلية إذا تم تمكينها
⚠️ هام — مفاتيح API للبوتات
لا يزال MagicTradeBot يحتاج إلى مفاتيح API للبورصات من أجل وضع الأوامر. فقط استيعاب بيانات السوق يتم تفريغه إلى RedisMarketBridge. يتم استخدام مفاتيح API لبوتاتك حصرياً لوضع الأوامر ومراقبتها وإلغائها.
4. التثبيت والإعداد
4.1 الخطوة 1 — تشغيل Redis
أبسط طريقة هي Docker Compose. أنشئ docker-compose.yml:
version: '3.8'
services:
redis:
image: redis:7-alpine
container_name: rmb-redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
restart: unless-stopped
volumes:
redis-data:docker compose up -d redis
# تحقق:
redis-cli ping # → PONG4.2 الخطوة 2 — تحميل RedisMarketBridge
المستوى المجاني (مفتوح المصدر، MIT):
git clone https://github.com/magictradebot/redis-market-bridge
cd redis-market-bridge
cargo build --release
# الملف الثنائي: ./target/release/redis-market-bridgeالمستوى Pro (تحميل الملف الثنائي):
بعد شراء ترخيص Pro من magictradebot.com، قم بتنزيل الملف الثنائي المُجهز مسبقاً لنظام التشغيل الخاص بك. لا حاجة لخطوة بناء. يعمل الملف الثنائي نفسه مع الميزات المجانية — مفتاح الترخيص الخاص بك ينشط ميزات Pro على الفور.
4.3 الخطوة 3 — تكوين RedisMarketBridge
جميع التكوينات موجودة في دليل settings/:
application.yaml58
58وضع المحرك، مفتاح الترخيص، وضع التصحيح58
connection.yaml58
58مضيف Redis، المنفذ، كلمة المرور، إعدادات TLS58
exchanges.yaml58
58البورصات المراد الاتصال بها، بيانات الاعتماد58
market_data.yaml58
58فترات الشموع، معدلات التحديث، أحجام الكتل، حدود المعدل58
signal_engine.yaml58
58تبديل الإشارات الفردية، ضبط فترات المؤشرات58
excluded_symbols.yaml58
58قوائم استبعاد الرموز حسب البورصة58
notifications.yaml58
58ويب هوك Discord / Telegram للتنبيهات الصحية58
connection.yaml — اتصال Redis
Redis:
Host: "127.0.0.1" # أو IP خادم Redis الخاص بك
Port: 6379
Password: "" # قم بتعيين إذا كان مصادقة Redis ممكنة
TLS: false
Database: 0
PoolSize: 20 # قم بزيادة للعدد الكبير من البوتاتexchanges.yaml — تكوين البورصات
قم بإلغاء تعليق كل بورصة تريد تمكينها. جميع نقاط نهاية بيانات السوق عامة — مفاتيح API اختيارية:
Exchanges:
- Name: "binance"
Credentials:
ApiKey: "" # اختياري — لحدود معدل أعلى
ApiSecret: ""
Proxy:
Enabled: false
- Name: "bybit"
Credentials:
ApiKey: ""
ApiSecret: ""
# مستوى Pro — قم بإلغاء التعليق للتنشيط:
#- Name: "okx"
# Credentials:
# ApiKey: ""
# ApiSecret: ""
# Passphrase: "" # مطلوب لـ OKX
#- Name: "gateio"
#- Name: "htx"
#- Name: "kucoin" # مطلوب عبارة مرور
#- Name: "kraken"
#- Name: "bingx"
#- Name: "phemex"
#- Name: "mexc" # ⚠️ تحذير: أعيد إطلاقها في مارس 2026 — راقب بعناية
#- Name: "hyperliquid"⚠️ تحذير بخصوص MEXC
كانت واجهة برمجة تطبيقات العقود الآجلة لـ MEXC غير متصلة من 2022 إلى 2026 وأعيد إطلاقها في مارس 2026. سيعرض RedisMarketBridge تحذيراً عند بدء التشغيل وعند كل كتابة لبيانات MEXC. راقب بيانات MEXC بعناية خلال فترة الاستقرار الأولية.
application.yaml — وضع المحرك
Engine: "Both" # MarketBridge | SignalBridge | Both
License:
Key: "" # مفتاح الترخيص Pro الخاص بك (اتركه فارغاً للمستوى المجاني)
General:
DebugMode: false
RenderDashboard: trueMarketBridge58
58استيعاب البيانات فقط (المراحل 1-5). أقل استخدام لوحدة المعالجة المركزية. أفضل للعقد المخصصة للبيانات.58
SignalBridge58
58حساب الإشارات فقط (المرحلة 6). يقرأ بيانات Redis الموجودة. قم بتشغيله على جهاز منفصل.58
Both (الافتراضي)58
58خط أنابيب كامل — جميع المراحل الست في عملية واحدة. أفضل للنشر على عقدة واحدة.58
4.4 الخطوة 4 — تشغيل RedisMarketBridge
# تشغيل الجسر:
./redis-market-bridge
# أو مع Docker Compose — أضف إلى docker-compose.yml:
# services:
# rmb:
# image: magictradebot/redis-market-bridge:latest
# volumes:
# - ./settings:/app/settings
# depends_on: [redis]
# restart: unless-stoppedالإخراج المتوقع عند بدء التشغيل:
[RMB] بدء RedisMarketBridge v1.0
[RMB] وضع المحرك: Both
[RMB] Redis: 127.0.0.1:6379 متصل ✓
[RMB] إنشاء عامل: binance
[RMB] إنشاء عامل: bybit
[RMB] إنشاء عامل: bitget
[المرحلة 1] مزامنة الرموز: BINANCE=665 BYBIT=542 BITGET=544
[المرحلة 1] اكتملت مزامنة الرموز — 1,751 رمزاً في Redis
[المرحلة 3] دفق بيانات التيك — دورة 5 ثوانٍ
[المرحلة 6] محرك الإشارات نشط — RSI MACD BB VWAP
5. تمكين Redis في MagicTradeBot
5.1 تكوين Redis
افتح تكوين MagicTradeBot الخاص بك وحدد قسم Redis (جديد في v6.0):
# MagicTradeBot v6.0 — settings/connection.yaml
Redis:
Enabled: true # اضبط على true لتفعيل وضع Redis
Host: "127.0.0.1" # نفس مثيل Redis الخاص بـ RedisMarketBridge
Port: 6379
Password: ""
TLS: false
Database: 0
ConnectionPool: 10 # حجم التجمع لكل نسخة بوت
# سلوك الرجوع عندما يكون Redis غير متاح:
FallbackToDirectApi: true # الرجوع إلى استدعاءات API المباشرة إذا كان مفتاح Redis مفقوداً
FallbackWarningLog: true # تسجيل تحذير عند كل رجوع
FallbackStaleThresholdMs: 30000 # اعتبار البيانات قديمة إذا كان عمرها أكثر من 30 ثانية5.2 ما الذي يتغير عند تمكين Redis
58tick:{exchange}:{symbol} — TTL 15 ثانية، حماية تلقائية من التقادم58
kline:{exchange}:{symbol}:{interval} — سجل OHLCV كامل58
funding:{exchange}:{symbol} — يتم تحديثه بواسطة RMB كل دورة58
movement:{exchange}:{symbol}:{window} — محسوب مسبقاً58
signal:{exchange}:{symbol}:{interval} — تكلفة حساب صفر لكل بوت58
symbol:{exchange}:{symbol} — يتم تحميله عند بدء البوت، لا TTL58
arb:signal:{symbol} أو arb:signal:__top__ — أفضل N مرتبة مسبقاً58
✅ حماية الرجوع
إذا كان مفتاح Redis مفقوداً أو منتهي الصلاحية (مثال: RedisMarketBridge معطل)، يعود MagicTradeBot تلقائياً إلى استدعاء مباشر لواجهة برمجة تطبيقات البورصة لنقطة البيانات المحددة هذه. هذا يضمن أن البوتات لا تتوقف أبداً بسبب انقطاع طبقة البيانات. اضبط
FallbackToDirectApi: falseلتعطيل (غير موصى به في بيئة الإنتاج).
6. تشغيل بوتات متعددة
6.1 الميزة الأساسية
586.2 بورصة واحدة — بوتات متعددة
تشغيل 20 بوت استراتيجي مختلف، جميعها تستهدف العقود الدائمة USDT على Binance:
# bot-1-btc.yaml (Long/Short BTC، إشارة 15m)
Exchange: "binance"
Symbol: "BTCUSDT"
Strategy: "momentum"
Redis:
Enabled: true
Host: "127.0.0.1"
# bot-2-eth.yaml (Long/Short ETH، إشارة 30m)
Exchange: "binance"
Symbol: "ETHUSDT"
Strategy: "mean_reversion"
Redis:
Enabled: true
Host: "127.0.0.1"
# ... كرر لأي عدد تريده من البوتات
# جميعهم يقرؤون من نفس Redis — Binance ترى فقط اتصال RMB الوحيد6.3 بورصات متعددة — بوتات متعددة
تشغيل بوتات على 5 بورصات مختلفة في وقت واحد. بدون Redis، سيتطلب هذا إدارة 5 ميزانيات حدود معدل منفصلة عبر جميع البوتات. مع Redis:
# bot-binance-sol.yaml
Exchange: "binance"
Symbol: "SOLUSDT"
Redis: { Enabled: true, Host: "127.0.0.1" }
# bot-bybit-sol.yaml (نفس الرمز، بورصة مختلفة — مقارنة المراجحة)
Exchange: "bybit"
Symbol: "SOLUSDT"
Redis: { Enabled: true, Host: "127.0.0.1" }
# bot-gateio-arb.yaml (يقرأ إشارة المراجحة عبر البورصات من Redis)
Exchange: "gateio"
Symbol: "SOLUSDT"
Strategy: "funding_arb"
Redis:
Enabled: true
Host: "127.0.0.1"
UseArbSignals: true # قراءة الإشارة المحسوبة مسبقاً arb:signal:SOLUSDT من Redis💡 بوتات المراجحة عبر البورصات
يستفيد ArbEdgeBot (وحدة مراجحة التمويل في MagicTradeBot) بشكل أكبر من Redis. يقرأ درجات فجوة التمويل المحسوبة مسبقاً عبر البورصات من
arb:signal:__top__— مفتاح واحد يحتوي على أفضل N من الفرز حسب الفارق + الزخم + وزن السيولة. لا حاجة لأي استدعاءات API.
7. مخطط مفاتيح Redis
يقرأ MagicTradeBot البيانات من Redis باستخدام مخطط مفاتيح متسق يتم كتابته بواسطة RedisMarketBridge.
7.1 مرجع المفاتيح
58symbol:{exchange}:{sym}58
58لا يوجد58
58حجم التيك، حجم الخطوة، الحد الأدنى للكمية، دقة السعر — يتم تحميله عند بدء تشغيل البوت58
tick:{exchange}:{sym}58
58s1558
58السعر الحالي، حجم 24 ساعة، سعر الشراء، سعر البيع، نسبة تغير السعر