لغة Pine Script: مؤشرك الأول على TradingView

هل سئمتم من المؤشرات العامة؟ يزيل هذا الدليل الغموض عن لغة Pine Script، ويوضح لكم كيفية ترجمة أفكار التداول الفريدة الخاصة بكم إلى أداة مرئية مخصصة على مخطط TradingView. ابنوا ميزتكم اليوم.

Amara Okafor

Amara Okafor

استراتيجي التكنولوجيا المالية

ترجمة بواسطة
Nour HaddadNour Haddad
١٢ مارس ٢٠٢٦
16 دقيقة للقراءة
A sleek, modern image showing a trading chart with custom-looking indicators overlaid. A stylized code snippet of Pine Script is faintly visible in the foreground, blending into the chart.

هل سئمتم من الاعتماد على نفس المؤشرات القديمة، التي غالبًا ما تكون متأخرة، والتي يستخدمها كل متداول آخر؟ في أسواق الفوركس الديناميكية اليوم، لا تعد الميزة الفريدة مجرد أفضلية - بل هي ضرورة. تخيلوا أن تكونوا قادرين على ترجمة أفكار التداول الخاصة بكم، ورؤاكم الفريدة، مباشرة إلى أداة مرئية على مخطط TradingView الخاص بكم. لا يتعلق الأمر فقط بتعديل مؤشر موجود؛ بل ببناء أداة مخصصة تعكس استراتيجيتكم تمامًا، مما يمنحكم منظورًا مميزًا لا يمكن للأدوات القياسية تقديمه. سيمكّنكم هذا الدليل من اتخاذ تلك الخطوة الأولى الحاسمة، حيث يزيل الغموض عن لغة Pine Script ويوضح لكم كيفية كتابة أول مؤشر مخصص لكم، محولًا نهج تداولكم من رد الفعل إلى استباقي وشخصي حقًا.

أطلقوا العنان لميزتكم: أساسيات Pine Script للمؤشرات المخصصة

فكروا في Pine Script على أنها خطكم المباشر إلى قلب TradingView. إنها لغة البرمجة التي تشغل معظم مؤشرات واستراتيجيات المنصة. من خلال تعلم القليل منها فقط، تنتقلون من كونكم مستخدمًا سلبيًا للأدوات إلى صانع نشط. المؤشرات القياسية مثل RSI أو MACD رائعة، لكنها تظهر لكم نفس المعلومات التي تظهرها لملايين المتداولين الآخرين. ماذا لو كانت استراتيجيتكم تتضمن مزيجًا فريدًا من المتوسطات المتحركة أو شرطًا محددًا يعتمد على الحجم؟ هنا يمنحكم بناء مؤشر مخصص ميزة قوية وشخصية.

ما هي لغة Pine Script وما أهميتها؟

Pine Script هي لغة خفيفة الوزن قائمة على السحابة صممتها TradingView خصيصًا لإنشاء أدوات تحليل فني مخصصة. لا تحتاجون إلى تثبيت أي برنامج؛ كل شيء يحدث مباشرة في متصفحكم في علامة التبويب 'Pine Editor' أسفل المخطط.

الفائدة الأساسية؟ إنها تتيح لكم تدوين قواعد التداول الخاصة بكم. بدلًا من مجرد مراقبة تقاطع متوسط متحرك سريع مع آخر بطيء بالعين، يمكنكم كتابة نص برمجي يرسم تلك العلاقة، ويلون المخطط بناءً على الشرط، وحتى يرسل لكم تنبيهًا. الأمر يتعلق بخلق الدقة وإزالة التخمين.

أول سطر كود لكم: الهيكل الأساسي

يبدأ كل مؤشر في Pine Script بنفس الهيكل الأساسي. إنه بسيط ونظيف وسهل الفهم. دعونا نحلل 'Hello, World!' في Pine Script: رسم سعر إغلاق كل شمعة.

افتحوا محرر Pine Editor في TradingView واكتبوا هذا:

//@version=5
indicator("My First Script", overlay=true)

plot(close)

دعونا نحلل ذلك:

  1. //@version=5: هذا إلزامي. يخبر TradingView بإصدار Pine Script الذي تستخدمونه. الإصدار 5 هو الأحدث والأفضل، لذا سنلتزم به. للتعمق أكثر، يعد توثيق TradingView Pine Script v5 الرسمي مصدرًا ممتازًا.
  2. indicator("My First Script", overlay=true): تعلن هذه الدالة أننا نصنع مؤشرًا. نعطيه اسمًا ("My First Script") ونخبره أن overlay=true، مما يعني أنه سيرسم مباشرة فوق مخطط السعر بدلاً من لوحة منفصلة أدناه.
