كيفية إنشاء مؤشرات التحليل الفني على TradingView
جدول المحتويات
المقدمة
ما هي Pine Script؟
الإعداد
محرر Pine
رسم المتوسطات المتحركة (MA)
رسم مؤشر القوة النسبية (RSI)
إجراء اختبار رجعي
ربط العناصر معاً
أفكار ختامية
كيفية إنشاء مؤشرات التحليل الفني على TradingView
الصفحة الرئيسيةالمقالات
كيفية إنشاء مؤشرات التحليل الفني على TradingView

كيفية إنشاء مؤشرات التحليل الفني على TradingView

متقدم
Published Aug 28, 2020Updated Nov 18, 2021
12m

المقدمة

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

لنبدأ!


ما هي Pine Script؟

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


الإعداد

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

في هذا البرنامج التعليمي، سنقوم بإنشاء مخطط بياني لزوج العملات بيتكوين/Binance USD وهو (BTCBUSD). إذا لم يكن لديك حساب بالفعل، يمكنك المضي قدماً وإنشاء حساب مجاناً (متوفر أيضاً اشتراك احترافي، ولكنه ليس ضرورياً لهذا الدليل). 
اتبع هذا الرابط، وسوف ترى مخطط بياني مشابه لما يلي:


من المحتمل أن يكون مخططك البياني أكثر تطوراً.


نود هنا الحصول على مخطط بياني كامل الميزات – انقر على الزر للوصول إليه. يمنحنا هذا نظرة عامة أكثر تفصيلاً وأدوات الرسم، وكذلك خيارات لرسم خطوط الاتجاهات إلى جانب خصائص أخرى.


مخطط بياني كامل الميزات. يمكنك تعديل الإطار الزمني من خلال النقر على طرق العرض الموجودة أعلى علامات التبويب المميزة.


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


محرر Pine



يتيح لك هذا المحرر مجموعة من الخصائص الساحرة. سنخبرها بما نريد القيام به، ثم النقر على إضافة إلى المخطط البياني لنرى تعليقاتنا تظهر بالأعلى. يرجى الملاحظة أن المخطط البياني قد يصبح غير مرتب في حالة إدخال عدة تعليقات في آن واحد، لذلك سنقوم بإزالتها بين الأمثلة ( انقر بزر الماوس الأيمن على المخطط > إزالة المؤشرات).
يمكنك رؤية أنه لدينا سطرين بالفعل من الرموز. لننقر على إضافة إلى المخطط البياني لمعرفة ماذا يحدث.



يتم إضافة مخطط بياني ثاني أسفل المخطط الأصلي. سيمثل المخطط البياني الجديد نفس البيانات. حرك مؤشر الماوس فوق زر البرنامج النصي الخاص بي وانقر على علامة الحذف لإزالتها. دعونا نناقش الرمز بمزيد من التفاصيل.
study("My Script")
يعمل السطر الأول على إعداد تعليقاتنا. وهو يتطلب فقط الاسم الذي ترغب في تسمية المؤشر به ("My Script"، في هذه الحالة)، ولكن يوجد أيضاً بعض المتغيرات الاختيارية التي يمكننا إضافتها. ويعد التراكب أحد هذه المتغيرات، الذي يخبر المنصة بوضع المؤشر على المخطط البياني الحالي (بدلاً من وضعه في قطاع جديد). فكما يمكنك أن ترى في المثال الأول، يتم تعينه افتراضياً على أنه  خاطئ. لذلك، لن نراه قيد التشغيل الآن، يضيفoverlay=true المؤشر على المخطط البياني الحالي.
plot(close)
يعد هذا السطر بمثابة التعليمات لرسم سعر إغلاق البيتكوين. يمنحنا الرسم مخطط بياني خطي، ولكن يمكننا عرض مخططات حركة الأسعار والشرائط، كما سنرى بعد قليل. 

لنجرب الآن ما يلي:

//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)
بمجرد إضافة هذا الرمز، يجب أن يظهر لك مخطط بياني ثاني (يبدو كأن المخطط الأصلي قد تحول إلى الجانب الأيمن). كل ما قمنا به هو رسم سعر الافتتاح بدلاً من ذلك، نظراً لأن سعر الافتتاح في اليوم الحالي هو سعر الإغلاق في اليوم السابق، فمن المنطقي أن يكون لهما شكل مماثل.
حسناً! دعونا نتخلص من التعليقات الحالية (تذكر أننا نقوم بذلك من خلال النقر بزر الماوس الأيمن والضغط على إزالة المؤشرات). حرك مؤشر الماوس فوق البيتكوين/BUSD ثم انقر على زر إخفاء لحذف المخطط البياني الحالي أيضاً.

يفضل العديد من المتداولين مخططات حركة الأسعار حيث تمنحنا مزيد من المعلومات أكثر من الرسم البسيط مثلما فعلنا للتو. لنقم بإضافتهم فيما يلي. 

