etrink← الصفحة الرئيسية

تكامل TradingView Webhook

آخر تحديث: أكتوبر 2026

حوّل تنبيهات TradingView إلى أوامر حقيقية تلقائيًا. عندما ينطلق تنبيهك، يرسل TradingView webhook إلى etrink، ويقوم EtrinkAgent الخاص بنا بتنفيذ الشراء/البيع على حساب MT5 الخاص بك — على مدار الساعة 24/7، حتى عندما يكون حاسوبك مطفأً.

كيف يعمل

تنبيه TradingView ← webhook من etrink (يتحقق من المفتاح وحدود الرمز والحجم) ← طابور الأوامر ← EtrinkAgent على منصة MT5 الخاصة بك ← وسيطك. تُسجَّل كل إشارة في لوحتك.

الإعداد خطوة بخطوة

  1. في لوحتك افتح Webhook، واختر الحساب المراد ربطه، ثم انقر على + مفتاح جديد.
  2. انسخ رابط الـ webhook الذي يُعرض مرة واحدة فقط (احتفظ به سرًّا — إذ يمكنه وضع أوامر):
https://api.etrink.com/hooks/etrk_xxxxxxxxxxxxxxxx
  1. في TradingView، أنشئ تنبيهًا. فعّل Webhook URL والصق الرابط أعلاه.
  2. الصق ملف JSON التالي في حقل Message (الرسالة) الخاص بالتنبيه:
{
  "action": "buy",
  "symbol": "EURUSD",
  "volume": 0.01,
  "sl": 0,
  "tp": 0,
  "id": "{{time}}"
}
  1. احفظ. عندما ينطلق التنبيه، يُنفَّذ الأمر على حسابك المرتبط.

تنسيق الرسالة

الحقلإلزاميالوصف
actionنعمbuy · sell · close. الأمر close يُغلق فقط — ولا يفتح أمرًا جديدًا أبدًا.
symbolنعمرمز الوسيط (مثل EURUSD، XAUUSD)
volumeلاحجم اللوت. مطلوب لأوامر buy/sell؛ ويخضع لحد الحجم الخاص بكل حساب.
sl / tpلاسعر وقف الخسارة / جني الأرباح (0 = بلا)
magicلارقم magic في MT5 (عدد صحيح ≥ 0) للأمر — استخدم رقمًا واحدًا لكل استراتيجية. مع close تُغلق فقط المراكز التي تحمل هذا الـ magic؛ ومن دونه تُغلق جميع مراكز الرمز.
closeOppositeلاtrue = قبل الفتح، أغلق الاتجاه المعاكس على الرمز نفسه (أمر buy يُغلق مراكز sell، وأمر sell يُغلق مراكز buy)؛ وإذا حُدِّد magic فالمراكز ذات الـ magic نفسه فقط. إذا تعذّر إغلاق الاتجاه المعاكس، لا يُفتح الأمر الجديد.
allowDuplicateلاالقيمة الافتراضية true. false = لا يُفتح أمر جديد ما دام هناك مركز مفتوح في الاتجاه نفسه على الرمز (وبالـ magic نفسه إن حُدِّد). تظهر الإشارة في لوحتك على أنها تم تخطّيها — وهذا ليس خطأ. مع closeOpposite يُغلق الاتجاه المعاكس أولًا، ثم يُجرى هذا الفحص.
commentلاتعليق يُكتب على الأمر المفتوح في MT5. يُستخدم 31 حرفًا كحد أقصى؛ وتتحول الحروف التركية إلى لاتينية (ç ← c)، وتُحذف علامات الاقتباس والرموز التعبيرية.
idلامفتاح منع التكرار (idempotency) — لا يُنفَّذ الـ id نفسه مرتين أبدًا
testلاtrue = تحقّق فقط، دون أمر حقيقي