A split-screen image. On the left, a standard, cluttered trading chart with multiple default indicators. On the right, a clean chart with a single, clear custom indicator highlighting a specific condition (e.g., a crossover).
To visually contrast the confusion of standard tools with the clarity and edge provided by a custom-built indicator, reinforcing the article's core premise.
  1. plot(close): هذا هو الإجراء. ترسم دالة plot() خطًا على المخطط. ماذا نرسم؟ المتغير المدمج close، الذي يمثل سعر إغلاق كل شريط.

انقروا على 'Add to Chart'، وتهانينا! لقد أنشأتم للتو أول مؤشر مخصص لكم. إنه خط بسيط يتتبع سعر الإغلاق تمامًا.

تسخير البيانات: OHLCV والدوال المدمجة

الآن بعد أن بنيتم الهيكل الأساسي، حان الوقت لبدء العمل مع المكونات الأساسية لأي مؤشر: بيانات السعر. تمنحكم Pine Script وصولاً فوريًا إلى نقاط البيانات الأساسية لكل شريط على مخططكم.

الوصول إلى بيانات السعر: اللبنات الأساسية

تحتوي Pine Script على العديد من المتغيرات المدمجة التي تحمل معلومات السعر. لقد تعرفتم بالفعل على close. إليكم أصدقاؤه:

  • open: سعر افتتاح الشريط.
  • high: أعلى سعر للشريط.
  • low: أدنى سعر للشريط.
  • close: سعر إغلاق الشريط.
  • volume: حجم التداول للشريط.

هذه المتغيرات هي بيانات 'سلاسل'، وهي عبارة عن تسلسل من القيم بمرور الوقت. عندما تستخدمون close، فإنكم لا تحصلون على رقم واحد فقط؛ بل تحصلون على سعر الإغلاق للشريط الحالي، والذي قبله، والذي قبله، وهكذا.

الدوال المدمجة الأساسية للحسابات

هنا يحدث السحر. تأتي Pine Script محملة بدوال تحليل فني مسبقة الصنع، مما يوفر عليكم الرياضيات المعقدة. العائلة الأكثر شيوعًا من الدوال هي للمتوسطات المتحركة، وتوجد تحت مساحة الاسم ta (التحليل الفني).

دعونا نطور نصنا البرمجي لرسم متوسط متحرك بسيط (SMA) لمدة 20 فترة.

//@version=5
indicator("My SMA", overlay=true)

// 1. Calculate the 20-period SMA of the closing price
sma20 = ta.sma(close, 20)

// 2. Plot the result
plot(sma20)

إليكم التفصيل:

  • sma20 = ta.sma(close, 20): ننشئ متغيرًا جديدًا يسمى sma20. نسند إليه نتيجة دالة ta.sma(). تأخذ هذه الدالة وسيطين: مصدر البيانات (close) والطول (20).
  • plot(sma20): بدلاً من رسم سعر الإغلاق الخام، نرسم الآن خط SMA المحسوب.
A screenshot of the TradingView interface with the Pine Editor open at the bottom. The simple `plot(close)` script is visible in the editor, and an arrow points from the code to the resulting line on the main chart.
To provide a clear, step-by-step visual guide for the reader's very first script, connecting the code directly to its visual output on the chart.

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

المؤشرات الديناميكية: مدخلات المستخدم للمرونة

يعمل الترميز الثابت لقيم مثل 20 لطول SMA، لكنه غير مرن. ماذا لو أردتم اختبار SMA لمدة 50 فترة؟ أو 200 فترة؟ سيتعين عليكم تعديل الكود في كل مرة. هنا يأتي دور مدخلات المستخدم - فهي تجعل مؤشركم تفاعليًا وقويًا حقًا.

جعل مؤشركم تفاعليًا باستخدام المدخلات

تسمح لكم المدخلات بإنشاء إعدادات لمؤشركم يمكن تغييرها مباشرة من المخطط، دون لمس الكود. هكذا تُبنى جميع المؤشرات الاحترافية. الدالة الأساسية لهذا هي input().

لنجعل طول SMA الخاص بنا قابلاً للتخصيص.

//@version=5
indicator("My Custom SMA", overlay=true)

// 1. Create a user input for the SMA length
smaLength = input.int(20, title="SMA Length")