//@version=4 study("My Script", overlay=true) plotcandle(open, high, low, close)
بداية جيدة، ولكن غياب الألوان يجعله باهتاً إلى حد ما. من الناحية المثالية، يجب أن يكون لدينا شموع حمراء عندما يكون سعر الافتتاح أكبر من سعر الإغلاق خلال إطار زمني محدد، وشموع خضراء عندما يتجاوز سعر الإغلاق سعر الافتتاح. سنقوم بإضافة خطاً أعلى خاصية رسم الشمعة():
//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close)

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

//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors)

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


رائع!


رسم المتوسطات المتحركة (MA)

لدينا بعض الأساسيات فيما يلي. لننتقل إلى أول مؤشر مُخصص – المتوسط المتحرك الأسي أو EMA. فهو أداة قيمة تسمح لنا بالتخلص من مشتتات السوق وتسهيل فهم تحركات السوق. 
يختلف المتوسط المتحرك الأسي قليلاً عن المتوسط المتحرك البسيط (SMA)، حيث يركز هذا المتوسط على أحدث البيانات. ويميل إلى التفاعل مع التحركات المفاجئة وعادة ما يتم استخدامه في الصفقات قصيرة المدى (التداول اليومي، على سبيل المثال).


المتوسط المتحرك البسيط (SMA)

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

plot(sma(close, 10))

يمثل هذا المتوسط العشرة أيام السابقة. عدّل الرقم بين الأقواس لمعرفة مدى تغيير المنحنى عند أخذ الفترات المختلفة في الاعتبار.


يستند المتوسط المتحرك البسيط إلى العشرة أيام السابقة.


المتوسط المتحرك الأسي (EMA)

قد يصعب فهم المتوسط المتحرك الأسي قليلاً، ولكن لا داعي للقلق. دعونا نتناول المعادلة بالتفصيل:

EMA = (Close - Previous Day’s EMA) * Multiplier - Previous Day’s EMA

فما الذي يخبرنا به ذلك؟ حسناً، يتم حساب المتوسط المتحرك الجديد لكل يوم بناءً على المتوسط المتحرك في اليوم السابق. المضاعف هو ما "يزن من بيانات" على مدار أحدث فترة، ويتم حسابه من خلال المعادلة التالية:

Multiplier = 2 / (Length of EMA + 1)

بالنسبة للمتوسطات المتحركة البسيطة، نحتاج إلى تحديد الفترة التي سيستغرقها المتوسط المتحرك الأسي. من ناحية التركيب، تتشابه خاصية رسم المتوسط المتحرك الأسي مع خاصية رسم المتوسط المتحرك البسيط. ارسمه إلى جانب المتوسط المتحرك البسيط حتى تتمكن من المقارنة بينهما:

//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))


يمكنك رؤية اختلاف طفيف بين نوعين المتوسطين المتحركين.



البرامج النصية المدمجة

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

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



ثم قم بإضافته إلى المخطط البياني.


يختلف ذلك عن الرموز الخاصة بنا – ستلاحظ خصائص الإدخال(). وتعد رائعة على مستوى الاستخدام حيث يمكنك النقر على هذا المربع…



كما يمكنك تغيير بعض القيم الموجودة بالنافذة المنبثقة بكل سهولة من خلال النقر على عجلة الإعدادات.



سوف نضيف خاصيتين إدخال() في البرنامج النصي التالي لتوضيح كيفية القيام بذلك.


رسم مؤشر القوة النسبية (RSI)

يعد مؤشر القوة النسبية (RSI) أحد المؤشرات الأساسية في التحليل الفني. وهو يعرف بمؤشر الزخم، مما يعني أنه يقيس معدل شراء الأصول وبيعها. يتم التقييم على مقياس يتراوح من 0 إلى 100، تحاول درجة مؤشر القوة النسبية إخبار المستثمرين ما إذا كانت الأصول أكثر شراءً أم أكثر مبيعاً. عادةً ما يعتبر الأصل أكثر مبيعاً إذا كانت درجته أقل من 30 أو تعادلها، ويعتبر أكثر شراءً إذا كانت درجته أكبر من 70 أو تعادلها.
إذا اتجهت إلى جديد > استراتيجية مؤشر القوة النسبية RSI، يمكنك رؤية هذا بنفسك. يتم قياس مؤشر القوة النسبية RSI على مدار فترات 14 (أي 14 ساعة أو 14 يوماً)، ولكن لديك حرية تعديل هذا الإعداد لما يتناسب مع استراتيجيتك الخاصة.
قم بإضافة ذلك إلى المخطط البياني. يجب أن تظهر لك بعض الأسهم الآن (تم تحديدها عن طريق خاصية إدخال.الاستراتيجية() في الرمز). يشير RsiLE إلى فرص الشراء المحتملة للأصل حيث قد يصبح في منطقة الأكثر مبيعاً. بينما RsiSE يبرز نقاط البيع المحتملة للأصل عندما يكون في منطقة الأكثر شراءاً. يرجى ملاحظة أنه، على غرار جميع المؤشرات، لا يجب الاعتماد عليها واعتبارها دليل مؤكد على ارتفاع أو انخفاض الأسعار.


