من يستخدم TradingView في التداول الكمي، سيواجه عاجلًا أم آجلًا نفس المشكلة:
ظهرت إشارة الاستراتيجية، لكن تنفيذ الأمر ما يزال يدويًا. لحظة صدور الإنذار، تكون نائمًا أو في اجتماع أو تنظر إلى لوحة تداول أخرى — وعندما تنتبه، تكون نافذة الفرصة قد أُغلقت بالفعل.
المشكلة الأكثر جوهرية هي أن موضوع إدخال الأوامر يدويًا بحد ذاته يتعارض مع منطق التداول الكمي. أنت تكتب الاستراتيجية لاستبعاد تداخل العواطف، ولتنفيذ القواعد تلقائيًا، لكن طالما ما زال هناك «إنسان» في المنتصف، فلن يمكن تطبيق القواعد بدقة.
تتناول هذه المقالة حل هذه المشكلة. بعد قراءتها ستفهم مبدأ عمل الأتمتة الكاملة للتداول، وستنجز الإعداد الكامل من تنبيهات TradingView إلى إتمام الصفقات تلقائيًا على Binance.
فهم المبدأ أولاً: كيف تعمل هذه المنظومة
قبل البدء في الإعداد، خذ دقيقتين لفهم مسار العمل بالكامل—سيجعل إعداداتك اللاحقة أكثر وضوحًا، كما يسهل عليك استكشاف الأخطاء وإصلاحها عند حدوث مشكلة.
يتكون مسار التداول الآلي كله من ثلاثة أجزاء:
TradingView → FlamoTrade → Binance
(مصدر الإشارة) (مركز التنفيذ) (المنصة)
TradingView مسؤول عن توليد الإشارة. بعد تحقق شروط استراتيجيتك أو مؤشرّك، سيقوم TradingView بإرسال تنبيه. يمكن أن يحمل هذا التنبيه محتوى ويرسله عبر Webhook إلى عنوان URL محدد.
FlamoTrade هو محرك التنفيذ كطبقة وسيطة. يستقبل طلبات Webhook التي يرسلها TradingView، ويحلل تعليمات التداول بصيغة JSON داخلها، ثم يستدعي Binance API لوضع الأمر. القيمة الأساسية هي: ربط موثوق بين "استلام الإشارة" و"تنفيذ الصفقة"، وفي الوقت نفسه التعامل مع مشاكل هندسية مثل تزامن عدة حسابات، وإعادة المحاولة عند فشل الأوامر، وإرسال إشعارات Telegram وغيرها من التفاصيل.
Binance هي المسؤولة عن التنفيذ الفعلي للصفقة. تقوم FlamoTrade بوضع الأوامر في حسابك عبر API Key الذي قمت بتفويضه.
بعد فهم هذا المسار، ستجد أن منطق الإعداد بسيط جدًا: اجعل TradingView يعرف إلى أين يرسل الإشارة، واجعل FlamoTrade يعرف في أي حساب يضع الأوامر.
لماذا نحتاج هذه الطبقة الوسيطة من FlamoTrade؟
قد يسأل أحدهم: هل يمكن لـ TradingView استدعاء Binance API مباشرةً؟
تقنيًا، Webhook في TradingView لا يمكنه إرسال سوى طلب HTTP، ولا يملك ميزات مثل التحقق من التوقيع، وإدارة الحسابات، والتزامن غير المتزامن، لذلك لا يستطيع قيادة Binance مباشرةً.
هناك من يحاول أيضًا بناء خادم وسيط بنفسه للقيام بهذه المهمة، لكن في الواقع تكون المشكلات أكبر بكثير مما تتخيل: قواعد توقيع Binance API، تحقق الطابع الزمني، التحكم في التزامن لعدة حسابات، آلية إعادة المحاولة عند فشل وضع الأوامر، وحماية البورصة من تجاوز حد المعدل (rate limit)… كل هذا يتطلب استثمارًا هندسيًا كبيرًا، فضلًا عن صيانة مستمرة على المدى الطويل.
ما يفعله FlamoTrade هو بالضبط هذا، وقد ظل يعمل بثبات لأكثر من سنة. بالنسبة للمتداولين، فإن استخدام أدوات جاهزة لحل مشاكل الهندسة ووضع تركيزك على الاستراتيجية هو التقسيم الصحيح للأدوار.
ابدأ الإعداد
الخطوة الأولى: تسجيل FlamoTrade والحصول على Webhook URL
افتح flamotrade.com، قم بالتسجيل في الحساب وتسجيل الدخول.
بعد تسجيل الدخول ادخل إلى صفحة الاشتراكات، اختر تشغيل النسخة القياسية المجانية للأبد، ثم انتقل إلى صفحة إدارة المستخدمين. ابحث عن خانة Webhook URL، انسخ هذا العنوان:
https://api.flamotrade.com/webhook/مفتاحك السري الخاص
هذا الـ URL هو عنوان استقبال الإشارة الخاص بك. ترسل TradingView طلبًا إلى هذا العنوان، وستقوم FlamoTrade بتنفيذ تعليمات التداول المقابلة. المفتاح هو معرفك كهوية، ولا تكشفه للآخرين.
الخطوة الثانية: ربط Binance API
يحتاج FlamoTrade إلى وضع الأوامر في حسابك عبر Binance API. ويوجد تصميم أمني يجب فهمه:
مفتاح Binance API له صلاحيات على مستوى الأذونات. أنت تحتاج فقط إلى تفعيل صلاحية تداول العقود، ولا تحتاج إلى تفعيل صلاحية السحب. هذا يعني أنه حتى لو تسرب API Key، لن يستطيع الطرف الآخر تحويل أموالك؛ أقصى ما يستطيع هو إجراء عمليات على العقود. هذا هو التطبيق العملي لمبدأ أقل الصلاحيات.
عند إنشاء API Key، أضف عناوين الـ IP التالية إلى القائمة البيضاء:
192.243.127.172
هذا هو عنوان IP الثابت لخادم FlamoTrade. لا يمكن استخدام طلبات إلا من هذا الـ IP للوصول إلى API Key الخاص بك؛ أما الطلبات من عناوين أخرى فسيقوم Binance برفضها مباشرة، ما يحد بشكل أكبر من سطح المخاطر.
بعد اكتمال الإنشاء، أضف مفتاح API Key ومفتاح Secret Key في صفحة إدارة واجهات API ضمن حسابات التداول في FlamoTrade. تقوم FlamoTrade بتشفير المفاتيح أثناء التخزين، ولا يتم حفظها كنص صريح.
الخطوة الثالثة: إعداد دفع إشعارات Telegram
هذه الخطوة ليست ضرورية، لكن يُنصح بشدة بتكوينها.
أحد المخاطر المحتملة للتداول الآلي هو "فقدان السيطرة"—أي أن النظام ينفذ ولا تعرف ماذا يفعل. حل Telegram لهذا هو أن حالة كل أمر (وقت تفعيله، نجاح الصفقة، أو فشلها) يتم إرسالها فورًا إلى هاتفك، لتتمكن من متابعة حالة النظام في أي وقت.
طريقة الإعداد:
في Telegram ابحث عن @BotFather، أدخل /newbot لإنشاء بوت واحفظ Token
استخدم @userinfobot للحصول على Chat ID الخاص بك
في صفحة إعدادات TelegramBot ضمن واجهة FlamoTrade لـ API، أدخل Token وChat ID، اختر لغة الإرسال ضمن خيارات اللغة، ثم احفظ
اضغط على اختبار (Test). إذا استلمت رسالة فهذا يعني أن الإعداد ناجح
الخطوة الرابعة: إنشاء تنبيه في TradingView
هذه هي أهم خطوة في الإعداد، وهي أيضًا المكان الأكثر احتمالًا لحدوث مشاكل. فهم بنية تعليمات JSON سيجعل تعديل المعلمات لاحقًا أسهل بكثير.
افتح TradingView، وأنشئ تنبيهًا (Alarm) على استراتيجيتك أو مؤشرك. انتبه إلى نقطتين رئيسيتين:
Webhook URL: أدخل عنوان FlamoTrade الذي حصلت عليه في الخطوة الأولى.
رسالة التنبيه: هنا يتم إدخال تعليمات التداول بصيغة JSON. بعد أن تستلم FlamoTrade الطلب، ستقوم بتحليل JSON لتحديد كيفية تنفيذ الأمر.
فيما يلي قوالب لأكثر التعليمات استخدامًا، وفهم معنى كل معلمة:
فتح صفقة بسعر السوق للشراء (أبسط طريقة)
{
"action": "buySell",
"account": "ALL",
"symbol": "ETHUSDT",
"side": "BUY",
"amount": "0",
"usdt": "100",
"multiple": "0",
"price": "0",
"orderType": "market",
"cancelLast": "false",
"closeLast": "reverse",
"reduceOnly": "false",
"delay": "0",
"memo": ""
}
شرح المعلمات:
action: نوع التعليمات. buySell هو شراء/بيع عادي، وهناك create (إدراج مركّب)، closePosition (إغلاق) وغيرها
side: الاتجاه. BUY يعني شراء/مراكز طويلة، SELL يعني بيع/مراكز قصيرة
usdt:مبلغ الأمر. يتم أخذ الحقل الأول غير الصفر وفقًا للأولوية بين amount و usdt و multiple. هنا يتم تحديد usdt ليعني 100U
multiple:يتم تنفيذ الأمر وفقًا لنسبة من رصيد الحساب، مثل "0.3*5" تعني استخدام 30% من رصيد الحساب × الرافعة 5 (الرافعة التي قمت بإعدادها في حسابك)
orderType:market سعر السوق، limit سعر محدد (عند limit يلزم تعبئة price)
closeLast:reverse يعني قبل وضع الأمر يتم إغلاق المركز العكسي أولاً لتجنب امتلاك مراكز شراء وبيع في نفس الوقت
cancelLast:قبل وضع الأمر هل يتم إلغاء كل الأوامر المعلقة لنفس هذا الزوج/المنتج
عند فتح المركز، قم أيضًا بتعيين وقف الربح ووقف الخسارة (يُوصى باستخدام هذا)
{
"action": "create",
"account": "ALL",
"symbol": "ETHUSDT",
"side": "BUY",
"amount": "0",
"usdt": "100",
"multiple": "0",
"price": "0",
"stopPrice": "{{close}}*(1-2%)",
"profitPrice": "{{close}}*(1+4%)",
"orderType": "market",
"cancelLast": "true",
"closeLast": "reverse",
"reduceOnly": "false",
"delay": "0",
"memo": ""
}
stopPrice و profitPrice يدعمان التعابير الرياضية. {{close}} هي خانة بديلة (placeholder) في تنبيهات TradingView، وسيتم استبدالها تلقائيًا بسعر الإغلاق وقت التفعيل. *(1-2%) يعني نزولًا 2%، و*(1+4%) يعني صعودًا 4%.
هذا يعني أنك لا تحتاج إلى حساب الأسعار بنفسك—سيقوم النظام في لحظة تفعيل الإشارة وبناءً على السعر اللحظي بالحساب الديناميكي لمستويات وقف الربح ووقف الخسارة.
إغلاق المركز
{
"action": "closePosition",
"account": "ALL",
"symbol": "ETHUSDT",
"side": "X",
"amount": "0",
"ratio": "1.0",
"price": "0",
"orderType": "market",
"cancelLast": "true",
"delay": "0",
"memo": ""
}
الـ side: عند إدخال X يتم الإغلاق الكامل ثنائي الاتجاه. closeBuy يغلق فقط مراكز الشراء، وcloseSell يغلق فقط مراكز البيع. ratio هي نسبة الإغلاق: 1.0 يعني إغلاق كامل، و0.5 يعني إغلاق نصف المركز.
الخطوة الخامسة: التحقق من المسار كاملًا
بعد اكتمال الإعداد، نفّذ اختبارًا كاملًا بحجم مركز صغير للتأكد من ثلاث نقاط:
بعد تفعيل تنبيه TradingView، هل تلقت FlamoTrade الطلب؟ (سيظهر في TelegramBot البيانات الأصلية JSON بعد استبدال الـ placeholders)
هل تم استلام حالة/وضع أمر الدفع في Telegram؟
هل ظهرت سجلات أمر مقابلة في حساب عقود Binance؟
كلها صحيحة، فهذا يعني أن سلسلة العمل كاملة ومتصلة.
بعض التفاصيل التي تستحق الانتباه
مشكلة التأخير: من إرسال Webhook من TradingView إلى تنفيذ صفقة Binance، وفي الظروف العادية يكون ذلك ضمن ثانية واحدة. مصدر هذا التأخير هو نقل الشبكة، وليس وقت معالجة FlamoTrade نفسه.
عدة حسابات: يتم تعبئة حقل account بالقيمة ALL للدلالة على تنفيذ الأوامر لجميع الحسابات في نفس الوقت. إذا كنت تدير عدة حسابات، يمكنك أيضًا إدخال أسماء حسابات محددة مثل "bnc1 bnc2"، وسينفذ FlamoTrade بشكل متزامن (concurrent) وليس على الترتيب (serial) مع انتظار.
معالجة فشل وضع الأوامر: يوجد في FlamoTrade آلية إعادة محاولة مدمجة. إذا فشل وضع الأمر بسبب تقلبات الشبكة أو تجاوز حد معدل البورصة، سيقوم النظام بإعادة المحاولة تلقائيًا وإبلاغك عبر Telegram بسبب الفشل.
النسخة المجانية: النسخة القياسية مجانية للأبد، مع حد 60 أمرًا شهريًا. هذا يكفي تمامًا للاستراتيجيات منخفضة التردد أو مرحلة الاختبار. إذا كنت تحتاج تجاوز هذا المعدل، فكر بعدها في الترقية إلى النسخة المدفوعة.
الخلاصة
جوهر التداول الآلي هو: تنفيذ القواعد بشكل صارم في حال غيابك.
هذه الإعدادات تقوم بأمر بسيط جدًا: TradingView مسؤول عن تحديد الإشارة، وFlamoTrade مسؤول عن التنفيذ الموثوق، وBinance مسؤول عن التنفيذ الفعلي للصفقة. كل حلقة تقوم بما يجب عليها، ولا يوجد مساحة لتدخل بشري بين الحلقات.
قم بتهيئته مرة واحدة، وبعد ذلك أثناء تشغيل الاستراتيجية لن تحتاج حتى لفتح الكمبيوتر.
عنوان تسجيل FlamoTrade: flamotrade.com (نسخة قياسية مجانية للأبد، دون الحاجة إلى بطاقة ائتمان)