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

cTrader CLI

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

cTrader CLI في دقيقة واحدة!

  • تشغيل cBots في Windows وLinux دون تشغيل أو الاعتماد على تطبيق cTrader Desktop وتوفير موارد ذاكرة الوصول العشوائي ووحدة المعالجة المركزية.
  • ممارسة تحكم أكثر قوة في نسخ cBot وتشغيل cBots تحت حسابات مختلفة دون فتح العديد من نوافذ تطبيق cTrader.
  • إنشاء برامج مخصصة تستخدم cTrader CLI لبدء وإيقاف وإدارة خوارزميات التداول بلغة البرمجة المفضلة لديك.
  • دمج cTrader CLI مع أدوات الذكاء الاصطناعي التوليدي واستخدام اللغة الطبيعية لإصدار الأوامر للخوارزميات.

تحذير

cTrader CLI متاح في cTrader 4.8 أو الإصدارات الأحدث ويعمل فقط مع خوارزميات .NET 6 الحديثة.

طرق الإطلاق والاستخدام

عبر cTrader Windows

ملاحظة

لا تتطلب استخدام cTrader CLI مهارات في سطر الأوامر أو البرمجة. يمكنك إعداد وتطبيق المعلمات المفضلة لديك لـ cBot في cTrader Windows ثم توجيه cTrader Windows لبدء cBot الخاص بك في عملية خارجية لـ cTrader CLI.

لتشغيل cBot في cTrader CLI، انقر بزر الماوس الأيمن على نسخة محلية من cBot في cTrader Windows ثم حدد بدء في عملية خارجية.

Image title

يتم تشغيل cTrader CLI تلقائيًا ويبدأ تشغيل النسخة بشكل مستقل عن تطبيق cTrader Windows.

بعد بدء تشغيل نسخة cBot في عملية خارجية لـ cTrader CLI، يمكنك إغلاق cTrader Windows لتوفير موارد وحدة المعالجة المركزية وذاكرة الوصول العشوائي، حيث لا يتطلب cTrader CLI بقاء cTrader Windows مفتوحًا.

عبر سطر أوامر Windows

يمكنك تشغيل cTrader CLI من أي برنامج سطر أوامر في Windows، مثل موجه الأوامر أو Windows PowerShell.

أولاً، انتقل إلى المجلد الذي يحتوي على ctrader-cli وانسخ المسار. عادةً ما يكون ملف cTrader CLI التنفيذي موجودًا في نفس الدليل الخاص بتطبيق cTrader Windows:

1
C:\Users\{username}\AppData\Local\Spotware\cTrader\{installationId}

Image title

ثانيًا، افتح موجه الأوامر أو Windows PowerShell، واكتب cd، وأضف مسافة ثم الصق المسار الذي نسخته سابقًا. يجب أن يبدو الكود الخاص بك كما يلي:

1
cd C:\Users\{username}\AppData\Local\Spotware\cTrader\{installationId}

قم بتشغيل الكود، وسيدخل برنامج سطر الأوامر الخاص بك إلى الدليل الذي يحتوي على الملف التنفيذي ctrader-cli.

أخيرًا، يمكنك كتابة ctrader-cli.exe متبوعًا بأي <command> صالح وتنفيذه. على سبيل المثال، يمكنك تشغيل ctrader-cli.exe periods لرؤية الفترات المتاحة.

Image title

إضافة متغير المسار

معلومات

بعد إضافة cTrader CLI إلى متغير بيئة PATH الخاص بك، لن تحتاج بعد ذلك إلى الانتقال إلى الدليل الذي يحتوي على ctrader-cli قبل تشغيل الأوامر في جهاز Windows الخاص بك. بدلاً من ذلك، ستتمكن من تشغيل الأوامر في أي موقع أو مجلد عن طريق كتابة ctrader-cli متبوعًا بـ <command> فقط.