إجراء اختبار رجعي

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

فيما يلي مثال على برنامج نصي بسيط. سنقوم بوضع استراتيجية بسيطة لدخول صفقة شراء عندما ينخفض سعر عملة البيتكوين عن 11,000 دولار والخروج من الصفقة عندما يتجاوز السعر مستوى 11,300 دولار. وبذلك، يمكننا معرفة مدى ربحية هذه الاستراتيجية تاريخياً.

//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter)     strategy.entry("BuyTheDip", strategy.long, comment="BuyTheDip") if (price >= exit)     strategy.close_all(comment="SellTheNews")
قد حددنا هنا نقاط الدخول و الخروج كمتغيرات – وكلاهما مدخلات، مما يعني أنه يمكننا تغييرهما على المخطط البياني لاحقاً. كما قد وضعنا متغير السعر، الذي يسجل سعر الإغلاق لكل فترة. وبذلك، يوجد شيئاً منطقياً في استخدام عبارات إذا الشرطية. إذا كان الجزء بين الأقواس صحيح، سيتم تفعيل الكتلة ذات المسافة البادئة. بخلاف ذلك، سيتم تخطيها.

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

سوف نقوم بإضافة التعليقات على المخطط البياني باستخدام أسهم لتوضيح نقاط الدخول والخروج، لذلك، حددنا أسماء هذه النقاط في إطار التعليقات (في هذا المثال، "شراء الانخفاضات" و"البيع عند نشر الأخبار"). قم بنسخ الرمز ثم أضفه إلى المخطط البياني.


يمكنك الآن رؤية المؤشرات على المخطط البياني. قد تحتاج إلى التصغير لإلقاء نظرة.


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


الصفقات التي قمنا بالدخول والخروج منها.


ربط العناصر معاً

حان وقت كتابة البرنامج الخاص بنا باستخدام بعض المفاهيم الموضحة حتى الآن. سوف نقوم بجمع كل من المتوسط المتحرك الأسي ومؤشر القوة النسبية باستخدام قيمتهم بهدف تلوين مخططات حركة الأسعار والحصول على نظرة متعمقة يمكن تصورها. 

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

لنبدأ العمل على البرنامج النصي الجديد. قم بإزالة جميع المؤشرات من المخطط البياني، وإخفاء المخطط البياني بيتكوين/BUSD، أيضاً، حتى يصبح لدينا مخطط بياني فارغ لبدء العمل.

لنبدأ بتحديد خاصية study. يمكنك استخدام أي اسم تريد، عليك التأكد فقط من وضع overlay=true.
study(title="Binance Academy Script", overlay=true)
تذكر معادلة المتوسط المتحرك الأسي التي تحدثنا عنها سابقاً. نحتاج إلى تزويد المضاعف ببيانات الفترة التي سيستغرقها المتوسط المتحرك الأسي. لنجعله حقل إدخال يتطلب عدد صحيح (وبالتالي، لا توجد خانات كسور عشرية). سنقوم أيضاً بتحديد الحد الأدنى (minval)، وقيمة افتراضية (defval).
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)


يمكننا حساب قيمة المتوسط المتحرك الأسي لكل شمعة على المخطط البياني من خلال استخدام المتغير الجديد:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)


رائع. فيما يتعلق بمؤشر القوة النسبية RSI. سوف نقوم بإدخال الفترة بطريقة مشابهة:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)

والآن يمكننا حساب ذلك:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)

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

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

لذلك، يبدو السطر التالي كما يلي:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal and rsiVal > 50 ? color.green : color.red
إذا قمنا بترجمة ذلك إلى اللغة الإنجليزية البسيطة، فيعني ذلك أنه في حالة تجاوز قيمة المتوسط المتحرك الأسي سعر الإغلاق و تتخطى درجة مؤشر القوة النسبية حاجز 50، سنقوم بتلوين الشمعة باللون الأخضر. بخلاف ذلك، سيتم تلوينه بالأحمر. 

ثم، رسم المتوسط المتحرك الأسي:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal and rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")
وأخيراً، قم برسم الشموع، وتأكد من إدراج متغير اللون:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal and rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)

وهكذا تكون قد انتهيت من البرنامج النصي! أضف ذلك إلى المخطط البياني لتراه قيد التشغيل.


المخطط البياني BTC/BUSD باستخدام مؤشر المتوسط المتحرك الأسي/مؤشر القوة النسبية.


أفكار ختامية

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

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

بحاجة إلى أفكار ملهمة؟ قد تساعدك المقالات التالية في الحصول على بعض الأفكار لمشروعك القادم: