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

تحسين cBot في cTrader

يشرح هذا المقال كيفية تحسين روبوتات التداول في cTrader Windows وMac.

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

لاستخدام هذه الميزة، حدد نسخة cBot وانتقل إلى علامة التبويب تحسين.

Image title

بعد ذلك، حدد فترة الاختبار العكسي للتحسين باستخدام التقويمات المنسدلة أو عن طريق سحب شريط التمرير.

Image title

إعدادات التحسين

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

معلمات التحسين

انقر على زر المعلمات الموجود على يسار شريط التمرير التقويمي. يجب أن ترى النافذة التالية.

Image title

فيها، حدد العلامات بجوار معلمات cBot التي ترغب في تحسينها. معلمة الإطار الزمني متاحة لجميع cBots.

معايير التحسين

اضغط على زر المعايير الموجود على يمين زر معلمات التحسين. سيفتح cTrader علامة التبويب التالية.

Image title

تحدد معايير التحسين كيفية تصنيف خوارزمية التحسين لنتيجتك بعد الاختبار العكسي. يمكنك الاختيار بين الخيارات التالية:

  • قياسي - سلسلة من المعايير المحددة مسبقًا التي يمكنك أن تهدف إما إلى تقليلها أو تعظيمها. للقيام بذلك، اختر معيارًا من القائمة المنسدلة على اليمين وحدد اتجاه التحسين في القائمة ذات الصلة على اليسار. لإضافة معيار جديد، انقر على إضافة معيار.
  • مخصص - معيار مخصص محدد داخل كود cBot الخاص بك باستخدام طريقة GetFitness() كما هو موضح في الأمثلة أدناه.
1
2
3
4
5
protected override double GetFitness(GetFitnessArgs args)
{
    // Maximise the winning trades/losing trades ratio.
    return args.WinningTrades / args.LosingTrades;
}
1
2
3
4
5
6
protected override double GetFitness(GetFitnessArgs args)
{
    /* Maximise the winning trades/losing trades ratio
    while giving winning trades more weight. */
    return Math.Pow(args.WinningTrades, 2) / args.LosingTrades;
}

حسابات المعايير المتعددة

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

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

يوضح الكود الزائف التالي بالضبط كيفية حساب قيم الملاءمة متعددة المعايير.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
numerator = 1.0
if (valuesToMaximize.Length > 0)
    numerator = Abs(Multiply(criteriaValuesToMaximize))

denominator = 1.0
if (valuesToMinimize.Length > 0)
    denominator += Abs(Multiply(criteriaValuesToMinimize))

/* The 'sign' variable can be either +` or -1 depending on whether
there are criteria for which their values are less than 0. */
sign = criteriaValuesToMinimize.Concat(criteriaValuesToMaximize).Any(v => v < 0) ? -1 : 1

fitness =  sign * numerator / denominator

الطريقة

انقر على زر الطريقة (الممثل إما كـ GA أو # اعتمادًا على الخيار المحدد). في القائمة أدناه، اختر طريقة التحسين التي تستخدمها المنصة.

Image title

الخيارات التالية متاحة:

  • الخوارزمية الجينية - تحاكي الخوارزمية عملية التطور البيولوجي. يرجى الاطلاع على قسم منفصل للحصول على وصف مفصل لها.
  • الشبكة (#) - تقوم الخوارزمية بإجراء اختبار عكسي تسلسلي لكل مجموعة ممكنة من المعلمات.

ملاحظة

في تقديرنا، الخوارزمية الجينية أسرع بكثير في العثور على قيم المعلمات المثلى.

الموارد

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

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

Image title

لاحظ أنه يمكن أيضًا ضبط موارد وحدة المعالجة المركزية أثناء عملية التحسين نفسها.

بدء وإدارة إجراء التحسين

للمتابعة مع التحسين، انقر على زر التشغيل الموجود على يمين شريط التمرير التقويمي. اعتمادًا على موارد جهازك وإعدادات التحسين وتعقيد cBot، قد يستغرق التحسين بعض الوقت.

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

Image title

في الوقت نفسه، ستوفر الشاشة المركزية في علامة التبويب التحسين شبكة في الوقت الفعلي تحتوي على معلومات حول جميع تكرارات الاختبار العكسي التي أكملتها الخوارزمية.

Image title

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

بدلاً من ذلك، حدد علامة التحديد التلقائي لأفضل تكرار في الزاوية العلوية اليسرى لـ cTrader لتحديد التكرار (والمعلمات) الذي حقق أفضل نتيجة ممكنة وفقًا لمعايير التحسين المحددة.

نتائج التحسين

بعد اكتمال التحسين، سيعرض الجدول المركزي القائمة النهائية لجميع تكرارات الاختبار العكسي ونتائجها.

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

الحقل التعريف
التكرار رقم التكرار.
الملاءمة القيمة التي توضح مدى ملاءمة التكرار لمعايير التحسين.
الأسهم إجمالي رأس المال في نهاية التكرار.
الرصيد إجمالي الرصيد في نهاية التكرار.
صافي الأرباح الفرق بين الرصيد النهائي ورصيد البدء.
التداولات إجمالي عدد المراكز المغلقة.
الصفقات الرابحة إجمالي عدد التداولات الرابحة التي تم تحقيقها خلال التكرار.
الصفقات الخاسرة إجمالي عدد التداولات الخاسرة التي تم تحقيقها خلال التكرار.
عامل الربح نسبة إجمالي الربح إلى إجمالي الخسارة.
*أقصى حد لتراجع رأس المال (%) النسبة المئوية القصوى لتراجع رأس المال.
الحد الأقصى لسحب الرصيد (%) النسبة المئوية القصوى لتراجع الرصيد.
أقصى حد لتراجع رأس المال الحد الأقصى لتراجع رأس المال المحدد بعملة إيداع الحساب.
الحد الأقصى لسحب الرصيد الحد الأقصى لتراجع الرصيد المحدد بعملة إيداع الحساب.
متوسط التداول متوسط الربح لجميع التداولات التي تمت خلال التكرار.
معلمات التكرار انقر على زر تطبيق في هذا العمود لتطبيق المعلمات من هذا التكرار على cBot الخاص بك.

حدد تكرارًا لعرض إحصاءات مفصلة عنه في العرض أدناه الشبكة المركزية.

توفر علامات التبويب السبع الأولى في هذا العرض نفس المعلومات الموجودة في نفس علامات التبويب في نافذة الاختبار العكسي. علامة التبويب معلمات التكرار فريدة للتحسين.

معلمات التكرار

توفر علامة التبويب معلمات التكرار المعلومات التالية.

Image title

سيقوم cTrader بتمييز جميع المعلمات المحسنة باللون الأخضر بينما ستظل أي معلمات ثابتة (غير ممكنة في قائمة المعلمات) غير مميزة.

حفظ وتحميل نتائج التحسين

يتيح cTrader أيضًا حفظ وتحميل نتائج التحسين من وإلى ملف .optres مخزن محليًا.

ملاحظة

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

نصيحة

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

لحفظ نتائج التحسين، انتظر حتى انتهاء العملية وانقر على أيقونة حفظ. في نافذة حوار مستكشف الملفات، اكتب اسم الملف واحفظ الملف.

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

Image title