أتمتة تنبيهات TradingView باستخدام Webhooks
ما هو الـ webhook، والفرق بين تنبيهات المؤشر وتنبيهات الاستراتيجية، وبناء رسالة JSON بالمتغيرات البديلة، وما الذي تتحقق منه لتبقى أتمتة تنبيهاتك موثوقة وآمنة.
TradingView من أكثر الأدوات شعبية للرسم البياني وبناء الاستراتيجيات، لكن تنبيهاته لا ترسل أوامر إلى الوسيط من تلقاء نفسها. الجسر بين التنبيه والتنفيذ هو الـ webhook: رسالة آلية تُرسل إلى عنوان تختاره لحظة انطلاق التنبيه. يشرح هذا المقال كيف يعمل ذلك، وماذا تضع في الرسالة، وأي فخاخ الموثوقية والأمان يجدر بك معرفتها مسبقًا.
ما هو الـ webhook
الـ webhook آلية يرسل فيها نظام طلب HTTP إلى نظام آخر عند وقوع حدث ما، بدلًا من أن يسأل النظام الثاني باستمرار "هل من جديد؟". في TradingView، عندما يتحقق شرط التنبيه، ترسل خوادم TradingView طلب POST إلى عنوان الـ webhook الذي ضبطته، ويحتوي متن الطلب على النص الذي كتبته في حقل الرسالة.
الطرف المستقبِل، مثل منصة أتمتة، يقرأ الرسالة، ويستنتج ما يجب فعله (شراء، بيع، إغلاق، الكمية) ويرسل الأمر إلى حساب الوسيط. تذكّر: TradingView يرسل الرسالة فقط. كل قرارات التنفيذ وإدارة المخاطر وفحوص السلامة تجري على الطرف المستقبِل.
بحسب مركز مساعدة TradingView، يعتمد إرسال الـ webhook على خطة اشتراكك ويتطلب عادةً تفعيل المصادقة الثنائية على الحساب. قد تتغير المتطلبات، فراجع التفاصيل الحالية على موقعهم الرسمي.
تنبيهات المؤشر مقابل تنبيهات الاستراتيجية
هناك نوعان رئيسيان من التنبيهات المستخدمة في الأتمتة:
- تنبيه مؤشر أو شرط: يُنشأ على مؤشر، أو على السعر، أو على دالة تنبيه في كود Pine. مناسب عندما يكون المنطق بسيطًا، أو عندما يقرر المؤشر نفسه متى يرسل الإشارة.
- تنبيه استراتيجية: يُنشأ على سكربت من نوع استراتيجية وينطلق عندما ينفذ محرك الاستراتيجية أمرًا محاكى (دخول، خروج، انعكاس). ميزته أن الرسالة يمكن أن تحمل معلومات عن الأمر نفسه، مثل الاتجاه والحجم.
الفرق مهم لأنه يغيّر السلوك. يعتمد تنبيه الاستراتيجية على إعداداتها، مثلًا ما إذا كانت تحسب عند إغلاق الشمعة فقط أم مع كل تيك. إذا جرى اختبارك الخلفي على إغلاق الشمعة بينما يعمل التنبيه الحي داخل الشمعة، فقد تختلف النتائج. افحص الإعدادات وتأكد من اتساقها.
بناء الرسالة: JSON والمتغيرات البديلة
تتوقع معظم أنظمة الأتمتة رسالة بصيغة JSON، أي بنية من الحقول والقيم. بالكلمات، تحتوي الرسالة النموذجية على حقول مثل الرمز المراد تداوله، والاتجاه، وعدد العقود، وأحيانًا معرّف الاستراتيجية أو رمزًا تعريفيًا للاتصال. الصيغة الدقيقة يحددها الطرف المستقبِل، لذا انسخ القالب دائمًا من توثيق المنصة التي تستخدمها.
يدعم TradingView المتغيرات البديلة (placeholders): متغيرات داخل أقواس معقوفة مزدوجة تُستبدل بقيم حقيقية وقت الإرسال. توجد متغيرات للرمز، وسعر الإغلاق، والوقت، وفي تنبيهات الاستراتيجية أيضًا لاتجاه الأمر وكميته. الاستخدام الصحيح لها يتيح لك إعادة استخدام قالب الرسالة نفسه على عدة رسوم بيانية دون إعادة كتابته.
بعض القواعد التي تستحق الالتزام:
- حافظ على صحة الـ JSON: علامات تنصيص مزدوجة حول أسماء الحقول والنصوص، وفواصل بين الحقول، ولا فاصلة زائدة في النهاية.
- لا تعتمد على حقول قد لا تُملأ في كل الحالات.
- افحص الرسالة بعد الاستبدال في سجل تنبيهات TradingView لترى ما أُرسل فعلًا.
الرمز الصحيح وتدوير العقود
تضيف العقود الآجلة مشكلة خاصة: الرسم المستمر (مثلًا NQ1!) يعرض العقد الأقرب ويتبدل تلقائيًا، لكن الوسيط يحتاج إلى معرفة العقد المحدد الذي يجب تداوله. إذا أرسلت الرسالة اسم الرسم المستمر، فعلى الطرف المستقبِل ترجمته إلى العقد الصحيح. وإذا أرسلت عقدًا محددًا، فيجب تحديث التنبيه عند حلول وقت التدوير. الشرح الكامل في مقال تدوير عقود العقود الآجلة.
اعتبارات الموثوقية
الأتمتة الجيدة هي التي تعرف فيها متى لم تعمل. نقاط يجب الانتباه إليها:
- انتهاء صلاحية التنبيه: في بعض الخطط للتنبيهات تاريخ انتهاء. التنبيه المنتهي يتوقف عن الإرسال ببساطة، وبصمت. ضع لنفسك تذكيرًا.
- تعديل السكربت: إذا عدّلت المؤشر أو الاستراتيجية، فقد يستمر التنبيه القائم في العمل على النسخة القديمة. عادةً تحتاج إلى إعادة إنشائه.
- التنبيهات المكررة: تنبيهان على الرسم نفسه، أو تنبيه ينطلق أكثر من مرة في الشمعة، قد يرسلان أمرًا مكررًا. اضبط تكرار التفعيل عن قصد، ويُفضَّل أن يكتشف الطرف المستقبِل التكرارات.
- التأخير: ينتقل الـ webhook عبر الإنترنت وقد يتأخر. في السوق السريع يؤثر التأخير البسيط على السعر؛ راجع مقال الانزلاق السعري وتكاليف التنفيذ.
- تعطل المستقبِل: إذا كان الخادم المستقبِل غير متاح، فقد تضيع الرسالة. النظام الجيد سينبهك.
تأمين عنوان الـ webhook
عنوان الـ webhook الخاص بك هو فعليًا مفتاح: أي شخص يعرفه ويعرف صيغة الرسالة يستطيع إرسال أوامر إلى حسابك. لذلك:
- لا تنشر العنوان في لقطات الشاشة أو المنتديات أو مجموعات الدردشة.
- استخدم حيثما أمكن رمزًا سريًا داخل الرسالة يتحقق منه الطرف المستقبِل.
- إذا اشتبهت في تسرب العنوان، أنشئ اتصالًا جديدًا وألغِ القديم.
- اضبط حدود مخاطرة على الطرف المستقبِل، بحيث لا تستطيع حتى رسالة مشوّهة فتح مركز ضخم.
قائمة التحقق قبل الإطلاق
- هل اختُبرت الاستراتيجية بإعدادات الحساب نفسها التي يعمل بها التنبيه؟
- هل الرسالة JSON صحيح وفق توثيق المستقبِل؟
- هل الرمز مربوط بالعقد الصحيح؟
- هل تعرف تاريخ انتهاء صلاحية التنبيه؟
- هل ضبطت حد خسارة يوميًا وحدًا أقصى لعدد العقود؟
- هل اختبرت كل شيء في المحاكاة أولًا؟
الخلاصة
- الـ webhook مجرد ساعي بريد: TradingView يرسل رسالة، والطرف المستقبِل ينفذ ويدير المخاطر.
- تنبيهات الاستراتيجية تستطيع نقل الاتجاه والكمية، لكنها تحتاج إلى إعدادات حساب متسقة.
- JSON صحيح ومتغيرات بديلة سليمة يمنعان كثيرًا من الأخطاء.
- انتهاء الصلاحية والتكرار وتعديل السكربت مصادر شائعة للأعطال.
- عنوان الـ webhook سرّ؛ تعامل معه ككلمة مرور.
إذا أردت أن ترى كيف يبدو ذلك عمليًا، فهناك دليل عن ربط تنبيهات TradingView بـ WeCore. يستقبل WeCore التنبيهات، ويحولها إلى أوامر على حسابك لدى الوسيط أو شركة التمويل، ويطبق حدود مخاطرة آلية، ويمكنك البدء في وضع المحاكاة.