رسالة تنبيه TradingView: الصيغة، مثالاً بمثال
الرسالة هي النص الوحيد الذي يرسله تنبيهك. ولكي تصبح أمر تداول على MT4 أو MT5 أو cTrader، تتبع صيغة بسيطة: كائن JSON أو سطر نصي واحد. إليك كل حقل، وكل أمر، وأمثلة جاهزة للنسخ، وقد جرى التحقق منها كلها في أداة اختبار webhook.
نص التنبيه
{
"action": "buy",
"symbol": "EURUSD",
"volume": 0.10,
"sl": 1.0820,
"tp": 1.0910
}
أين تذهب الرسالة
في نافذة تنبيه TradingView، يحتوي حقل Message على النص المُرسَل عند كل انطلاق للتنبيه، ويحتوي حقل Webhook URL على العنوان الذي يُرسَل إليه. وهذا العنوان هو عنوان حسابك في TheConnector: فهو يحمل مفتاح الوصول بالفعل، لذا لا تصف الرسالة إلا الأمر.
- تنبيه واحد يرسل رسالة واحدة، وبالتالي أمراً واحداً
- يبقى مفتاح الوصول في عنوان الـ webhook، ولا يوضع في الرسالة أبداً
- يستبدل TradingView المتغيرات مثل {{ticker}} قبل الإرسال
الرسالة في حدّها الأدنى
يكفي حقلان لتكون الرسالة صالحة: الأمر والرمز. عندها يأخذ أمر التداول حجمه من إعدادات المخاطرة في الحساب، وتحديد الحجم بالمخاطرة يحتاج إلى وقف: عملياً، أضف على الأقل وقف خسارة، أو عدداً ثابتاً من اللوتات.
{"action":"buy","symbol":"EURUSD"}
buy,EURUSD
- action: ما يجب فعله، وهو الشراء في هذا المثال
- symbol: رمز TradingView، ويُطابَق مع الرمز لدى وسيطك
- الصيغة النصية في سطر واحد تحمل المعلومات نفسها تماماً
حقول الرسالة
تغطي ثمانية حقول كل الاحتياجات تقريباً. تُكتب أسماؤها بأحرف صغيرة، وقيمها أرقام، ما عدا الأمر والرمز والوسم. والحقل الذي لا يعرفه TheConnector يُتجاهَل بصمت: فالاسم المكتوب بخطأ إملائي يمرّ دون أن يُلاحَظ، ومن هنا فائدة أداة الاختبار قبل الانتقال إلى الحساب الحقيقي.
actionالأمر: شراء، بيع، إغلاق، إلغاء، تعديلbuysymbolالأداة المالية، كما يسمّيها TradingViewEURUSDriskمخاطرة الأمر، تُقرأ حسب مصدر المخاطر في الحساب1volumeعدد ثابت من اللوتات، يتقدّم على المخاطرة0.10slوقف الخسارة، حسب وضع السعر في الحساب20tpجني الأرباح، حسب وضع السعر في الحساب40priceسعر الدخول لأمر معلّق1.0850tagاسم الاستراتيجية، للتمييز بين عدة استراتيجيات على رمز واحدtrend- الأسماء البديلة المقبولة: lot أو lots بدلاً من volume، وstoploss بدلاً من sl، وtakeprofit بدلاً من tp
- لا حقل account: فعنوان الـ webhook يحدّد الحساب بالفعل
- تجد في مرجع الصياغة أوامر أخرى وإعدادات خاصة بكل تنبيه
الأوامر
يأخذ الحقل action أحد الأوامر أدناه. ويقبل كل منها أيضاً صيغة بشرطة سفلية، مثل close_long، كما يُقبل long وshort بدلاً من buy وsell.
buy / sellيفتح مركزاً بسعر السوق، شراءً أو بيعاًbuy,EURUSD,risk=1,sl=20buylimit / selllimitأمر معلّق تحت السعر (شراء) أو فوقه (بيع)buylimit,EURUSD,price=1.0850,volume=0.1buystop / sellstopأمر معلّق فوق السعر (شراء) أو تحته (بيع)sellstop,GBPJPY,price=198.250,risk=1,sl=198.800closelong / closeshortيغلق مركز الشراء أو مركز البيع على الرمزcloselong,EURUSDcloselongshortيغلق المراكز في الاتجاهين على الرمزcloselongshort,EURUSDcancellong / cancelshortيلغي الأوامر المعلّقة للشراء أو للبيعcancelshort,GBPJPYnewsltplong / newsltpshortينقل وقف الخسارة وجني الأرباح للمركز المفتوحnewsltplong,EURUSD,sl=15,tp=60- يحتاج الأمر المعلّق إلى سعر دخوله
- أمر الإغلاق أو التعديل يذكر الرمز، مثل أمر الدخول
- breakevenlong وbreakevenshort اسمان بديلان لـ newsltplong وnewsltpshort
الشراء أو البيع بسعر السوق، مع وقف وهدف
الرسالة الأكثر شيوعاً: دخول بسعر السوق يُحدَّد حجمه بالمخاطرة، مع وقف الخسارة وجني الأرباح. عندما يكون مصدر المخاطر مضبوطاً على «نسبة TradingView» ووضع السعر على «Pips»، يخاطر هذا المثال بـ 1% من الرصيد، بوقف على بُعد 20 pips وهدف على بُعد 40 pips.
{"action":"buy","symbol":"EURUSD","risk":1,"sl":20,"tp":40}
- للبيع، ضع sell مكان buy
- المخاطرة هي الخسارة إذا لُمس الوقف، لا حجم المركز
- لفرض حجم محدد، أرسل volume بدلًا من risk
وضع أمر معلّق
ينتظر الأمر buylimit أن ينزل السعر حتى سعر دخوله، وينتظر الأمر buystop أن يصعد السعر إليه. يفترض هذا المثال أن وضع السعر في الحساب هو «السعر المطلق»: فالدخول والوقف والهدف أسعار سوق.
{"action":"buylimit","symbol":"EURUSD","price":1.0850,"volume":0.10,"sl":1.0820,"tp":1.0910}
- هنا الحجم ثابت: 0.10 لوت
- في وضع Pips أو وضع النسبة المئوية، تُقرأ الحقول نفسها على أنها مسافات
- يزيل cancellong أوامر الشراء المعلّقة إذا لم يعد السيناريو قائماً
إغلاق مركز أو نقل وقفه
ثلاث رسائل، واحدة لكل تنبيه: إغلاق مركز الشراء، وإغلاق المراكز في الاتجاهين، ثم نقل وقف الخسارة والهدف لمركز الشراء المفتوح. ومثل الدخول، تذكر كل رسالة رمزها.
{"action":"closelong","symbol":"EURUSD"}
{"action":"closelongshort","symbol":"EURUSD"}
{"action":"newsltplong","symbol":"EURUSD","sl":15,"tp":60}
- الإغلاق بلا وسم يأخذ أول مركز في الاتجاه المطلوب
- مع عدة استراتيجيات على الرمز نفسه، سمِّها بـ tag
- انسخ سطراً واحداً لكل تنبيه، لا الكتلة كلها أبداً
استراتيجيتان على الرمز نفسه
بلا اسم، يأخذ الإغلاق أول مركز يجده، وقد يكون مركز الاستراتيجية الأخرى. يسمّي الحقل tag الاستراتيجية: عند الدخول يكتبه الروبوت في تعليق المركز لدى الوسيط، والإغلاق المُسمّى لا يمسّ سوى المراكز التي تحمله.
{"action":"buy","symbol":"USDJPY","risk":1,"sl":20,"tag":"trend"}
{"action":"closelong","symbol":"USDJPY","tag":"trend"}
- الوسم نفسه في كل تنبيهات الاستراتيجية، الدخول والخروج معاً
- تُحوَّل الوسوم إلى أحرف صغيرة وتُقتطع إلى 12 حرفاً: اجعلها قصيرة ومتمايزة
- الحروف والأرقام و- و_ فقط
وضع متغيرات TradingView في الرسالة
يمكن لرسالة واحدة أن تخدم كل الرسوم البيانية: مع {{ticker}}، يتبع الرمز الرسم البياني الذي أُنشئ عليه التنبيه. يستبدل TradingView المتغير قبل الإرسال، لذا يتلقى TheConnector الرمز الفعلي.
{"action":"buy","symbol":"{{ticker}}","risk":1,"sl":20,"tp":40}
- متغيرات النص توضع بين علامتي تنصيص ("{{ticker}}")، أما الأرقام مثل {{close}} فلا
- تنبيهات الاستراتيجيات: قيمة {{strategy.order.action}} هي «sell» للخروج من شراء، لذا فضّل alert_message
- القائمة الكاملة للمتغيرات في دليل تنبيهات TradingView
وحدات الوقف والهدف والسعر
تُقرأ الأرقام في sl وtp وprice حسب وضع السعر المختار في إعدادات الحساب. السعر المطلق: سعر سوق، مثل 1.0750. Pips: مسافة من سعر الدخول، مثل 20. نسبة مئوية: مسافة كنسبة مئوية من سعر الدخول، مثل 0.5.
- يجب أن يتوافق وضع السعر مع ما ترسله تنبيهاتك
- تناسب الـ pips الفوركس؛ أما على المؤشرات والمعادن، ففضّل السعر أو النسبة المئوية
- اكتب الأعداد العشرية بنقطة: ففي صيغة السطر الواحد، تفصل الفاصلة بين الحقول
- بديل: الحقول sl_pips أو sl_price أو sl_pct (وtp_pips وtp_price وtp_pct) تحدد الوحدة داخل التنبيه نفسه
الأخطاء التي تؤدي إلى رفض الرسالة
تعود معظم حالات الرفض إلى بضعة أسباب، ويذكر سجل التنبيهات كلاً منها باسمه. وأولها مفاجئ: حقل account منسوخ من مثال قديم يؤدي إلى رفض التنبيه كله، حتى مع مفتاح صالح.
- حقل account لا يطابق الحساب تماماً: يُرفض التنبيه كأن مفتاح الوصول مرفوض
- JSON غير سليم البنية: علامة تنصيص منسية أو فاصلة زائدة
- أمر غير معروف أو مفقود، أو رمز مفقود
- رقم مصحوب بنص أو بوحدة، مثل 20pips أو 1%
فحص الرسالة قبل إرسالها
تقرأ أداة اختبار webhook المجانية رسالتك بالمحلل نفسه الذي تستخدمه بوابة الإنتاج، وتعرض ما تفهمه منها: الأمر، والرمز، والحجم، والوقف، والهدف، والوسم. لا يُرسَل شيء إلى أي حساب. ومولّد التنبيهات في الصفحة الرئيسية يكتب الرسالة نيابةً عنك.
- الصق الرسالة تماماً كما ستكون في TradingView
- ضع قيماً حقيقية مكان المتغيرات قبل الاختبار
- ثم أرسل أول تنبيه إلى حساب تجريبي
أدلة ذات صلة
FAQ
هل يجب وضع مفتاح الوصول في الرسالة؟
لا. فهو جزء من عنوان الـ webhook الذي تنسخه من لوحة التحكم، وهذا العنوان يحدّد الحساب. أما الرسالة فلا تصف إلا الأمر.
JSON أم سطر نصي واحد: أيهما تختار؟
كلاهما مقبول ويحمل الحقول نفسها. يسمّي JSON كل قيمة، مما يجعل مراجعته أسهل؛ أما صيغة السطر الواحد فأقصر في الكتابة، ومثالها: buy,EURUSD,risk=1,sl=20,tp=40.
كيف تُغلق مركزاً عبر تنبيه؟
أرسل closelong لإغلاق مركز الشراء أو closeshort لإغلاق مركز البيع، مع الرمز: {"action":"closelong","symbol":"EURUSD"}. وإذا كانت على الرمز عدة استراتيجيات، فأضف الوسم نفسه المستخدم عند الدخول.
لماذا يُرفض تنبيهي رغم أن المفتاح صالح؟
في أغلب الأحيان بسبب حقل account منسوخ من مثال قديم: إذا وُجد، يجب أن يطابق الحساب تماماً، وإلا رُفض التنبيه كأن المفتاح خاطئ. احذفه، فعنوان الـ webhook يكفي.
هل يمكن إرسال سعر إغلاق الشمعة؟
نعم، بالمتغير {{close}}، دون علامتي تنصيص. وهو يفيد كسعر دخول لأمر معلّق، عندما يكون وضع السعر في الحساب «السعر المطلق».
ماذا يحدث إذا احتوت الرسالة على حقل لا يعرفه TheConnector؟
يُتجاهَل دون أي خطأ. يُرسَل الأمر من دونه، لذا فإن اسماً مكتوباً بخطأ إملائي يغيّر الأمر دون سابق إنذار: افحص الرسالة في أداة اختبار webhook.