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

كيفية تصحيح أخطاء cBot

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

في هذه المقالة والفيديو المصاحب لها، سنوضح كيف يمكنك تصحيح أخطاء cBot في Visual Studio.

فتح cBot في Visual Studio

انتقل إلى تطبيق Algo في cTrader وانتقل إلى علامة التبويب cBots. لأغراض العرض التوضيحي، دعنا نصحح أخطاء خوارزمية Sample RSI cBot.

حدد موقع Sample RSI cBot وانقر عليها. يجب أن يظهر محرر التعليمات البرمجية على اليمين.

انقر على تحرير في Visual Studio. إذا كان لديك Visual Studio مثبتًا على جهازك، فيجب أن يفتح تعليمات cBot البرمجية.

تمكين تصحيح الأخطاء في Visual Studio

إذا لم يعرض محرر التعليمات البرمجية في Visual Studio تلقائيًا تعليمات cBot البرمجية، فيجب عليك تحديد موقع ملف C# (.cs) والنقر عليه في حل Sample RSI cBot.

حدد وضع تكوين تصحيح الأخطاء.

الآن، يجب عليك تعديل تعليمات cBot البرمجية للسماح بتصحيح الأخطاء.

ابدأ بتعيين AccessRights الخاص بـ cBot إلى FullAccess.

1
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess, AddIndicators = true)]

قم بإرفاق أداة تصحيح الأخطاء بعملية تشغيل cBot عن طريق استدعاء طريقة System.Diagnostics.Debugger.Launch().

1
2
3
4
5
6
var result = System.Diagnostics.Debugger.Launch();

if (result is false)
{
    Print("Debugger launch failed");
}

في هذه المرحلة، يجب أن تبدو التعليمات البرمجية في محرر التعليمات البرمجية الخاص بـ Visual Studio كما يلي:

 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
using cAlgo.API;
using cAlgo.API.Indicators;

namespace cAlgo
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess, AddIndicators = true)]
    public class SampleRSIcBot : Robot
    {
        [Parameter("Quantity (Lots)", Group = "Volume", DefaultValue = 1, MinValue = 0.01, Step = 0.01)]
        public double Quantity { get; set; }

        [Parameter("Source", Group = "RSI")]
        public DataSeries Source { get; set; }

        [Parameter("Periods", Group = "RSI", DefaultValue = 14)]
        public int Periods { get; set; }

        private RelativeStrengthIndex rsi;

        protected override void OnStart()
        {
            var result = System.Diagnostics.Debugger.Launch();

            if (result is false)
            {
                Print("Debugger launch failed");
            }

            rsi = Indicators.RelativeStrengthIndex(Source, Periods);
        }

        protected override void OnTick()
        {
            if (rsi.Result.LastValue < 30)
            {
                Close(TradeType.Sell);
                Open(TradeType.Buy);
            }
            else if (rsi.Result.LastValue > 70)
            {
                Close(TradeType.Buy);
                Open(TradeType.Sell);
            }
        }

        private void Close(TradeType tradeType)
        {
            foreach (var position in Positions.FindAll("SampleRSI", SymbolName, tradeType))
                ClosePosition(position);
        }

        private void Open(TradeType tradeType)
        {
            var position = Positions.Find("SampleRSI", SymbolName, tradeType);
            var volumeInUnits = Symbol.QuantityToVolumeInUnits(Quantity);

            if (position == null)
                ExecuteMarketOrder(tradeType, SymbolName, volumeInUnits, "SampleRSI");
        }
    }
}

دعنا نعيد بناء cBot الخاص بنا. انقر بزر الماوس الأيمن فوق حل Sample RSI cBot وانقر فوق إعادة البناء.

تصحيح أخطاء cBot

لتوضيح عملية تصحيح الأخطاء، دعنا نضيف نقطة توقف في طريقة OnTick() الخاصة بنا. انقر بزر الماوس الأيمن فوق سطر التعليمات البرمجية if (rsi.Result.LastValue < 30)، وانقر فوق نقطة توقف ثم حدد إدراج نقطة توقف.

الآن، يجب عليك العودة إلى Sample RSI cBot في cTrader. انقر فوق إضافة مثيل.

حدد محليًا ثم انقر فوق الزر إضافة مثيل.

انقر فوق أيقونة بدء cBot لتشغيل cBot، ثم انقر فوق الزر السماح لمنحه حقوق الوصول.

حدد Sample RSI cBot - Microsoft Visual Studio كأداة تصحيح الأخطاء الخاصة بك وانقر فوق الزر موافق.

عند الوصول إلى حدث OnTick()، يتوقف التنفيذ عند نقطة التوقف التي حددناها سابقًا.

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

بالإضافة إلى ذلك، يمكنك تنفيذ الإجراءات التالية:

استخدم وظيفة التخطي للانتقال إلى السطر التالي.

اسحب سطر التنفيذ داخل عبارة أخرى.

استخدم وظيفة الدخول للدخول إلى طريقة وفحص تنفيذ التعليمات البرمجية.

الملخص

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