كيفية إنشاء cBot لـ cTrader في 5 دقائق
في هذا المقال والفيديو المصاحب له، سنصف طريقة سريعة لإنشاء cBot في cTrader Algo. سيقوم cBot الذي سننشئه بتنفيذ استراتيجية تداول بسيطة تسمى Three white soldiers و three black crows. يمكنك معرفة المزيد عن هذه الاستراتيجية في قاعدة المعرفة الخاصة بنا.
قبل اتباع تعليماتنا، تأكد من أنك قمت بتنزيل وتثبيت تطبيق cTrader Windows أو Mac من الموقع الرسمي. قم بتشغيله، وانتقل إلى قسم cTrader Algo. يمكنك العثور عليه في اللوحة اليسرى. انقر على علامة التبويب Algo، وسيظهر قسم cTrader Algo.
إضافة cBot جديد
انقر على زر New في cTrader Algo لبدء إنشاء cBot جديد. أدخل اسمًا، واختر لغة برمجة بين C# و Python واستمر حتى يفتح محرر الكود.
إضافة إعدادات cBot
قبل أن نبدأ في تنفيذ استراتيجية التداول، سنلقي نظرة على معلمات وطرق cBots الأساسية. يمكنك أيضًا الرجوع إلى وثائقنا للتعرف على ما تفعله المعلمات والطرق المختلفة.
-
معلمات cBot – تسمح لك بتحديد السمات القابلة للتكوين مثل حجم التداول أو مسافات إيقاف الخسارة/جني الأرباح.
-
طرق cBot – تحدد كيفية تصرف cBot الخاص بك عند حدوث أحداث معينة. هناك أربعة أحداث رئيسية تحتاج إلى التعامل معها عند تطوير cBot لـ cTrader، ويتم إدارة كل منها بواسطة طريقة مقابلة يوفرها cTrader. هذه الطرق هي
OnStart()وOnTick()وOnBar()وOnStop()في C#، وon_start()وon_tick()وon_bar_closed()وon_stop()في Python. لاحظ أن طريقةOnBar()في C# وon_bar_closed()في Python غير مدرجة في قالب الكود الافتراضي.
يحدد الجدول التالي هذه الطرق الأربع بالتفصيل.
| C# | Python | الغرض |
|---|---|---|
OnStart() | on_start() | يتم تشغيلها عندما تبدأ نسخة cBot في العمل. تُستخدم لتهيئة أي متغيرات تخطط لاستخدامها في cBot الخاص بك مثل المؤشرات والعدادات ومعالجات الأحداث أو المؤقتات. |
OnTick() | on_tick() | يتم تشغيلها في كل نقرة (تحديث السعر) على مخطط التداول الذي يعمل عليه نسخة cBot. تُستخدم عادةً لمنطق الدخول أو الخروج السريع بناءً على البيانات في الوقت الفعلي. داخل هذه الطريقة، يمكنك برمجة شروط الدخول والخروج المخصصة بالإضافة إلى أي وظيفة مساعدة أخرى تحتاج إلى تشغيلها عند وصول نقرة جديدة. |
OnBar() | on_bar_closed() | يتم تشغيلها عند إغلاق كل شمعة. داخل هذه الطريقة، يمكنك برمجة شروط الدخول والخروج المخصصة أو أي وظائف أخرى تحتاج إلى تشغيلها عند تكوين كل شمعة جديدة. |
OnStop() | on_stop() | يتم استدعاؤها عند توقف cBot. تُستخدم لإجراء العمليات النهائية مثل إغلاق المراكز وحفظ الحالة والمزيد |
إضافة منطق التداول
سنقوم الآن بإضافة الكود الخاص بإستراتيجية التداول الخاصة بنا. يجب أن يفتح الـ cBot الخاص بنا مركز شراء عند تشكل ثلاثة أعمدة خضراء على الرسم البياني ومركز بيع عند وجود ثلاثة أعمدة حمراء متتالية.
أولاً، نحتاج إلى تحديد معلمات الـ cBot الخاص بنا. ستكون هذه المعلمات قابلة للتخصيص بالكامل من واجهة مستخدم cTrader. سنحدد ثلاثة معلمات في الـ cBot الخاص بنا.
- حجم كل تداول.
- إيقاف الخسارة بالبيب.
- جني الأرباح بالبيب.
قم بلصق الكود التالي في محرر الأكواد الخاص بك أسفل الأقواس المعقوفة بعد إعلان الفئة مباشرةً (public class NewcBot : Robot)
1 2 3 4 5 6 7 8 | |
ملاحظة
تستخدم cBots بلغة Python معلمات قابلة للتخصيص معلنة في ملفاتها .cs.
1 2 3 4 5 6 7 8 | |
نحتاج الآن إلى تنفيذ المنطق وراء إستراتيجية التداول الخاصة بنا. قم بلصق الكود التالي في طريقة OnBar() أو on_bar_closed() الخاصة بك. تذكر أن هذه الطريقة يتم استدعاؤها في كل مرة يتم فيها تشكيل عمود جديد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 | |
الآن سنفحص الكود بشكل أكثر تفصيلاً. يوفر cTrader إمكانية الوصول إلى الأعمدة التاريخية للرسم البياني، مما يسمح لنا بالتحقق مما إذا كانت الأعمدة الثلاثة الأخيرة كلها خضراء أو كلها حمراء، على التوالي. في طريقة OnBar() في C# و on_bar_closed() في Python أعلاه، نتحقق أولاً مما إذا كانت الأعمدة الثلاثة الأخيرة كلها خضراء. ثم نقيّم ما إذا كانت هذه الأعمدة كلها حمراء.
إذا كان أحد الشرطين صحيحًا، نقوم بوضع أمر سوق باستخدام طريقة ExecuteMarketOrder(). تأخذ هذه الطريقة عدة مدخلات (وسائط)، أهمها اتجاه التداول، والرمز، وحجم التداول، وإيقاف الخسارة، وجني الأرباح.
في حالتنا، يتم تحديد اتجاه الأمر (TradeType.Buy, TradeType.Sell) بواسطة شروط إستراتيجية التداول. يتم أخذ اسم الرمز مباشرة من الرسم البياني الذي يعمل عليه الـ cBot الخاص بنا SymbolName. يتم استرداد حجم التداول، وإيقاف الخسارة، وجني الأرباح (في C# Volume, StopLoss, TakeProfit وفي Python VolumeInLots, StopLossInPips, TakeProfitInPips) جميعها من معلمات الـ cBot التي حددناها.
بناء وتشغيل الـ cBot
نحتاج الآن إلى التحقق مما إذا كان الـ cBot الخاص بنا يتم بناؤه بنجاح. بشكل افتراضي، تقع نافذة نتيجة البناء مباشرة أسفل محرر الأكواد. إذا لم تكن تراها، انقر على زر التخطيط في الشريط العلوي لواجهة مستخدم cTrader وحدد نتيجة البناء. اختصار لوحة المفاتيح لهذا الإجراء هو Ctrl + W
بعد ذلك، انقر على زر البناء الموجود في الشريط العلوي لواجهة مستخدم cTrader. بدلاً من ذلك، انقر بزر الماوس الأيمن على الـ cBot الخاص بك وانقر على بناء في القائمة التي تظهر حديثًا، أو ببساطة اضغط على Ctrl + B.

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

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

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

سنختار EURUSD. بعد اختيار الرمز، ستتم إضافة نسخة جديدة من الـ cBot. سترى عنصرًا جديدًا في قائمة cBots مع اسم الرمز والإطار الزمني الذي ترغب في التداول فيه.
يجب أن ترى أيضًا المعلمات التي قمت بترميزها في علامة التبويب المعلمات مباشرة أسفل الرسم البياني للتداول.

يمكنك تغيير هذه المعلمات كيفما تشاء أو ببساطة تركها على قيمها الافتراضية.
بالإضافة إلى ذلك، سترى زر تشغيل في أعلى الرسم البياني لـ EURUSD.

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

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