تشغيل أوامر 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.
- العدد الافتراضي 50، والحد الأقصى 200 للأمر
يُتجاهل --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.