أهم النقاط
Pine Script هي لغة البرمجة المضمنة في TradingView لإنشاء مؤشرات فنية مخصصة واستراتيجيات تداول مباشرة داخل المتصفح.
Pine Script v6 هو الإصدار الحالي. وهو مبني على مساحة "ta" في v5 (مثل ta.ema() وta.rsi())، ويضيف نظام أنواع أكثر صرامة، ويفعّل طلبات البيانات الديناميكية افتراضياً، ويتضمن محوّل كود مدمج لمساعدتك على ترحيل البرامج القديمة.
يمكنك إنشاء مؤشرات بسيطة مثل SMAs وEMAs والشموع الملوّنة في بضعة أسطر فقط من الكود.
يتيح تبويب Strategy Tester في TradingView اختبار الاستراتيجيات المخصصة مقابل بيانات تاريخية للأسعار للتحقق من العيوب المنطقية.
لا يلزم تثبيت أي برنامج. يعمل Pine Script بالكامل داخل محرر الويب الخاص بـ TradingView.
مقدمة
يعتمد التحليل الفني الفعّال على توفر الأدوات المناسبة للمهمة. يُعد TradingView أحد أكثر منصات رسم المخططات استخداماً لأسواق العملات الرقمية والفاكس والاسهم، ويأتي مع مجموعة كبيرة من المؤشرات المضمنة. لكن ما يميّزه هو مقدار ما يمكنك تخصيصه.
Pine Script هي لغة البرمجة الخاصة بـ TradingView. تتيح لك إنشاء مؤشرات مخصصة والتنبيهات والاستراتيجيات التي تعمل مباشرةً على مخططاتك. يرشدك هذا الدليل إلى أساسيات Pine Script v6، وهو الإصدار الحالي، مع شرح كيفية إعداد أول برنامج لك ورسم المؤشرات ودمجها في أداة قابلة لإعادة الاستخدام.
ما هو Pine Script؟
Pine Script هي لغة برمجة خفيفة طورتها TradingView. تكتب البرامج داخل Pine Editor، والذي تم دمجه ضمن واجهة TradingView. عند النقر على Add to Chart، يتم تشغيل برنامجك على خوادم TradingView ويظهر الناتج مباشرةً على مخططك. لا توجد عمليات تنزيل أو تثبيت مطلوبة.
Pine Script v6 هو الإصدار الحالي وهو الذي ينبغي استخدامه لأي برامج جديدة. وهو مبني على بناء الجملة النظيف ومساحة ta namespace التي تم تقديمها في v5، ويضيف عدة تحسينات: نظام أنواع أكثر صرامة، وتفعيل طلبات البيانات الديناميكية افتراضياً، ومعالجة الدوال بشكل أفضل ومنظم. تتضمن اللغة دليلاً شاملاً للمستخدم ومجتمعاً كبيراً من البرامج المنشورة التي يمكنك تصفحها على TradingView.
ما الجديد في Pine Script v6؟
إذا كنت قد استخدمت Pine Script v5 من قبل، فإليك أبرز التغييرات الأكثر أهمية عملياً في v6:
نظام أنواع أكثر صرامة: في v5، يمكن استخدام القيم الرقمية (int وfloat) بشكل ضمني كقيم منطقية (booleans) داخل الشروط. في v6 لم يعد ذلك مسموحاً. إذا كانت شرطك يستخدم رقماً، يجب أن تقوم بتحويله صراحةً باستخدام دالة bool(). هذا يجعل الكود أقل غموضاً وأسهل في التصحيح.
طلبات ديناميكية افتراضياً: في v5، كان يجب وضع استدعاءات دوال request.*() (مثل request.security()) في النطاق العام (global scope) وكانت تتطلب وسائط ثابتة للرمز والفترة الزمنية. في v6، تم تفعيل الطلبات الديناميكية افتراضياً، ما يعني أنه يمكنك استدعاء request.*() داخل الحلقات وكتل الشرط، وتمرير قيم السلاسل (series) كوسائط. وهذا يوسّع بشكل كبير ما يمكن أن تفعله البرامج متعددة الرموز ومتعددة الفترات.
محول مدمج من v5 إلى v6: يمكن لمحرر Pine تحويل برنامج v5 إلى v6 تلقائياً. افتح قائمة "Manage script" وحدد "Convert code to v6". يتعامل المحول مع معظم التغييرات تلقائياً، لكن بعض الحالات قد تتطلب مراجعة يدوية.
سلاسل متعددة الأسطر (أبريل 2026): يدعم v6 الآن حرفيات السلاسل متعددة الأسطر باستخدام محددات الاقتباس الثلاثي (""" أو '''). يجعل ذلك من السهل كتابة التسميات والأدوات التلميحية ورسائل السجل عبر عدة أسطر دون استخدام تسلسل الهروب \n.
تظل الإصدارات الأقدم من Pine Script (v3 وv4 وv5) قابلة للتنفيذ على TradingView، لكن تم الآن إهمال v5 ويوصى باستخدام v6 لجميع البرامج الجديدة.
إعداد TradingView
يمكنك البدء بحساب TradingView مجاني. افتح مخططاً لأي أصل مثل BTC/USDT وابحث عن أيقونة Pine Editor في شريط الأدوات على اليمين. انقر عليها لفتح محرر الكود.
عند النقر على Add to Chart، يتم تشغيل البرنامج وتظهر النتائج على مخططك النشط. لإزالة برنامج، انقر بزر الماوس الأيمن في أي مكان على المخطط واختر Remove Indicators. يساعد إبقاء المخطط نظيفاً بين الأمثلة على رؤية كل نتيجة بوضوح.
Pine Editor
يأتي Pine Editor مع برنامج افتراضي من سطرين. إليك مثالاً بسيطاً في Pine Script v6:
//@version=6 indicator("برنامجي", overlay=true) plot(close) |
دالة indicator() تُعرّف البرنامج. في v5 وv6، تستبدل هذه الدالة دالة study() القديمة المستخدمة في v4 والإصدارات الأقدم. يُحدّد معامل overlay=true عرض النتيجة على المخطط الرئيسي بدلاً من لوحة منفصلة أسفل الشاشة. يرسم plot(close) خطاً باستخدام سعر الإغلاق لكل شمعة.
رسم مخططات الشموع (Candlestick)
يوضح مخطط الخطوط أسعار الإغلاق، لكن مخططات الشموع تعرض معاً الفتح، والأعلى، والأدنى، والإغلاق، ما يمنحك معلومات أكبر عن حركة السعر. إليك كيفية رسم شموع ملوّنة:
//@version=6 indicator("شموع ملوّنة", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors) |
يتحقق هذا البرنامج من كل شمعة: إذا كان سعر الفتح أكبر من أو يساوي سعر الإغلاق، تصبح الشمعة حمراء (تحرك السعر إلى الأسفل). إذا كان الإغلاق أعلى من الفتح تصبح الشمعة خضراء. هذه هي اتفاقية الألوان القياسية المستخدمة في معظم برامج الرسم البياني.
رسم المتوسطات المتحركة
تُنعّم المتوسطات المتحركة بيانات السعر على عدد محدد من الفترات، ما يجعل تحديد الاتجاه أسهل. يتضمن Pine Script v6 دوالًا מובنية لكل من المتوسط البسيط (SMA) والمتوسط الأسي (EMA) ضمن مساحة ta.
المتوسط المتحرك البسيط (SMA)
يحسب SMA متوسط أسعار الإغلاق خلال عدد محدد من الفترات. لرسم SMA لمدة 10 فترات:
plot(ta.sma(close, 10)) |
يؤثر تغيير عدد الفترات على نافذة الملاحظة (look-back). فكلما كانت الفترة أطول، كان الخط أكثر سلاسة ويستجيب بشكل أبطأ للتغيرات الحديثة.
المتوسط المتحرك الأسي (EMA)
يمنح المتوسط المتحرك الأسي (EMA) وزناً أكبر للأسعار الأحدث باستخدام مضاعف محسوب كالتالي: 2 / (length + 1). وهذا يجعله أكثر استجابة لتغيرات الأسعار الحديثة مقارنةً بـ SMA. لرسم كليهما جنباً إلى جنب:
//@version=6 indicator("SMA مقابل EMA", overlay=true) plot(ta.sma(close, 10)) plot(ta.ema(close, 10)) |
ستلاحظ فرقاً بسيطاً: يتابع EMA حركة السعر بشكل أقرب في الأسواق السريعة، بينما يتأخر SMA قليلاً.
برامج مدمجة (جاهزة)
يتضمن TradingView نسخاً جاهزة من العديد من المؤشرات. في Pine Editor، انقر على New واختر مؤشراً مثل Moving Average Exponential لعرض كوده المصدري. غالباً ما تستخدم هذه البرامج دوال إدخال مهيكلة مثل input.int() أو input.float()، والتي تنشئ لوحات إعدادات تفاعلية على المخطط. وهذا يسمح لك بتغيير المعلمات مثل length دون تعديل الكود.
رسم مؤشر القوة النسبية (RSI)
يقيس مؤشر RSI سرعة وحجم التغيرات الأخيرة في السعر. ينتج قيمة بين 0 و100. غالباً ما ترتبط القراءات فوق 70 بحالات قد تكون "مفرطة الشراء"، بينما قد تشير القراءات تحت 30 إلى حالات قد تكون "مفرطة البيع". هذه مستويات مرجعية عامة وليست ضمانات لاتجاه السعر.
في Pine Script v6، تكون دالة RSI هي ta.rsi(close, length). لإضافة استراتيجية RSI جاهزة، انقر New > RSI Strategy في Pine Editor. سيؤدي ذلك إلى إضافة علامات اتجاهية على المخطط بناءً على عتبات RSI، وتحويل العرض إلى تبويب Strategy Tester.
عادةً ما يُقاس RSI على 14 فترة، لكن يمكنك تعديل هذه القيمة لتناسب طريقتك. تنتج الفترات الأطول مؤشراً أكثر سلاسة مع إشارات أقل؛ بينما تكون الفترات الأقصر أكثر حساسية.
اختبار استراتيجيتك (Backtesting)
يتضمن Pine Script وضع strategy() الذي يتيح لك اختبار القواعد مقابل بيانات تاريخية للأسعار. إليك مثالاً إطارياً يستخدم متغيرات إدخال حتى تتمكن من تعديل المستويات على المخطط دون تعديل الكود:
//@version=6 strategy("استراتيجية أساسية", overlay=true) entryLevel = input.int(defval=30000, title="سعر الدخول") exitLevel = input.int(defval=32000, title="سعر الخروج") if close <= entryLevel strategy.entry("Long", strategy.long) if close >= exitLevel strategy.close_all(comment="Exit") |
بعد إضافة هذا إلى المخطط، يفتح TradingView تبويب Strategy Tester. يعرض ذلك سجلاً بالدخول والخروج وإحصاءات ملخصة بناءً على بيانات تاريخية للأسعار. لا يُعد الأداء السابق مؤشراً موثوقاً للنتائج المستقبلية. يُفيد الاختبار الرجعي في التحقق من منطق الاستراتيجية، لكنه لا يتنبأ بالنتائج المستقبلية.
ملاحظة: في v6، تكون نسبة الهامش الافتراضية الطويلة والقصيرة للاستراتيجيات هي 100%، ويقوم محرك الاستراتيجية بقص أقدم الأوامر بدلاً من إظهار خطأ عندما يتم تجاوز حد 9,000 صفقة. قد تؤثر هذه التغييرات على كيفية مقارنة نتائج الاختبار الرجعي مع نفس البرنامج الذي تم تشغيله في v5.
دمج المؤشرات
أحد أكثر التطبيقات العملية لـ Pine Script هو دمج عدة مؤشرات في عرض مخصص واحد. يوضح البرنامج التالي كيف تُلوّن الشموع بناءً على شروط EMA وRSI معاً:
//@version=6 indicator("شموع EMA + RSI", overlay=true) emaLength = input.int(title="طول EMA", defval=25, minval=1) rsiLength = input.int(title="طول RSI", defval=25, minval=1) emaVal = ta.ema(close, emaLength) rsiVal = ta.rsi(close, rsiLength) colors = (close > emaVal and rsiVal > 50) ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors) |
يُلوّن هذا الشمعة باللون الأخضر عندما يكون سعر الإغلاق أعلى من EMA وكانت قيمة RSI أعلى من 50، وباللون الأحمر بخلاف ذلك. تنشئ دوال input.int() لوحات إعدادات على المخطط حتى تتمكن من تعديل كلا الطولين بشكل تفاعلي. يجعل هذا النوع من التصور من السهل ملاحظة وقت تطابق الشرطين على نفس الشمعة.
يجب ألا تُعامل هذه المعلومات على أنها نصيحة مالية، ولا تُزيل أي تركيبة للمؤشرات عدم اليقين عن التداول. استخدم البرامج المخصصة كجزء من عملية بحث وتحليل أوسع.
الأسئلة الشائعة
ما إصدار Pine Script الذي يجب أن أستخدمه؟
إن Pine Script v6 هو الإصدار الحالي وهو الذي يجب استخدامه لأي برامج جديدة. ما تزال الإصدارات الأقدم مثل v5 مدعومة لكنها مُهملة. إذا كان لديك برنامج v5 موجود، يتضمن Pine Editor محولاً مدمجاً: افتح قائمة "Manage script" واختر "Convert code to v6".
ماذا حدث لدالة study()؟
تمت إعادة تسمية دالة study() إلى indicator() في Pine Script v5، وما زال ذلك مستمراً في v6. تؤدي الدالة الغرض نفسه: تحديد اسم البرنامج وخصائص مثل ما إذا كان يعرض فوق المخطط الرئيسي أم يظهر في لوحة منفصلة. إذا رأيت برامج قديمة تستخدم study()، فهي مكتوبة في v4 أو الإصدارات الأقدم.
هل يمكنني استخدام Pine Script مجاناً؟
نعم. يتوفر محرر Pine ووظائف Pine الأساسية على جميع خطط TradingView بما في ذلك الخطة المجانية. بعض الميزات، مثل تشغيل عدة برامج في وقت واحد، تتطلب خطة مدفوعة. كتابة واختبار البرامج المخصصة لا تتطلب اشتراكاً.
ما هي مساحة ta namespace في Pine Script؟
تم تقديم مساحة ta في Pine Script v5 وتستمر في v6. أصبحت دوال التحليل الفني المضمنة التي كانت تُستدعى مباشرةً مثل ema() وsma() وrsi() تُستخدم الآن عبر ta.ema() وta.sma() وta.rsi(). وهذا يجعل الكود أكثر وضوحاً وأسهل للقراءة من لمحة سريعة.
ماذا تغير في Pine Script v6 للاستراتيجيات؟
تم تغيير بعض الإعدادات الافتراضية في استراتيجيات v6. أصبحت نسبة الهامش الافتراضية لكل من المراكز الطويلة والقصيرة هي الآن 100%. كما أن محرك الاستراتيجية يقص أقدم الأوامر عندما يتم تجاوز حد 9,000 صفقة، بدلاً من رمي خطأ. إذا كنت تترحل استراتيجية من v5 إلى v6، راجع نتائج الاختبار الرجعي لأن هذه التغييرات قد تؤثر على إحصاءات الأداء.
هل الاختبار الرجعي موثوق للتنبؤ بالأداء المستقبلي؟
لا. يُظهر الاختبار الرجعي كيف كانت الاستراتيجية ستؤدي على البيانات التاريخية، وليس كيف ستؤدي مستقبلاً. تتغير الأسواق، وقد لا تتكرر الظروف التي حدثت في الماضي. يُفيد الاختبار الرجعي في تحديد العيوب المنطقية في الاستراتيجية، لكنه لا ينبغي استخدامه كقاعدة وحيدة لأي قرار تداول.
خلاصة أخيرة
يُسهّل Pine Script v6 بناء واختبار المؤشرات المخصصة على TradingView دون أي برامج خارجية أو عمليات تثبيت. بدءاً من برامج بسيطة ثم إضافة تعقيد تدريجياً هو أسلوب عملي لتعلم اللغة. تُعد المكتبة المدمجة لمثاليات Pine Editor وتحويل v5 إلى v6 المُدمج نقاط بداية مفيدة لأي شخص يقوم بالترقية من إصدار أقدم.
تُعد المؤشرات أدوات للتحليل وليست إشارات تضمن نتائج محددة. لا تُزيل أي تركيبة للمؤشرات عدم اليقين عن التداول. استخدم Pine Script كجزء من عملية بحث أوسع، وخذ دائماً إدارة المخاطر كجزء أساسي من أي استراتيجية.
قراءات إضافية
ما هو التحليل الفني؟
ما هو مؤشر RSI؟
شرح المتوسطات المتحركة
دليل المبتدئين إلى مخططات الشموع اليابانية
دليل المبتدئين إلى TradingView
إخلاء المسؤولية: يُقدَّم هذا المحتوى لك "كما هو" لأغراض المعلومات العامة والتعليم فقط، دون أي تمثيل أو ضمان من أي نوع. ولا ينبغي تفسيره على أنه نصيحة مالية أو قانونية أو غيرها من النصائح المهنية، كما أنه لا يُقصد به التوصية بشراء أي منتج أو خدمة محددة. يجب عليك طلب نصيحتك الخاصة من مستشارين مهنيين مناسبين. وعندما يتم المساهمة بهذا المحتوى من طرف مساهم من طرف ثالث، فيرجى ملاحظة أن الآراء المعبر عنها تخص ذلك المساهم من طرف ثالث، ولا تعكس بالضرورة آراء Binance Academy. قد تكون أسعار الأصول الرقمية متقلبة. قد تنخفض قيمة استثمارك أو ترتفع وقد لا تتمكن من استرداد المبلغ المستثمر. أنت وحدك المسؤول عن قرارات الاستثمار الخاصة بك ولا تتحمل Binance Academy أي مسؤولية عن أي خسائر قد تتكبدها. لمزيد من المعلومات، راجع شروط الاستخدام والتحذير من المخاطر وشروط Binance Academy.