تُقبل أيضًا صيغ كتابة بديلة: close_opposite، closeopposite، magicNumber، magic_number، allow_duplicate — وكذلك قيم نصية مثل "true" أو "false" أو "1001".

أمثلة

بيع (sell)

{ "action": "sell", "symbol": "XAUUSD", "volume": 0.05 }

إغلاق مركز مفتوح

{ "action": "close", "symbol": "EURUSD" }

إغلاق مراكز استراتيجية واحدة فقط (magic)

{ "action": "close", "symbol": "XAUUSD", "magic": 1001 }

قيم ديناميكية (متغيرات TradingView)

يستبدل TradingView القيم {{ticker}} و{{strategy.order.action}} و{{close}} وغيرها لحظة الإرسال:

{ "action": "{{strategy.order.action}}", "symbol": "{{ticker}}", "volume": 0.01 }

عكس الاستراتيجية (تنبيه واحد للشراء والبيع)

يتبع تنبيه استراتيجية واحد رسمك البياني على MT5: عندما تتحول الاستراتيجية إلى long، تُغلق مراكز sell الخاصة بالـ magic 1001 ويُفتح أمر buy؛ وعندما تتحول إلى short، يحدث العكس. لا يُفتح أبدًا مركز ثانٍ في الاتجاه نفسه.

{
  "action": "{{strategy.order.action}}",
  "symbol": "{{ticker}}",
  "volume": 0.01,
  "magic": 1001,
  "closeOpposite": true,
  "allowDuplicate": false,
  "comment": "TV strateji A",
  "id": "{{timenow}}"
}

مثال Pine Script

استخدم الاستدعاء alert() لكي تُرسَل الرسالة (ملف JSON الخاص بك) إلى الـ webhook عند تحقق الشروط:

//@version=5
strategy("etrink signal", overlay=true)

fast = ta.sma(close, 10)
slow = ta.sma(close, 30)

if ta.crossover(fast, slow)
    strategy.entry("Long", strategy.long)
    alert('{"action":"buy","symbol":"EURUSD","volume":0.01}',
          alert.freq_once_per_bar_close)

if ta.crossunder(fast, slow)
    strategy.close("Long")
    alert('{"action":"close","symbol":"EURUSD"}',
          alert.freq_once_per_bar_close)

اختبر بأمان

أضف "test": true إلى أي رسالة (أو استخدم زر إشارة تجريبية في اللوحة). تُنفَّذ جميع الفحوصات، ويُسجَّل الحدث بوصفه test، لكن لا يُوضع أي أمر حقيقي.

الأمان والموثوقية. يمكن ربط المفتاح بحساب واحد، بحيث لا تؤثر إشاراته إلا في ذلك الحساب. إذا كان ذلك الحساب متوقفًا، فإن الإشارة الواردة التالية تعيد تشغيله تلقائيًا — وبذلك تستمر أتمتتك في العمل. لا تشارك رابط الـ webhook الخاص بك أبدًا.

استكشاف الأخطاء وإصلاحها

  • «symbol not allowed» (الرمز غير مسموح به) — الرمز غير موجود في قائمتك المسموح بها، أو يختلف اسمه لدى وسيطك (مثل EURUSD.m).
  • «no running instance» (لا توجد نسخة قيد التشغيل) — الحساب المرتبط متوقف؛ سيُعاد تشغيله تلقائيًا، ثم أعد الإرسال.
  • رُفض الحجم — أعلى من الحد الخاص بالحساب؛ خفّض قيمة volume أو ارفع الحد.
  • الإشارة «تم تخطّيها» — allowDuplicate: false وكان هناك مركز مفتوح بالفعل في الاتجاه نفسه؛ وهذا سلوك متوقع.
  • يظهر كل استدعاء في صفحة الإشارات في لوحتك مع حالته ونتيجته (رقم التذكرة أو الخطأ) وملف JSON الخام — تحقّق من هناك أولًا.

هل تحتاج إلى مساعدة؟ [email protected]