أولاً، حدد موقع المجلد الذي يحتوي على ctrader-cli كما فعلت من قبل وانسخ المسار.

1
C:\Users\{username}\AppData\Local\Spotware\cTrader\{installationId}

ابحث عن متغيرات البيئة في قائمة ابدأ في Windows. انقر على تحرير متغيرات بيئة النظام.

Image title

في نافذة خصائص النظام، انقر على متغيرات البيئة. انقر نقرًا مزدوجًا على Path تحت متغيرات المستخدم لـ {اسم المستخدم}. في نافذة تحرير متغير البيئة، انقر على زر جديد ثم الصق المسار الذي نسخته سابقًا في الحقل.

انقر على موافق حتى يتم إغلاق جميع مربعات الحوار.

عبر صورة Docker لنظام Linux

يتوفر cTrader CLI كـ صورة Docker لنظام Linux، مما يتيح لك تشغيل cBots على خوادم VPS Linux رخيصة، وخوادم عالية الأداء ومنصات سحابية موثوقة. يمكن استخدام هذه الصورة أيضًا على Windows من خلال Docker Desktop (WSL) كحاوية Docker.

ملاحظة

إذا كنت جديدًا على Docker، يُنصح بدراسة وثائقه والتعرف على المفاهيم الضرورية.

يتم نشر صورة Docker لـ cTrader CLI تحت حزم Spotware Github ويتم توفير إصدارات جديدة مع كل تحديث رئيسي لـ cTrader Windows.

لاستخدام صورة Docker لـ cTrader CLI، تأكد من تثبيت Docker على جهازك، ثم اسحب أحدث صورة Docker متاحة لـ cTrader CLI:

1
docker pull ghcr.io/spotware/ctrader-console:latest

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

الأمر أدناه ينشئ حاوية بناءً على الصورة المسحوبة ويشغل cBot:

1
docker run -d -it --name ctrader.console.run.mybot --mount type=bind,src=/cAlgo/Robots,dst=/mnt/Robots -e CTID='mycid' -e PWD-FILE='/mnt/Robots/ctrader-cli.pwd' -e ACCOUNT='9102302' -e SYMBOL='EURUSD' -e PERIOD='H1' ghcr.io/spotware/ctrader-console:latest run "/mnt/Robots/My bot.algo" --environment-variables
1
2
3
4
5
6
7
8
9
docker run -d -it \
  --name ctrader.console.run.mybot \
  --mount type=bind,src=/cAlgo/Robots,dst=/mnt/Robots \
  -e CTID='mycid' \
  -e PWD-FILE='/mnt/Robots/ctrader-cli.pwd' \
  -e ACCOUNT='9102302' \
  -e SYMBOL='EURUSD' \
  -e PERIOD='H1' \
  ghcr.io/spotware/ctrader-console:latest run "/mnt/Robots/My bot.algo" --environment-variables

يتم شرح المعلمات المتبقية في الأمر أدناه:

المعلمة الوصف
--name ctrader.console.run.mybot يحدد اسم الحاوية.
--mount type=bind,src=/cAlgo/Robots,dst=/mnt/Robots يقوم بتركيب دليل المضيف /cAlgo/Robots على دليل الحاوية /mnt/Robots.
-e CTID='mycid' يعين اسم المستخدم cTID الخاص بك كمتغير بيئة.
-e PWD-FILE='/mnt/Robots/ctrader-cli.pwd' يحدد المسار إلى ملف كلمة مرور cTID الخاص بك، بالنسبة إلى نقطة التركيب.
-e ACCOUNT='9102302' يعين رقم حساب التداول الخاص بك كمتغير بيئة.
-e SYMBOL='EURUSD' يعين اسم الرمز كمتغير بيئة.
-e PERIOD='H1' يعين الفترة كمتغير بيئة.
"/mnt/Robots/My bot.algo" يحدد المسار إلى ملف خوارزمية cBot الخاص بك، بالنسبة إلى نقطة التركيب.
--environment-variables يُعلم cTrader CLI بأنه يتم استخدام متغيرات البيئة لتمرير إعدادات التكوين.