// 2. Calculate the SMA using the user's input
customSma = ta.sma(close, smaLength)

// 3. Plot the result
plot(customSma, color=color.blue)

لاحظوا التغيير:

  • smaLength = input.int(20, title="SMA Length"): بدلاً من رقم ثابت، نستخدم input.int(). هذا ينشئ مدخلاً من نوع عدد صحيح. القيمة الأولى، 20، هي القيمة الافتراضية. title هو ما سيراه المستخدم في قائمة الإعدادات.
  • ta.sma(close, smaLength): نستخدم الآن متغير smaLength الخاص بنا في حساب SMA.

أمثلة عملية للمدخلات: تخصيص المعلمات

بمجرد إضافة هذا إلى مخططكم، مرروا مؤشر الفأرة فوق اسم المؤشر وانقروا على أيقونة الترس 'Settings'. سترون علامة تبويب 'Inputs' بها حقل يسمى "SMA Length" مضبوط على 20. غيروه إلى 50، انقروا على 'OK'، وشاهدوا مؤشركم يتحدث على الفور. هذا يغير قواعد اللعبة لاختبار وتكييف استراتيجيتكم.

هناك أنواع مختلفة من المدخلات لاحتياجات مختلفة:

  • input.int(): للأعداد الصحيحة (مثل فترات المؤشر).
  • input.float(): للأعداد العشرية (مثل نسبة مئوية لوقف الخسارة، مثل 0.5).
  • input.source(): للسماح للمستخدم باختيار مصدر البيانات (مثل close، open، high).

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

أتقنوا المرئيات واستكشفوا الأخطاء كالمحترفين

المؤشر الرائع لا يتعلق فقط بالحسابات الدقيقة؛ بل يجب أن يكون سهل القراءة والتفسير بلمحة. تمنحكم Pine Script تحكمًا كاملاً في مظهر رسوماتكم. وعندما تسوء الأمور - وهو ما سيحدث - فإن معرفة كيفية تصحيح الأخطاء هي مهارة حاسمة.

A screenshot of the 'Settings' dialog box for the custom SMA indicator. The 'SMA Length' input field is highlighted, with the user changing the value from 20 to 50.
To visually demonstrate the power and ease of using user inputs, showing readers exactly where they can customize the indicator without touching the code.

تحسين قابلية القراءة مع تخصيص الرسم

يمكن أن تأخذ دالة plot() العديد من الوسائط أكثر من مجرد سلسلة البيانات. يمكنكم تخصيص اللون والنمط والسمك لجعل مرئياتكم بارزة. لنقم بإنشاء مؤشر تقاطع متوسطات متحركة كلاسيكي مع اثنين من SMAs وتصميمهما بشكل مختلف.

//@version=5
indicator("SMA Crossover", overlay=true)

// Inputs
fastLength = input.int(20, title="Fast SMA Length")
slowLength = input.int(50, title="Slow SMA Length")

// Calculations
fastSma = ta.sma(close, fastLength)
slowSma = ta.sma(close, slowLength)

// Plotting with Customization
plot(fastSma, title="Fast SMA", color=color.new(color.orange, 0), linewidth=2)
plot(slowSma, title="Slow SMA", color=color.new(color.purple, 0), linewidth=2)

إليكم ما أضفناه:

  • رسومات متعددة: لدينا الآن استدعاءان لدالة plot()، واحد لـ SMA السريع والآخر للبطيء.
  • اللون: color=color.new(color.orange, 0) يضبط لون الخط. color.new() يسمح لنا بضبط الشفافية (0 معتم، 100 غير مرئي).
  • عرض الخط: linewidth=2 يجعل الخط أكثر سمكًا وأسهل في الرؤية.

تصحيح أخطاء النص البرمجي: الأخطاء الشائعة والحلول

عاجلاً أم آجلاً، ستنقرون على 'Add to Chart' وستستقبلكم رسالة خطأ حمراء في وحدة التحكم. لا داعي للذعر! هذا جزء طبيعي من البرمجة.

