انتقل إلى المحتوى

كيفية إنشاء روبوت تداول فوركس باستخدام Python و الذكاء الاصطناعي

يشرح هذا المقال والفيديو كيفية إنشاء روبوت تداول مجاني لـ cTrader باستخدام Python والذكاء الاصطناعي.

ملاحظة

cTrader هي المنصة الرئيسية الوحيدة التي تقدم دعمًا أصليًا لـ Python، مما يسمح لأي شخص بإنشاء روبوتات Python قوية لأتمتة استراتيجيات التداول. لا يوجد محول أو حل معقد متضمن.

بينما يتم استخدام ChatGPT للتوضيح، فإن نفس الخطوات لإنشاء روبوتات التداول باستخدام الذكاء الاصطناعي تنطبق على Gemini و Claude و DeepSeek وغيرها.

اختر قالب Python

افتح cTrader Algo في cTrader Windows أو Mac، ثم انقر على جديد لبدء إنشاء روبوت تداول جديد.

في معالج إنشاء الخوارزمية، أنشئ خوارزمية جديدة وأعطها اسمًا.

اختر Python كلغة برمجة، ثم حدد خيار استخدام قالب.

يوفر cTrader مجموعة واسعة من قوالب Python، تغطي كل نوع من استراتيجيات التداول، وأنماط التحليل، أو الأنشطة التلقائية للتداول. تحتوي هذه الخوارزميات المبنية مسبقًا على منطق تداول كامل ومعلمات قابلة للتعديل، لذا تكون جاهزة للاستخدام بمجرد حفظها وبنائها.

ملاحظة

تتوفر المجموعة الكاملة من قوالب الخوارزميات في معالج إنشاء الخوارزميات في cTrader Windows أو Mac، ويمكنك أيضًا الوصول إليها في المستودع العام.

لنفترض أننا نختص في تداول الانقطاع. لذلك، نختار Sample Breakout cBot.

ملاحظة

تتوفر أوصاف مفصلة لقوالب الخوارزميات الشهيرة، بما في ذلك Breakout cBot، في قاعدة المعرفة.

يستفيد Breakout cBot من حركة السعر التي تتجاوز مستوى دعم أو مقاومة محدد مسبقًا، ويقوم مؤشر Bollinger Bands بتوجيه قراراته. لنقم ببناء روبوت التداول واختباره عكسيًا.

اضغط Ctrl+B أو انقر على بناء في أعلى محرر الأكواد.

بمجرد نجاح البناء، انقر على أي مثيل متاح تحت اسم cBot.

في الشبكة الرئيسية، انتقل إلى علامة التبويب الاختبار العكسي. قم بإجراء اختبار عكسي لمدة عام باستخدام المعلمات الافتراضية لتقييم نتائج الروبوت. حققت cBot ربحًا بنسبة 22% خلال هذه الفترة، مع تسجيل 74 صفقة رابحة من أصل 194 كما هو مسجل في علامة التبويب إحصائيات التداول.

قم بترقية cBot باستخدام الذكاء الاصطناعي

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

RSI هو مؤشر زخم يقوم بتصفية الانقطاعات الضعيفة أو الإشارات الكاذبة. يجب أن يندمج هذا المؤشر بشكل مثالي ويكمل مؤشر Bollinger Bands المستخدم في Sample Breakout cBot. كمرجع، يمكنك الحصول على تكامل RSI لـ Super cBot المقدم في مقال مركز المساعدة.

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

مطالبة

ادرس دمج مؤشر RSI في Super cBot، ثم نفّذ فلاتر RSI نفسها في Special cBot.

[كود Special cBot]

[كود Super cBot المدمج مع مؤشر RSI]

يفكر الذكاء الاصطناعي ثم يقدم الكود لـ Special cBot المدمج مع RSI.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import clr

clr.AddReference("cAlgo.API")

# Import cAlgo API types
from cAlgo.API import *

# Import trading wrapper functions
from robot_wrapper import *