يمكنك أيضًا إنشاء صورة Docker جاهزة للتشغيل بناءً على صورة cTrader CLI، ونسخ ملف الخوارزمية الخاص بك إليها ثم تكوين جميع متغيرات البيئة والإعدادات الأخرى مباشرةً داخل الصورة.

ملاحظة

تتوفر جميع ميزات cTrader CLI عند استخدام صورة Docker، بما في ذلك الاختبار العكسي والأوامر الأخرى الموضحة في هذه المقالة.

حالات الاستخدام الشائعة

هذه قائمة بالعمليات الشائعة التي يستخدم المتداولون cTrader CLI من أجلها:

  • الحصول على جميع الرموز

    1
    ctrader-cli symbols --ctid=letstrade@email.com --pwd-file=C:/test/password.pwd --account=1234567
    

    الاستجابة:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    [
      {
        "Id": 1,
        "Name": "EURUSD",
        "Description": "Euro vs US Dollar"
      },
    
        .
        .
        .
    
      {
        "Id": 21497,
        "Name": "HONG KONG 50",
        "Description": "HONG KONG 50"
      }
    ]
    
  • الحصول على البيانات الوصفية للخوارزمية

    1
    ctrader-cli metadata C:/test/RSI_cBot.algo
    

    الاستجابة:

     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
    {
      "Name": "RSI_cBot",
      "Type": "cBot",
      "AccessRights": "None",
      "BuildTime": "2023-05-11T16:42:56.7421508+03:00",
      "Parameters": [
        {
        "PropertyName": "Quantity",
        "FriendlyName": "Quantity (Lots)",
        "GroupName": "Volume",
        "Type": "Double",
        "DefaultValue": 1.0,
        "MinValue": 0.01
        },
        {
        "PropertyName": "Source",
        "FriendlyName": "Source",
        "GroupName": "RSI",
        "Type": "DataSeries",
        "DefaultValue": {
            "OwnerId": "00000000-0000-0000-0000-000000000000",
            "FriendlyName": "Close",
            "IsStandard": true
        }
        },
        {
        "PropertyName": "Periods",
        "FriendlyName": "Periods",
        "GroupName": "RSI",
        "Type": "Integer",
        "DefaultValue": 14
        }
      ]
    }
    
  • إجراء اختبار عكسي لـ cBot

    1
    ctrader-cli run C:\test\mycbot.algo -c=letstrade@email.com --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1
    
  • تشغيل cBot بالمعلمات الافتراضية

    1
    ctrader-cli run C:\test\mycbot.algo -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1
    
  • تشغيل cBot بمعلمات مخصصة

    1
    ctrader-cli run C:\mycbot.algo -c=letstrade@email.com --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 --ConsolidationPeriods=3 --Periods=15
    
  • تشغيل cBot بمعلمات محفوظة في ملف

    1
    ctrader-cli run C:\mycbot.algo C:\test\mysettings.cbotset -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 
    

تفصيل الأوامر

يعمل cTrader CLI بنفس طريقة أي أداة سطر أوامر. يقوم المستخدمون بكتابة ctrader-cli مع الأوامر المحددة مسبقًا وتشغيلها. على سبيل المثال، يتم استخدام الأمر periods بهذه الطريقة لسرد جميع فترات الرسم البياني التي يمكن تشغيل الخوارزميات عليها:

1
ctrader-cli periods