تحذير: الأخطاء الأكثر شيوعًا للمبتدئين هي الأخطاء المطبعية البسيطة. فاصلة مفقودة، اسم دالة مكتوب بشكل خاطئ (ta.sma مقابل ta.smaa)، أو قوس منسي ) يمكن أن يكسر النص البرمجي الخاص بكم.

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

  1. اقرأوا رسالة الخطأ: وحدة التحكم في الجزء السفلي من محرر Pine Editor هي أفضل صديق لكم. غالبًا ما ستخبركم بالضبط بالسطر الذي به المشكلة وتعطيكم تلميحًا حول الخطأ (على سبيل المثال، Syntax error at input 'plot').
  2. تحققوا من الأخطاء المطبعية: أعيدوا قراءة السطر المذكور في الخطأ بعناية. قارنوه بالتوثيق أو أمثلتنا.
  3. عدم تطابق الأنواع: خطأ شائع في وقت التشغيل هو محاولة استخدام بيانات من النوع الخاطئ، مثل إعطاء string (نص) حيث يُتوقع number (رقم). عادة ما تشير رسالة الخطأ إلى ذلك.

تعلم قراءة هذه الأخطاء يشبه تعلم لغة جديدة. في البداية، تكون غامضة، ولكن سرعان ما ستتعرفون على المذنبين الشائعين وتصلحونهم في ثوانٍ. هذه المهارة ضرورية لأي شخص يتطلع إلى المضي قدمًا، ربما حتى في مجالات أكثر تعقيدًا مثل تداول الفوركس عبر API لأتمتة استراتيجيتكم.

من الكود إلى المخطط: نشر وصقل مؤشركم

لقد كتبتم الكود، وأضفتم المدخلات، وصممتم رسوماتكم. الخطوة الأخيرة هي جعل أداتكم الجديدة جزءًا دائمًا من ترسانة TradingView الخاصة بكم وفهم عملية التحسين المستمر.

حفظ النص البرمجي وإضافته إلى TradingView

بمجرد أن تكونوا راضين عن النص البرمجي في محرر Pine Editor، تكون العملية بسيطة:

An infographic-style diagram showing a circular flow: 1. Idea (a lightbulb), 2. Code (Pine Editor), 3. Test (a chart with the indicator), 4. Refine (a wrench icon), leading back to Idea.
To summarize the iterative development process discussed in the final section, encouraging readers to view indicator creation as a continuous cycle of improvement.
  1. انقروا على 'Save': في أعلى يمين محرر Pine Editor، انقروا على زر 'Save'. أعطوا النص البرمجي اسمًا يسهل تذكره.
  2. ابحثوا عن النص البرمجي: انقروا على زر 'Indicators' في أعلى المخطط. في النافذة التي تظهر، انتقلوا إلى قسم 'My scripts'.
  3. أضيفوا إلى المخطط: سترون النص البرمجي المحفوظ في القائمة. انقروا عليه مرة واحدة لإضافته إلى مخططكم النشط.

هذا كل شيء! تم الآن حفظ مؤشركم المخصص في حساب TradingView الخاص بكم. يمكنكم إضافته إلى أي مخطط، على أي جهاز، تمامًا مثل أي مؤشر مدمج. يمكنكم حتى مشاركته مع متداولين آخرين إذا اخترتم ذلك.

عملية التحسين التكرارية: اختبروا، صقلوا، انجحوا

نادرًا ما تكون نسختكم الأولى هي النسخة النهائية. تكمن القوة الحقيقية لبناء أدواتكم الخاصة في القدرة على تكييفها كلما تعلمتم المزيد عن السوق. تبدو رحلة المؤشر كما يلي:

  • الاختبار: طبقوا مؤشركم على أصول وأطر زمنية مختلفة. هل يتصرف كما تتوقعون على زوج متقلب مثل GBP/JPY وكذلك على مؤشر يتجه مثل US30؟ كيف يبدو على مخطط 15 دقيقة مقابل مخطط يومي؟
  • الملاحظة: راقبوا أداء المؤشر في ظروف السوق الحية. هل يعطي إشارات مبكرة جدًا؟ متأخرة جدًا؟ هل هو صاخب جدًا في الأسواق المتذبذبة؟
  • الصقل: عودوا إلى محرر Pine Editor. ربما تحتاجون إلى إضافة مرشح آخر، أو تغيير أطوال الإدخال الافتراضية، أو إضافة مدرج تكراري لتصور الزخم. احفظوا النسخة الجديدة وكرروا العملية.

هذه الحلقة التكرارية من الاختبار والصقل هي الطريقة التي تحولون بها نصًا برمجيًا بسيطًا إلى أداة قوية تكمل أسلوب تداولكم حقًا. إنها عملية مستمرة من التعلم والتجريب.

الخلاصة