class SampleBreakoutcBot():
    Label = "Sample Breakout cBot"

    def on_start(self):
        # Bollinger Bands for breakout consolidation logic
        self.bollingerBands = api.Indicators.BollingerBands(api.Source, api.Periods, api.Deviations, api.MAType)

        # Track consolidation bars
        self.consolidation = 0

        # --- RSI filter (same style as grid cBot) ---
        self.rsi_period = getattr(api, "RsiPeriod", 14)
        self.rsi_overbought = getattr(api, "RsiOverbought", 70)
        self.rsi_oversold = getattr(api, "RsiOversold", 30)
        self.rsi = api.Indicators.RelativeStrengthIndex(api.Bars.ClosePrices, self.rsi_period)

    def on_bar(self):
        top = self.bollingerBands.Top.Last(1)
        bottom = self.bollingerBands.Bottom.Last(1)

        # Detect consolidation via band height
        if top - bottom <= api.BandHeightPips * api.Symbol.PipSize:
            self.consolidation += 1
        else:
            self.consolidation = 0

        if self.consolidation >= api.ConsolidationPeriods:
            volumeInUnits = api.Symbol.QuantityToVolumeInUnits(api.Quantity)

            # Breakout up
            if api.Ask > top:
                if self.passes_rsi_filter():
                    api.ExecuteMarketOrder(TradeType.Buy, api.SymbolName, volumeInUnits, self.Label, api.StopLossInPips, api.TakeProfitInPips)
                    self.consolidation = 0
                else:
                    api.Print("RSI filter blocked BUY breakout (RSI={:.2f}, range {}-{})"
                              .format(self.get_rsi_value(), self.rsi_oversold, self.rsi_overbought))

            # Breakout down
            elif api.Bid < bottom:
                if self.passes_rsi_filter():
                    api.ExecuteMarketOrder(TradeType.Sell, api.SymbolName, volumeInUnits, self.Label, api.StopLossInPips, api.TakeProfitInPips)
                    self.consolidation = 0
                else:
                    api.Print("RSI filter blocked SELL breakout (RSI={:.2f}, range {}-{})"
                              .format(self.get_rsi_value(), self.rsi_oversold, self.rsi_overbought))

    # --- Helpers copied in spirit from the grid cBot ---
    def get_rsi_value(self):
        # Use the last CLOSED bar for stability
        return self.rsi.Result.Last(1)

    def passes_rsi_filter(self):
        r = self.get_rsi_value()
        return (r > self.rsi_oversold) and (r < self.rsi_overbought)

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

مطالبة

أريد أن يقوم cBot بتوليد إشارات أكثر سلاسة وأبطأ تتوافق بشكل طبيعي مع فلتر RSI.
أفضل عدد صفقات أقل ولكن باختراقات أنظف.
أقوم بتعيين فترة التماسك إلى 1 لأنني أريد أن يتصرف cBot فوراً عندما
تنضغط التقلبات.

ما نوع المتوسط المتحرك الأنسب لذلك؟

يفكر الذكاء الاصطناعي ثم يقدم بعض المعلومات المفيدة. يوصي بـ Wilders Smoothing كنوع المتوسط المتحرك الأفضل لاستراتيجيتنا.

قم بتطبيق توصيات الذكاء الاصطناعي

عد إلى محرر الأكواد في cTrader وقم بتطبيق التغييرات الموصى بها. الصق الكود المحدث، ثم قم ببناء cBot المحدث.

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

هذه المرة، يظهر تقرير الاختبار العكسي لنفس الفترة ربحًا بنسبة 97%، وهو تحسن كبير مقارنة بـ 22% الذي حققته منطق cBot الأصلي.

تظهر النتيجة الجديدة مدى فعالية توجيهات الذكاء الاصطناعي في تحسين أداء روبوتات التداول وتحسين معلماتها لتحقيق نتائج ممتازة. كما تحسن معدل الفوز للروبوت بشكل كبير، حيث حقق 51 صفقة رابحة من أصل 93.

ابدأ تشغيل cBot في السحابة

بفضل المزامنة السحابية، يكون cBot الجديد متاحًا تلقائيًا من جميع تطبيقات cTrader حيث يكون cTrader ID الخاص بك نشطًا. يمكنك حتى بدء تشغيل روبوت التداول في cTrader Mobile أو Web.

ما عليك سوى النقر على أيقونة بدء.

نظرًا لأن cBot يعمل في السحابة، فإنه يستمر في التداول على مدار 24 ساعة دون توقف، حتى إذا كان تطبيق cTrader مغلقًا أو كان جهازك مغلقًا. لا حاجة إلى VPS.

قم بتحقيق الدخل من cBot

اختياريًا، يمكنك تحقيق الدخل من cBot الخاص بك في متجر cTrader، وهو سوق آمن وديناميكي يربط بين المشترين والبائعين لمنتجات التداول.

لـ نشر منتج، حدد cBot الذي تريد بيعه مباشرة من السحابة أو قم بتحميل ملف، ثم قدم التفاصيل الضرورية. بمجرد النشر، تصبح الخوارزمية متاحة في متجر cTrader، مما يجعلها متاحة لملايين مستخدمي cTrader للشراء.

ملاحظة

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

Image title