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

تشغيل أوامر cTrader CLI

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

بنية الأوامر

تتبع جميع أوامر cTrader CLI البنية نفسها:

ctrader-cli <command> [arguments] [options]
  • تبدأ الخيارات ببادئة. -- هي الصيغة الطويلة، و- هي الصيغة المختصرة (--symbol و-s متكافئان).
  • تُفصل قيم الخيارات بمسافة أو بعلامة المساواة. كلتا الصيغتين --symbol EURUSD و--symbol=EURUSD صحيحتان.
  • الوسيطات هي قيم موضعية لا تبدأ ببادئة. يُعدّ مسار ملف .algo وسيطةً.
  • يجب وضع القيم التي تحتوي على مسافات بين علامتَي اقتباس مفردتين أو مزدوجتين، مثل '/opt/my cbots/trend cbot.algo'. استخدم نوعًا واحدًا من علامات الاقتباس باستمرار داخل الأمر الواحد.

المصادقة

يدعم cTrader CLI نمطين للمصادقة. يعتمد كلاهما على ملف بيانات الاعتماد الذي تُعدّه أثناء الإعداد.

النمط الخيارات المطلوبة الأوامر الشائعة
التنفيذ الدفعي --ctid و--pwd-file periods وaccounts وsymbols وmetadata وrun وbacktest
تفاعلي --ctid و--password أو --pwd-file و-q account وorders وprice وcandles وpositions وexposure وalerts وأوامر المؤشرات

ملاحظة

لا تقبل أوامر التنفيذ الدفعي الخيار --password. تقبل الأوامر التفاعلية إما --password أو --pwd-file.

تتوفر الأوامر accounts وsymbols وmetadata وrun وbacktest في كلا النمطين. ويُحدَّد ما إذا كانت ستُنفَّذ دفعيًا أم تفاعليًا وفقًا للخيارات التي تُدخلها:

  • مسار التنفيذ الدفعي – يقرأ بيانات الاعتماد من --pwd-file (أو --broker) ويُنفَّذ دون تفاعل.
  • المسار التفاعلي – يستخدم --password و-q (أو أي خيار خاص بالأمر) ويُنفَّذ كاستدعاء تفاعلي.

معرّفات الفترات الزمنية

تقبل أوامر كثيرة قيمةً للخيار --period. شغّل ctrader-cli periods لعرض جميع المعرّفات المقبولة. تشمل المعرّفات الدقائق والساعات والأيام والأسابيع والأشهر، إضافةً إلى التيكات وRenko وشموع النطاق وإصدارات Heikin Ashi. لا يميّز تحليل المعرّفات بين الأحرف الكبيرة والصغيرة.

وحدات حجم التداول

يقبل --volume وحدات عملة الأساس أو اللوتات. استخدم --volume-type=units (الافتراضي) أو --volume-type=lots لتحديد كيفية تفسير الحجم. بالنسبة إلى معظم رموز الفوركس، تعادل 100,000 وحدة لوتًا قياسيًا واحدًا.

عند استخدام --volume-type=lots وحدات الأصل الأساسي
--volume=1 100,000
--volume=0.1 10,000
--volume=0.01 1,000

تحذير

يختلف حجم اللوت حسب الرمز في المعادن والمؤشرات والعملات المشفرة. لذلك، قد يؤدي إدخال القيمة نفسها --volume=1 إلى فتح مركز أكبر مما تقصده. تحقق من قيمة lotSize الخاصة بالرمز قبل التداول:

ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD

على سبيل المثال، إذا كانت قيمة lotSize: 100 لرمز XAUUSD، فإن --volume=1 --volume-type=lots يفتح مركزًا بحجم 100 وحدة.

التواريخ والأوقات

تُعبَّر جميع التواريخ والأوقات في cTrader CLI بتوقيت UTC. لا تستخدم واجهة CLI المنطقة الزمنية المحلية لجهازك ولا توقيت خادم الوسيط.

يُطبَّق توقيت UTC على مخرجات الأوامر ومدخلات التواريخ كما يلي:

  • المخرجات: تُعرض جميع الطوابع الزمنية في مخرجات JSON بتوقيت UTC وبصيغة ISO 8601 مع Z، مثل 2026-10-08T14:05:00.000Z.
  • الأوامر التفاعلية (candles وdeals وorders-history وbacktest عند تشغيله باستخدام -q): لا يقبل الخياران --from و--to إلا تاريخًا بصيغة yyyy-MM-dd أو dd/MM/yyyy أو dd-MM-yyyy أو yyyy/MM/dd. يشير التاريخ إلى يوم تقويمي بتوقيت UTC.
    • بالنسبة إلى deals وorders-history، يشمل --to اليوم كاملًا حتى الساعة 23:59:59 بتوقيت UTC.
    • بالنسبة إلى candles، يشير --to إلى بداية ذلك اليوم (00:00 UTC). لتضمين يوم كامل، اضبط --to على اليوم التالي.
    • دون --from / --to، يغطي الأمر التفاعلي backtest آخر 7 أيام.
  • أوامر التنفيذ الدفعي (backtest وغيرها): تستخدم التواريخ الصيغة dd/MM/yyyy، ويمكن إضافة الوقت بنظام 24 ساعة بصيغة dd/MM/yyyy HH:mm، مثل 31/12/2026 18:00، وكل ذلك بتوقيت UTC.