لقد اتخذتم للتو خطوة هائلة في رحلة تداولكم، متجاوزين الأدوات العامة لصياغة ميزتكم الفريدة. إتقان Pine Script لا يتعلق فقط بالبرمجة؛ بل يتعلق بترجمة حدسكم في التداول إلى استراتيجيات ملموسة ومرئية يمكنها التكيف مع ظروف السوق المتغيرة باستمرار. من خلال فهم أساسيات الهيكل، والوصول إلى البيانات، ومدخلات المستخدم، والتخصيص البصري، تمتلكون الآن القدرة على إنشاء مؤشرات تعكس حقًا نهجكم الشخصي. تذكروا، رحلة تطوير الأدوات المخصصة هي رحلة تكرارية. استمروا في التجربة، استمروا في الصقل، ودعوا رؤاكم الفريدة توجه إبداعاتكم. هل أنتم مستعدون لاستكشاف استراتيجيات متقدمة يمكن أن تلهم مؤشركم المخصص التالي؟ تقدم FXNX ثروة من الموارد والرؤى لمساعدتكم على مواصلة بناء ترسانة التداول الشخصية الخاصة بكم.

ابدأوا في كتابة أول مؤشر Pine Script لكم على TradingView اليوم. استكشفوا استراتيجيات التداول المتقدمة من FXNX لإلهام أداتكم المخصصة التالية والارتقاء بلعبة تداولكم.

الأسئلة الشائعة

ما هي لغة Pine Script؟

Pine Script هي لغة البرمجة الرسمية لـ TradingView. تسمح للمتداولين بإنشاء مؤشرات واستراتيجيات وتنبيهات مخصصة خاصة بهم يمكن إضافتها مباشرة إلى مخططاتهم، مما يتيح تجربة تحليل فني شخصية للغاية.

هل استخدام Pine Script مجاني على TradingView؟

نعم، كتابة واستخدام مؤشرات Pine Script الخاصة بكم مجاني تمامًا على جميع خطط TradingView، بما في ذلك الخطة الأساسية (المجانية). يمكنكم إنشاء وحفظ وإضافة نصوصكم المخصصة إلى مخططاتكم دون أي رسوم اشتراك.

هل يمكنني إجراء اختبار رجعي لمؤشر Pine Script الخاص بي؟

بينما يُستخدم نص indicator للتصور، يمكنكم تحويله إلى نص strategy في Pine Script لإجراء اختبار رجعي. تسمح لكم دالة strategy() بتحديد قواعد الدخول والخروج وتشغيلها على البيانات التاريخية لرؤية مقاييس الأداء.

ما الفرق بين المؤشر والاستراتيجية في Pine Script؟

indicator هو أداة للتحليل البصري؛ يرسم خطوطًا وأشكالًا وألوانًا على مخططكم لمساعدتكم في اتخاذ قرارات التداول (على سبيل المثال، مؤشر تقاطع SMA الخاص بنا). أما strategy فتذهب خطوة أبعد من خلال تضمين منطق التداول (strategy.entry، strategy.exit) الذي يسمح لمحرك الاختبار الرجعي في TradingView بمحاكاة الصفقات وإنتاج تقرير أداء.

مستعد للتداول؟

انضم لآلاف المتداولين على NX One. سبريد ٠.٠، أكثر من 500 أداة.

Share

عن الكاتب

Amara Okafor

Amara Okafor

استراتيجي التكنولوجيا المالية

Amara Okafor is a Fintech Strategist at FXNX, bringing a unique perspective from her background in both London's financial district and Lagos's booming fintech scene. She holds an MBA from the London School of Economics and has spent 6 years working at the intersection of traditional finance and digital innovation. Amara specializes in emerging market currencies and African forex markets, writing with insight that bridges global finance with frontier market opportunities.

Nour Haddad

ترجمة بواسطة

Nour Haddadمترجم

نور حداد مترجمة مالية مبتدئة في FXNX. تحمل تخصصاً مزدوجاً في المالية والترجمة من الجامعة الأمريكية في بيروت، وتكمل حالياً فترة تدريبها في FXNX. تركّز نور على ضمان دقة المصطلحات المالية في الترجمات العربية، وهي ملتزمة بجعل تعليم الفوركس عالي الجودة متاحاً في جميع أنحاء منطقة الشرق الأوسط وشمال أفريقيا.

المواضيع:
  • باين سكريبت
  • مؤشر تريدنج فيو
  • مؤشر مخصص
  • تداول فوركس
  • أساسيات باين سكريبت