بعض الأوامر لها خيارات أو وسائط تتبع هذه القواعد:

  • يتم كتابة -- قبل النسخة الكاملة من الخيار (مثل --ctid، --symbol) بينما يتم كتابة - قبل النسخة المختصرة (مثل -c، -s).

  • يمكن تحديد قيمة الخيارات باستخدام مسافة (مثل --ctid letstrade، --symbol EURUSD) أو باستخدام علامة يساوي (مثل --ctid=letstrade، --symbol=EURUSD).

  • على عكس الخيارات، يتم كتابة الوسائط كما هي. ضع في اعتبارك المسار إلى خوارزمية. إنها وسيطة يتم كتابتها ببساطة: `C:/test/mycbot.algo

مثال

  • الأمر مع الخيارات

    هذا الأمر accounts، الذي يأخذ --ctid و --pwd-file كخياراته، يُخرج بيانات عن جميع الحسابات المرتبطة بـ letstrade:

    1
    ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd
    
  • الأمر مع المعاملات

    هذا الأمر metadata، الذي يأخذ مسار الخوارزمية كمعامل وحيد له، يُخرج البيانات الوصفية الأساسية عن الخوارزمية:

    1
    ctrader-cli metadata C:/Users/{username}/Documents/cAlgo/Sources/Robots/mycoolcbot.algo
    

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

  • وسيطات مثل 'C:/test for cbot/my cbot.algo' أو "C:/test for cbot/my cbot.algo"
  • خيارات مثل --pwd-file='C:\test for cbot\password.pwd' أو --pwd-file="C:\test for cbot\password.pwd" ، --start='01/01/2024 12:34' أو --start="01/01/2024 12:34" وغيرها.

ملاحظة

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

إنشاء ملفات PWD أو TXT

لا يتم تحديد كلمات المرور لـ cTrader ID بشكل مباشر. بدلاً من ذلك، يتم حفظها في ملفات PWD أو TXT ثم يتم استخدام الخيار --pwd-file لتحديد المسار إلى الملفات (مثل، --pwd-file=C:\test\password.pwd أو --pwd-file=C:\test\password.txt).

افتح مستندًا فارغًا في محرر نصوص مثل المفكرة، والصق أو اكتب كلمة المرور الخاصة بك (بدون أي مسافات بيضاء)، ثم احفظ الملف بامتداد .pwd أو .txt.

جميع أوامر CLI

ملاحظة

الخيارات غير الإلزامية لأمر معين يتم الإشارة إليها بين أقواس مربعة، على سبيل المثال، [--broker] في الجدول أدناه. عند استخدام مثل هذه الخيارات في الكود الخاص بك، يجب عليك كتابتها بدون الأقواس المربعة، على سبيل المثال، --broker.

الأمر الوظيفة الخيارات والوسيطات المدعومة
--help أو -h سرد الأوامر المتاحة ووسيطاتها.
periods سرد فترات الرسم البياني المتاحة.
accounts سرد الحسابات المرتبطة بـ cTID. --ctid أو -c، --pwd-file، [--broker]، [--environment-variables أو -e]
symbols سرد الرموز المتاحة. --ctid أو -c، --pwd-file، --account أو -a، [--broker]، [--environment-variables أو -e]
metadata عرض البيانات الوصفية حول cBot أو المؤشر. <cbot.algo>
run تشغيل cBot على رمز محدد بفترة معينة. <cbot.algo>، [<params.cbotset>--ctid أو -c، --pwd-file، --account أو -a، [--broker]، [--environment-variables أو -e--symbol، --period، [--full-access]، [--CustomParameter1]، …، [--CustomParameterN]
backtest إجراء اختبار عكسي لـ cBot باستخدام البيانات التاريخية للفترة والرمز والمعلمات الأخرى المحددة. <cbot.algo>, [<params.cbotset>], --start=<start-time>, --end=<end-time>, --data-mode=<data-mode>, [--data-file=<path>], [--balance=<balance>], [--commission=<commission>], [--spread=<pips>], [--report=<path>], [--report-json=<path>], --ctid=<ctid>, --pwd-file=<path>, --account=<id>, --symbol=<name>, --period=<period>, [--CustomParameter1=<value>], [--environment-variables]

التفسيرات

الوسيطة الشرح
<cbot.algo> المسار إلى ملف .algo ذي الصلة (على سبيل المثال، C:/test/mycbot.algo). في أوامر run و metadata و backtest، يجب تحديد هذه المعلمة أولاً.
<params.cbotset> المسار إلى ملف .cbotset الذي يحتوي على قيم المعلمات لـ cBot (على سبيل المثال، C:/test/special-parameters.cbotset). في أوامر run و backtest، يجب تحديد هذه المعلمة مباشرة بعد <cbot.algo>.
الخيار الشرح
--version أو -v إصدار cTrader CLI.
--ctid أو -c اسم المستخدم أو البريد الإلكتروني لـ cTID (على سبيل المثال، --ctid=letstrade، --ctid=letstrade@email.com).
--pwd-file المسار إلى ملف PWD أو TXT يحتوي على كلمة المرور لـ cTID المحدد (على سبيل المثال، --pwd-file=C:/test/password.pwd).
--account أو -a رقم حساب التداول (على سبيل المثال، --account=1234567).
--broker اسم وسيط محدد (على سبيل المثال، --broker=spotware). يتم استخدام هذا الخيار لإزالة الغموض في الحالات التي يكون فيها لـ cTID المحدد عدة حسابات تداول مع وسطاء مختلفين تشترك في نفس الرقم.
--symbol أو -s الرمز الذي يتداول عليه الخوارزمية أو تعمل عليه (على سبيل المثال، --symbol=EURUSD).
--period الفترة لمخطط الرمز (على سبيل المثال، --period=h1). في أوامر run و backtest، هذه المعلمة إلزامية.
--environment-variables أو -e إذا تم تحديده، فإنه يسمح بأخذ قيم الخيارات الأخرى (على سبيل المثال، ctid) من متغيرات البيئة بدلاً من كتابتها بشكل صريح.
--full-access إذا تم تحديده، تعمل الخوارزمية بدون أي قيود على حقوق الوصول.
--CustomParameter1 قيمة أي معلمة مخصصة يتطابق اسمها مع CustomParameter1 (على سبيل المثال، --SpecialPeriods=20).
--balance رأس المال الأولي لـ backtest (على سبيل المثال، --balance=10000).
--commission العمولة لكل مليون لـ backtest (على سبيل المثال، --commission=30).
--spread الفارق بالنقاط لـ backtest (على سبيل المثال، --spread=1).
--data-mode التيكات، مثل m1، m1-csv، open، إلخ، لـ backtest (على سبيل المثال، --data-mode=m1).
--data-file المسار إلى ملف CSV يحتوي على بيانات لـ backtest (على سبيل المثال، --data-file=C:/test/data.csv).
--start وقت البدء بتوقيت UTC بتنسيق DD/MM/YYYY [hh:mm] لـ backtest (على سبيل المثال، --start=01/01/2024 أو --start='01/01/2024 12:34' ).
--end وقت الانتهاء بتوقيت UTC بتنسيق DD/MM/YYY [hh:mm] لـ backtest (على سبيل المثال، --end=31/08/2024 أو --end='31/08/2024 20:56' ).
--report المسار إلى ملف HTML حيث يتم حفظ تقرير backtest (على سبيل المثال، --report=C:/test/report.html).
--report-json المسار إلى ملف JSON حيث يتم حفظ تقرير backtest (على سبيل المثال، --report-json=C:/test/report.json).
--exit-on-stop إذا تم تحديده، تنتهي عملية CLI عندما يتوقف cBot.

الاختبار العكسي في cTrader CLI

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

ملاحظة

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

الأوامر

أمر الاختبار العكسي مع جميع الخيارات الممكنة:

1
ctrader-cli backtest <cbot.algo> [<params.cbotset>] --start=<start-time> --end=<end-time> --data-mode=<data-mode> [--data-file=<path>] [--balance=<balance>] [--commission=<commission>] [--spread=<pips>] [--report=<path>] --ctid=<ctid> --pwd-file=<path> --account=<id> --symbol=<name> --period=<period> [--CustomParameter1=<value>] [--environment-variables]

نموذج لأمر الاختبار العكسي:

1
ctrader-cli backtest 'C:\test\sample martingale.algo' C:\test\special-parameters.cbotset --start='01/01/2024 12:34' --end='31/08/2024 20:56' --balance=10000 --commission=30 --data-mode=m1 --spread=1 --ctid=letstrade --pwd-file=C:\test\password.pwd --account=4791386 

التقارير

بعد تنفيذ أمر backtest، يعرض cTrader CLI أولاً معلومات حول معلمات الاختبار العكسي.

Image title

عند انتهاء عملية الاختبار العكسي، يعرض cTrader CLI ملخصًا للنتائج.

Image title

بالإضافة إلى ذلك، يحفظ cTrader CLI نتائج الاختبار العكسي والتفاصيل المفيدة في مجلد Backtesting. تحصل كل عملية اختبار عكسي على InstanceID فريد ومجلد Backtesting خاص بها.

المسار إلى مثيل اختبار عكسي محدد لـ cBot: …\data\{cBotName}\{BacktestingInstanceID}\Backtesting

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

Image title

يحتوي ملف JSON للأحداث على تفاصيل لكل حدث تداول مهم.

 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
66
67
68
69
70
71
72
73
74
75
76
77
[

 {

  "serial": 0,

  "orderId": null,

  "positionId": 1,

  "event": "Create Position",

  "time": 1704146700000,

  "volume": 100000,

  "quantity": 1,

  "type": "Sell",

  "entryPrice": 1.10426,

  "tp": 1.10026,

  "sl": 1.10826,

  "closePrice": null,

  "grossProfit": 0,

  "pips": 0,

  "balance": null,

  "equity": 10000

 },
 .
 .
 .
 {

  "serial": 284,

  "orderId": null,

  "positionId": 143,

  "event": "Create Position",

  "time": 1725023280000,

  "volume": 200000,

  "quantity": 2,

  "type": "Buy",

  "entryPrice": 1.10559,

  "tp": 1.10959,

  "sl": 1.10159,

  "closePrice": null,

  "grossProfit": 0,

  "pips": 0,

  "balance": null,

  "equity": 32340.43

 }

]

يوفر ملف السجل TXT (نص) معلومات عن بدء وإيقاف cBot وإجراءات التداول والنتائج.

 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
Info | CBot instance [sample martingale, EURUSD, h1] started.

01/01/2024 22:05:00.000 | Trade | Executing Market Order to Sell 100000 EURUSD (SL: 40, TP: 40)

01/01/2024 22:05:00.000 | Trade | → Executing Market Order to Sell 100000 EURUSD (SL: 40, TP: 40) SUCCEEDED, Position PID1

02/01/2024 10:12:00.000 | Info | Closed

02/01/2024 10:12:00.000 | Trade | Executing Market Order to Buy 100000 EURUSD (SL: 40, TP: 40)

02/01/2024 10:12:00.000 | Trade | → Executing Market Order to Buy 100000 EURUSD (SL: 40, TP: 40) SUCCEEDED, Position PID2

02/01/2024 12:22:00.000 | Info | Closed

02/01/2024 12:22:00.000 | Trade | Executing Market Order to Buy 200000 EURUSD (SL: 40, TP: 40)

02/01/2024 12:22:00.000 | Trade | → Executing Market Order to Buy 200000 EURUSD (SL: 40, TP: 40) SUCCEEDED, Position PID3
.

.

.

30/08/2024 13:08:00.000 | Info | Closed

30/08/2024 13:08:00.000 | Trade | Executing Market Order to Buy 200000 EURUSD (SL: 40, TP: 40)

30/08/2024 13:08:00.000 | Trade | → Executing Market Order to Buy 200000 EURUSD (SL: 40, TP: 40) SUCCEEDED, Position PID143

Info | CBot instance [sample martingale, EURUSD, h1] stopped.

يحتوي ملف المعلمات CBOTSET على المعلمات والقيم المستخدمة في عملية الاختبار العكسي.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{

 "Chart": {

  "Symbol": "EURUSD",

  "Period": "h1"

 },

 "Parameters": {

  "InitialQuantity": "1",

  "StopLoss": "40",

  "TakeProfit": "40"

 }

}

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

Image title

استكشاف الأخطاء وإصلاحها

رسالة الخطأ الحل
استثناء غير معالج أو استخدام غير صالح تحقق من الكود الخاص بك بدقة. صحح الأخطاء في بناء الجملة أو قم بإزالة الأوامر أو الخيارات أو الوسائط غير المعروفة.
cTrader CLI لا يدعم cBots الخاصة بـ .NET 4 أعد ترجمة cBot الخاص بك لـ .NET 6 في أحدث تطبيق cTrader لنظام Windows واستخدم ملف cBot الجديد.
لا يمكن إنشاء الاتصال تحقق من اتصال الإنترنت على جهاز الكمبيوتر الخاص بك وقم بإصلاحه.
بيانات اعتماد cTrader ID غير صالحة تحقق بدقة من البريد الإلكتروني أو اسم المستخدم أو كلمة المرور المحددة لـ cTrader ID.
لا يمكن العثور على الحساب استخدم الأمر accounts لسرد جميع حسابات التداول المرتبطة بـ cTrader ID الخاص بك ثم حدد الرقم الصحيح.
اسم رمز غير معروف استخدم الأمر symbols لسرد الرموز المتاحة ثم حدد الرمز الصحيح.
فترة غير معروفة استخدم الأمر periods لسرد الفترات المتاحة ثم حدد الفترة الصحيحة.
الإغلاق الإجباري (للاختبار العكسي فقط) قم بتحسين كود cBot الخاص بك، أو تغيير معلماته لمنع نداءات الهامش أو قم بكليهما.
لا توجد بيانات تاريخية للفترة المحددة (للاختبار العكسي فقط) قم بتوفير المسار إلى ملف يحتوي على بيانات تاريخية للفترة المحددة أو حدد فترة أخرى.
مطلوب AccessRights إضافية. استخدم --full-access لمنح cBot صلاحيات مرتفعة.
تنسيق ملف CBOTSET غير صالح فكر في إنشاء ملف CBOTSET الخاص بك باستخدام أحدث إصدار من cTrader لنظام Windows لضمان صحته.
رقم حساب غامض استخدم --broker لتحديد الوسيط المرتبط بالحساب بشكل صريح لتجنب الغموض.
cBot غير مدعوم قم ببناء cBot الخاص بك باستخدام .NET 6 في أحدث إصدار من cTrader لنظام Windows، قم بتصدير cBot ثم استخدم الملف المصدر.
إعدادات غير صالحة (للاختبار العكسي فقط) تحقق بدقة من جميع المعلمات المحددة للاختبار العكسي وصحح الأخطاء.

واجهة برمجة تطبيقات cTrader Algo في cTrader CLI

تتصرف بعض أعضاء واجهة برمجة تطبيقات cTrader Algo بشكل مختلف في cTrader CLI. يسرد الجدول أدناه الأعضاء ويصف التغيير في سلوكهم.

عضو واجهة برمجة تطبيقات cAlgo السلوك في cTrader CLI
MessageBox يُرجع MessageBoxResult.None.
Window يتم تجاهل جميع الطرق. لا يتم عرض أي نافذة.
Notifications.PlaySound يتم تجاهلها تمامًا.
Chart.TakeChartshot يُرجع null.

الملخص

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

Image title