استخدم 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، تحقق الطابع الزمني، التحكم بالتوازي لعدة حسابات، آلية إعادة المحاولة عند فشل الطلبات، حماية البورصة من تقييد المعدل… كل هذه تتطلب استثمارًا هندسيًا كبيرًا وصيانة مستمرة على المدى الطويل.

هذا بالضبط ما يفعله FlamoTrade، وقد استمر في العمل بثبات لأكثر من سنة. بالنسبة للمتداولين، فإن استخدام الأدوات الجاهزة لحل مشاكل الهندسة والتركيز على الاستراتيجية هو التقسيم الصحيح للأدوار.

ابدأ الإعداد

الخطوة الأولى: تسجيل FlamoTrade والحصول على Webhook URL

افتح flamotrade.com، وسجّل حسابًا ثم سجّل الدخول.

بعد تسجيل الدخول، ادخل إلى صفحة الاشتراك، اختر تشغيل النسخة القياسية المجانية الدائمة، ثم انتقل إلى صفحة إدارة المستخدمين. ابحث عن خانة Webhook URL ثم انسخ هذا العنوان:

https://api.flamotrade.com/webhook/مفتاحك الخاص

هذا الـ URL هو عنوان استقبال الإشارات الخاص بك. سيقوم TradingView بإرسال الطلبات إلى هذا العنوان، وسيقوم FlamoTrade بتنفيذ أوامر التداول المطابقة. المفتاح/Secret هو معرف فريد لهويتك، ولا تكشفه للآخرين.

الخطوة الثانية: ربط Binance API

يحتاج FlamoTrade إلى تقديم الطلبات في حسابك عبر Binance API. توجد هنا فكرة تصميم أمني جديرة بالفهم:

يتم تقييد صلاحيات Binance API Key. كل ما تحتاجه هو تفعيل صلاحية تداول العقود فقط، ولا تحتاج إلى تفعيل صلاحية السحب. وهذا يعني أنه حتى لو تم تسريب 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، وحدد لغة الإرسال في القائمة، ثم احفظ واضغط اختبار. إذا وصلتك رسالة فهذا يعني أن الإعداد تم بنجاح.

الخطوة الرابعة: إنشاء تنبيه في TradingView

هذه هي أكثر خطوة أساسية في كامل الإعدادات، وأيضًا أكثر خطوة عرضة لحدوث مشاكل. فهم بنية أوامر JSON سيسهل عليك تعديل المعلمات لاحقًا كثيرًا.

افتح TradingView، وقم بإنشاء تنبيه على استراتيجيتك أو مؤشر. انتبه لنقطتين أساسيتين:

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 لتحديد 100. Umultiple: أوامر بنسبة من رصيد الحساب، مثل "0.3*5" تعني استخدام 30% من رصيد الحساب × رافعة 5 (الرافعة التي قمت بإعدادها في حسابك). orderType: market بالسعر الفوري، limit بالسعر المحدد (عند limit يلزم إدخال price). closeLast: reverse يعني إغلاق المركز العكسي أولًا قبل تنفيذ الأمر لتجنب امتلاك مراكز long وshort في نفس الوقت. 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 الأصلية بعد استبدال عناصر placeholder)هل استلم Telegram حالة/معلومات حالة الأمر المباشر عبر الإشعار؟هل يظهر في حساب عقود Binance سجل للأمر المقابل

الثلاثة صحيحة؛ فهذا يعني أن سلسلة الربط كاملة.

بعض التفاصيل التي يستحق الانتباه لها

مشكلة التأخير: من إرسال Webhook من TradingView إلى إتمام صفقة Binance، يكون ذلك عادةً ضمن ثانية واحدة. مصدر هذا التأخير هو نقل الشبكة، وليس وقت معالجة FlamoTrade نفسه.

عدة حسابات: قيمة حقل account = ALL تعني وضع أوامر لجميع الحسابات في نفس الوقت. إذا كنت تدير عدة حسابات، يمكنك أيضًا كتابة اسم/أسماء حسابات محددة مثل "bnc1 bnc2"؛ وسيقوم FlamoTrade بالتنفيذ بشكل متوازٍ وليس انتظارًا تسلسليًا.

معالجة فشل تقديم الطلب: يحتوي FlamoTrade على آلية إعادة محاولة مدمجة. إذا فشل تقديم الطلب بسبب تقلبات الشبكة أو تقييد الطلبات من البورصة، فسيقوم النظام بإعادة المحاولة تلقائيًا، وسيقوم Telegram بإبلاغك بسبب الفشل.

النسخة المجانية: النسخة القياسية مجانية ودائمة، وبحد 60 أمرًا شهريًا. تكفي تمامًا للاستراتيجيات منخفضة التكرار أو مرحلة الاختبار. إذا كنت بحاجة إلى تجاوز التكرار، فكر في ترقية النسخة المدفوعة.

ملخص

جوهر التداول الآلي هو: تنفيذ القواعد بشكل صارم في غيابك.

هذه الإعدادات بسيطة جدًا: TradingView يتولى تحديد الإشارة، وFlamoTrade يتولى التنفيذ الموثوق، وBinance يتولى إتمام الصفقة فعليًا. في كل مرحلة يقوم كل طرف بما هو مسؤول عنه، ولا توجد مساحة للتدخل اليدوي بينهما.

قم بإعدادها مرة واحدة، وبعد ذلك أثناء تشغيل الاستراتيجية قد لا تحتاج حتى إلى فتح الكمبيوتر.

عنوان تسجيل FlamoTrade: flamotrade.com (النسخة القياسية مجانية ودائمة، بدون الحاجة لبطاقة ائتمان)