الاستثناء الوحيد هو روبوت cBot قيد التشغيل (run وbacktest). يتبع توقيته إعداد TimeZone المحدد في روبوت cBot، كما هو الحال في cTrader Algo.

الاطلاع على بيانات الحساب والسوق

لا يتطلب ctrader-cli periods حسابًا أو بيانات اعتماد، ولذلك يُعدّ اختبارًا أوليًا جيدًا.

ctrader-cli periods

اعرض حسابات التداول المرتبطة بمعرّف cTrader ID الخاص بك:

ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd

بعد معرفة رقم الحساب، اعرض الرموز المتاحة في ذلك الحساب:

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

اطّلع على السعر الحالي لأحد الرموز واسترجع الشموع التاريخية باستخدام نص برمجي:

ctrader-cli price --ctid=letstrade --password=secret --account=1234567 -q --symbol=EURUSD
ctrader-cli candles --ctid=letstrade --password=secret --account=1234567 -q --symbol=EURUSD --period=h1 --count=200 > eurUSD_h1.json

حدود السجل التاريخي

تخضع الأوامر deals وorders-history للحدود التالية عند استرجاع السجل التاريخي:

  • يحمّل CLI النطاق الكامل المحدد بواسطة --from / --to دون حدّ لمدة النطاق.
  • لكن الاستدعاء الواحد يُرجع أحدث 200 صفقة فقط (deals) أو أحدث 500 أمر تداول (orders-history) ضمن النطاق.
  • دون --from / --to، يُرجع كلا الأمرين بيانات آخر 30 يومًا فقط.
  • يحدد --count عدد السجلات المطلوب إرجاعها:

    • العدد الافتراضي 50، والحد الأقصى 200 للأمر deals.
    • العدد الافتراضي 100، والحد الأقصى 500 للأمر orders-history.

يُتجاهل --count عند تحديد --from أو --to، وعندئذٍ يُرجع الاستدعاء ما يصل إلى الحد الأقصى من السجلات.

إذا احتوى النطاق على سجلات أكثر مما يُرجعه استدعاء واحد، فقسّمه إلى نطاقات أقصر وشغّل الأمر لكل نطاق.

لمعرفة ما إذا كانت النتائج قد اقتُطعت، افحص المخرجات:

  • orders-history: تحتوي المخرجات على الحقلين available وreturned. إذا كانت available أكبر من returned، فهناك أوامر تداول إضافية ضمن النطاق.
  • deals: إذا كانت قيمة count تساوي 200 تمامًا، فقد يحتوي النطاق على صفقات إضافية.

الإجراءات الجماعية في واجهة الأوامر التفاعلية

في واجهة الأوامر التفاعلية، تقبل عدة أوامر إضافة all وyes في النهاية لتنفيذ إجراءات جماعية وتجاوز طلب التأكيد.

الأمر الصيغة التي تنتهي بـ all وyes
order cancel order cancel all yes
position close position close all yes
stop stop all yes
alert delete alert delete all yes

تشغيل الأوامر تفاعليًا

شغّل ctrader-cli دون تحديد أمر لفتح واجهة الأوامر التفاعلية. عندما يُطلب منك ذلك، سجّل الدخول باستخدام cTID وكلمة المرور، ثم أدخل الأوامر تباعًا دون الحاجة إلى إعادة إدخال بيانات الاعتماد. هذا مناسب عندما تريد تشغيل عدة أوامر متتالية.

لتشغيل أمر واحد ثم الخروج فورًا، أضف -q. يكون ذلك مفيدًا في النصوص البرمجية التي ينبغي أن تنتهي عمليتها بمجرد اكتمال الأمر.

يساعدك خياران على معرفة الوظائف التي تدعمها CLI.

الخيار الغرض
--help عرض الخيارات العامة وصيغ تشغيل الأداة.
--commands عرض جميع الأوامر التفاعلية وصيغ الوسيطات الموضعية الخاصة بها دون الحاجة إلى المصادقة.

إذا كان cTrader ID الخاص بك مرتبطًا بحسابات لدى أكثر من وسيط تحمل رقم الحساب نفسه، فأضف --broker=<broker-name> لإزالة الالتباس.

الأخطاء الشائعة

العَرَض السبب المحتمل الخطوة التالية
ctrader-cli: command not found مسار CLI غير موجود في PATH. أعِد فتح الطرفية أو اتبع خطوات التثبيت اليدوي في دليل الإعداد.
Parameter password is not allowed استخدمت --password مع أمر تنفيذ دفعي. استخدم --pwd-file بدلًا منه؛ ترد القاعدة الكاملة في دليل الإعداد.
Account cannot be found رقم الحساب ملتبس لأنه مستخدم لدى أكثر من وسيط. أضف --broker=<broker-name>.
Unknown symbol name اسم الرمز غير صحيح أو غير مدعوم. شغّل symbols واستخدم الاسم الدقيق الظاهر في المخرجات.
Unknown period معرّف الفترة الزمنية غير صحيح. شغّل periods لعرض جميع المعرّفات المقبولة.

ملاحظة

للاطلاع على جميع الخيارات وقيمها الافتراضية وأوصافها الكاملة، راجع مرجع أوامر CLI.