cTrader CLI
cTrader CLI membolehkan pedagang mengurus operasi akaun dan dagangan algo secara langsung daripada konsol atau terminal tanpa melancarkan atau bergantung pada aplikasi cTrader biasa. Dengan cTrader CLI, pengguna hanya perlu menaip arahan ke dalam terminal berasaskan teks untuk mengakses dan menjalankan algoritma cTrader.
cTrader CLI dalam satu minit!
- Jalankan cBot dalam Windows dan Linux tanpa melancarkan atau bergantung pada aplikasi cTrader Desktop dan jimatkan sumber RAM dan CPU.
- Laksanakan kawalan yang lebih teguh ke atas instans cBot dan jalankan cBot di bawah akaun yang berbeza tanpa membuka beberapa tetingkap aplikasi cTrader.
- Cipta program tersuai yang menggunakan cTrader CLI untuk memulakan, menghentikan dan mengurus algoritma dagangan dalam bahasa pengaturcaraan pilihan anda.
- Integrasikan cTrader CLI dengan alat AI generatif dan gunakan bahasa semula jadi untuk mengeluarkan arahan kepada algoritma.
Amaran
cTrader CLI tersedia dalam cTrader 4.8 atau versi yang lebih baharu dan hanya berfungsi dengan algo .NET 6 moden.
Kaedah pelancaran dan penggunaan
Melalui cTrader Windows
Nota
Kemahiran baris arahan atau pengaturcaraan tidak diperlukan untuk menggunakan cTrader CLI. Anda boleh menyediakan dan menggunakan parameter pilihan anda untuk cBot dalam cTrader Windows dan kemudian mengarahkan cTrader Windows untuk memulakan cBot anda dalam proses luaran cTrader CLI.
Untuk menjalankan cBot dalam cTrader CLI, klik kanan pada instans tempatan cBot tersebut dalam cTrader Windows dan kemudian pilih Mula dalam proses luaran.

cTrader CLI dilancarkan secara automatik dan mula menjalankan instans secara bebas daripada aplikasi cTrader Windows.
Selepas anda memulakan instans cBot dalam proses luaran cTrader CLI, anda boleh menutup cTrader Windows untuk menjimatkan sumber CPU dan RAM, kerana cTrader CLI tidak memerlukan cTrader Windows untuk terus dibuka.
Melalui baris arahan Windows
Anda boleh melancarkan cTrader CLI daripada mana-mana program baris arahan dalam Windows, seperti Command Prompt atau Windows PowerShell.
Pertama, navigasi ke folder yang mengandungi ctrader-cli dan salin laluan. Fail boleh laku cTrader CLI biasanya terletak dalam direktori yang sama dengan aplikasi cTrader Windows anda:
1 | |

Kedua, buka Command Prompt atau Windows PowerShell, taip cd, tambah ruang dan kemudian tampal laluan yang anda salin sebelum ini. Kod anda sepatutnya kelihatan seperti ini:
1 | |
Jalankan kod, dan program baris arahan anda akan memasuki direktori yang mengandungi fail boleh laku ctrader-cli.
Akhir sekali, anda boleh menaip ctrader-cli.exe diikuti dengan mana-mana <command> yang sah dan laksanakannya. Contohnya, anda boleh menjalankan ctrader-cli.exe periods untuk melihat tempoh yang tersedia.

Tambah pemboleh ubah laluan
Info
Selepas anda menambah cTrader CLI pada pemboleh ubah persekitaran PATH anda, anda tidak lagi perlu menavigasi ke direktori yang mengandungi ctrader-cli sebelum menjalankan arahan dalam mesin Windows anda. Sebaliknya, anda akan dapat menjalankan arahan di mana-mana lokasi atau folder dengan hanya menaip ctrader-cli diikuti dengan <command>.
Pertama, cari folder yang mengandungi ctrader-cli seperti yang anda lakukan sebelum ini dan salin laluan.
1 | |
Cari Environment variables dalam menu Mula Windows. Klik Edit the system environment variables.

Dalam tetingkap System properties, klik Environment variables. Klik dua kali Path di bawah User variables for {username}. Dalam tetingkap Edit environment variable, klik butang New dan kemudian tampal laluan yang anda salin sebelum ini ke dalam medan.
Klik OK sehingga semua dialog ditutup.
Melalui imej Docker Linux
cTrader CLI tersedia sebagai imej Docker Linux, membolehkan anda menjalankan cBot pada tika VPS Linux yang murah, pelayan berprestasi tinggi dan platform awan yang boleh dipercayai. Imej ini juga boleh digunakan pada Windows melalui Docker Desktop (WSL) sebagai bekas Docker.
Nota
Jika anda baharu dalam Docker, anda dinasihatkan untuk mengkaji dokumentasinya dan membiasakan diri dengan konsep yang diperlukan.
Imej Docker cTrader CLI diterbitkan di bawah pakej Github Spotware dan keluaran baharu disediakan dengan setiap kemas kini utama cTrader Windows.
Untuk menggunakan imej Docker cTrader CLI, pastikan Docker dipasang pada mesin anda, kemudian tarik imej Docker cTrader CLI terkini yang tersedia:
1 | |
Selepas menarik imej, anda perlu mencipta dan menjalankan bekas. Oleh kerana bekas Docker dijalankan dalam kotak pasir maya yang diasingkan daripada sistem pengendalian anda, anda mesti membenarkan bekas untuk mengakses fail algoritma cBot dan fail kata laluan cTID anda secara jelas. Ini boleh dicapai menggunakan ciri lekapan Docker, yang membolehkan bekas mengakses direktori atau fail daripada sistem hos.
Arahan di bawah mencipta bekas berdasarkan imej yang ditarik dan menjalankan cBot:
1 | |
1 2 3 4 5 6 7 8 9 | |
Parameter yang tinggal dalam arahan dijelaskan di bawah:
| Parameter | Penerangan |
|---|---|
--name ctrader.console.run.mybot | Menentukan nama bekas. |
--mount type=bind,src=/cAlgo/Robots,dst=/mnt/Robots | Melekapkan direktori hos /cAlgo/Robots ke direktori bekas /mnt/Robots. |
-e CTID='mycid' | Menetapkan nama pengguna cTID anda sebagai pemboleh ubah persekitaran. |
-e PWD-FILE='/mnt/Robots/ctrader-cli.pwd' | Menentukan laluan ke fail kata laluan cTID anda, relatif kepada titik lekapan. |
-e ACCOUNT='9102302' | Menetapkan nombor akaun dagangan anda sebagai pemboleh ubah persekitaran. |
-e SYMBOL='EURUSD' | Menetapkan nama simbol sebagai pemboleh ubah persekitaran. |
-e PERIOD='H1' | Menetapkan tempoh sebagai pemboleh ubah persekitaran. |
"/mnt/Robots/My bot.algo" | Menentukan laluan ke fail algoritma cBot anda, relatif kepada titik lekapan. |
--environment-variables | Memaklumkan cTrader CLI bahawa pemboleh ubah persekitaran sedang digunakan untuk menghantar tetapan konfigurasi. |
Anda juga boleh mencipta imej Docker sedia untuk dijalankan berdasarkan imej cTrader CLI, menyalin fail algoritma anda ke dalamnya dan kemudian mengkonfigurasi semua pemboleh ubah persekitaran dan tetapan lain secara langsung dalam imej.
Nota
Semua ciri cTrader CLI tersedia apabila menggunakan imej Docker, termasuk ujian belakang dan arahan lain yang diterangkan dalam artikel ini.
Kes penggunaan biasa
Ini adalah senarai operasi popular yang digunakan oleh pedagang untuk cTrader CLI:
-
Dapatkan semua simbol
1ctrader-cli symbols --ctid=letstrade@email.com --pwd-file=C:/test/password.pwd --account=1234567Respons:
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" } ] -
Dapatkan metadata algo
1ctrader-cli metadata C:/test/RSI_cBot.algoRespons:
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 } ] } -
Jalankan ujian belakang cBot
1ctrader-cli run C:\test\mycbot.algo -c=letstrade@email.com --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 -
Jalankan cBot dengan parameter lalai
1ctrader-cli run C:\test\mycbot.algo -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 -
Jalankan cBot dengan parameter tersuai
1ctrader-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 -
Jalankan cBot dengan parameter yang disimpan dalam fail
1ctrader-cli run C:\mycbot.algo C:\test\mysettings.cbotset -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1
Perincian arahan
cTrader CLI beroperasi dengan cara yang sama seperti mana-mana alat baris arahan. Pengguna menaip ctrader-cli bersama dengan arahan yang telah ditentukan dan menjalankannya. Sebagai contoh, arahan periods digunakan dengan cara ini untuk menyenaraikan semua tempoh carta di mana algoritma boleh dijalankan:
1 | |
Sesetengah arahan mempunyai pilihan atau hujah yang mengikuti peraturan ini:
-
--ditulis sebelum versi penuh pilihan (seperti,--ctid,--symbol) manakala-ditulis sebelum versi ringkas (seperti,-c,-s). -
Nilai pilihan boleh ditentukan menggunakan ruang (seperti,
--ctid letstrade,--symbol EURUSD) atau menggunakan tanda sama dengan (seperti,--ctid=letstrade,--symbol=EURUSD). -
Tidak seperti pilihan, hujah ditaip sebagaimana adanya. Pertimbangkan laluan ke algoritma. Ia adalah hujah yang hanya ditaip:
C:/test/mycbot.algo
Contoh
-
Arahan dengan pilihan
Arahan
accountsini, yang mengambil--ctiddan--pwd-filesebagai pilihannya, mengoutputkan data pada semua akaun yang dikaitkan dengan letstrade:1ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd -
Arahan dengan hujah
Arahan
metadataini, yang mengambil laluan ke algo sebagai hujah tunggalnya, mengoutputkan metadata penting tentang algo:1ctrader-cli metadata C:/Users/{username}/Documents/cAlgo/Sources/Robots/mycoolcbot.algo
Sebarang laluan atau nilai yang mengandungi ruang mesti ditentukan menggunakan tanda petik tunggal atau berganda seperti yang ditunjukkan di bawah:
- Hujah seperti
'C:/test for cbot/my cbot.algo'atau"C:/test for cbot/my cbot.algo" - Pilihan seperti
--pwd-file='C:\test for cbot\password.pwd'atau--pwd-file="C:\test for cbot\password.pwd",--start='01/01/2024 12:34'atau--start="01/01/2024 12:34"dan lain-lain.
Nota
Jika anda memilih gaya untuk melakukan sesuatu, elakkan daripada menggunakan gaya yang berbeza kemudian dalam kod anda. Sebagai contoh, apabila anda telah menggunakan tanda petik tunggal (') untuk laluan atau nilai yang mengandungi ruang, anda perlu menggunakan tanda petik tunggal untuk laluan atau nilai lain yang mengandungi ruang dalam kod anda.
Mencipta fail PWD atau TXT
Kata laluan untuk ID cTrader tidak ditentukan secara langsung. Sebaliknya, ia disimpan dalam fail PWD atau TXT dan kemudian pilihan --pwd-file digunakan untuk menentukan laluan ke fail (seperti, --pwd-file=C:\test\password.pwdatau --pwd-file=C:\test\password.txt).
Buka dokumen kosong dalam penyunting teks seperti Notepad, tampal atau taip kata laluan anda (tanpa sebarang ruang putih), kemudian simpan fail dengan sambungan .pwd atau .txt.
Semua arahan CLI
Nota
Pilihan tidak wajib untuk arahan tertentu ditandakan dalam kurungan siku, contohnya, [--broker] dalam jadual di bawah. Apabila anda menggunakan pilihan sedemikian dalam kod anda, anda perlu menaipmya tanpa kurungan siku, contohnya, --broker.
| Arahan | Fungsi | Pilihan dan hujah yang disokong |
|---|---|---|
--help atau -h | Senaraikan arahan yang tersedia dan hujahnya. | — |
periods | Senaraikan tempoh carta yang tersedia. | — |
accounts | Senaraikan akaun yang dikaitkan dengan cTID. | --ctid atau -c, --pwd-file, [--broker], [--environment-variables atau -e] |
symbols | Senaraikan simbol yang tersedia. | --ctid atau -c, --pwd-file, --account atau -a, [--broker], [--environment-variables atau -e] |
metadata | Tunjukkan metadata tentang cBot atau indikator. | <cbot.algo> |
run | Jalankan cBot pada simbol tertentu dengan tempoh yang diberikan. | <cbot.algo>, [<params.cbotset>], --ctid atau -c, --pwd-file, --account atau -a, [--broker], [--environment-variables atau -e], --symbol, --period, [--full-access], [--CustomParameter1], …, [--CustomParameterN] |
backtest | Jalankan ujian belakang cBot menggunakan data sejarah untuk tempoh, simbol dan parameter lain yang ditentukan. | <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] |
Penjelasan
| Hujah | Penjelasan |
|---|---|
<cbot.algo> | Laluan ke fail .algo yang berkaitan (contohnya, C:/test/mycbot.algo). Dalam arahan run, metadata dan backtest, parameter ini mesti dinyatakan dahulu. |
<params.cbotset> | Laluan ke fail .cbotset yang mengandungi nilai parameter untuk cBot (contohnya, C:/test/special-parameters.cbotset). Dalam arahan run dan backtest, parameter ini mesti dinyatakan serta-merta selepas <cbot.algo>. |
| Pilihan | Penjelasan |
|---|---|
--version atau -v | Versi cTrader CLI. |
--ctid atau -c | Nama pengguna atau e-mel cTID (contohnya, --ctid=letstrade, --ctid=letstrade@email.com). |
--pwd-file | Laluan ke fail PWD atau TXT yang mengandungi kata laluan untuk cTID yang dinyatakan (contohnya, --pwd-file=C:/test/password.pwd). |
--account atau -a | Nombor akaun dagangan (contohnya, --account=1234567). |
--broker | Nama broker tertentu (contohnya, --broker=spotware). Pilihan ini digunakan untuk menghapuskan kekaburan dalam kes di mana cTID yang dinyatakan mempunyai beberapa akaun dagangan dengan broker berbeza yang berkongsi nombor yang sama. |
--symbol atau -s | Simbol yang algoritma berdagang atau beroperasi (contohnya, --symbol=EURUSD). |
--period | Tempoh untuk carta simbol (contohnya, --period=h1). Dalam arahan run dan backtest, parameter ini adalah wajib. |
--environment-variables atau -e | Jika dinyatakan, ia membolehkan nilai untuk pilihan lain (contohnya, ctid) diambil dari pemboleh ubah persekitaran dan bukannya ditaip secara jelas. |
--full-access | Jika dinyatakan, algoritma berjalan tanpa sebarang had hak akses. |
--CustomParameter1 | Nilai mana-mana parameter tersuai yang namanya sepadan dengan CustomParameter1 (contohnya, --SpecialPeriods=20). |
--balance | Modal permulaan untuk backtest (contohnya, --balance=10000). |
--commission | Komisen per juta untuk backtest (contohnya, --commission=30). |
--spread | Spread dalam pip untuk backtest (contohnya, --spread=1). |
--data-mode | Tik, seperti m1, m1-csv, open, dll., untuk backtest (contohnya, --data-mode=m1). |
--data-file | Laluan ke fail CSV yang mengandungi data untuk backtest (contohnya, --data-file=C:/test/data.csv). |
--start | Masa mula dalam UTC dalam format DD/MM/YYYY [hh:mm] untuk backtest (contohnya, --start=01/01/2024 atau --start='01/01/2024 12:34' ). |
--end | Masa tamat dalam UTC dalam format DD/MM/YYY [hh:mm] untuk backtest (contohnya, --end=31/08/2024 atau --end='31/08/2024 20:56' ). |
--report | Laluan ke fail HTML di mana laporan backtest disimpan (contohnya, --report=C:/test/report.html). |
--report-json | Laluan ke fail JSON di mana laporan backtest disimpan (contohnya, --report-json=C:/test/report.json). |
--exit-on-stop | Jika dinyatakan, proses CLI ditamatkan apabila cBot berhenti. |
Ujian belakang dalam cTrader CLI
Ujian belakang membolehkan pedagang menggunakan data sejarah untuk menilai prestasi dan kebolehpercayaan cBot, menemui kekuatan atau kelemahan dan bereksperimen dengan parameter. Dengan mensimulasikan dagangan pada keadaan pasaran masa lalu, ujian belakang membantu menentukan bagaimana algoritma mungkin berprestasi sebelum dana sebenar dikomitmen dalam pasaran langsung.
Nota
Walaupun ujian belakang tidak menjamin bahawa algoritma akan berjaya, ia memberikan sokongan statistik yang mengurangkan risiko kegagalan yang tidak dijangka dalam persekitaran dagangan langsung.
Arahan
Arahan ujian belakang dengan semua pilihan yang mungkin:
1 | |
Contoh arahan ujian belakang:
1 | |
Laporan
Selepas arahan backtest dilaksanakan, cTrader CLI mula memaparkan maklumat tentang parameter ujian belakang.

Apabila operasi ujian belakang selesai, cTrader CLI memaparkan ringkasan keputusan.

Selain itu, cTrader CLI menyimpan keputusan ujian belakang dan butiran berguna dalam folder Backtesting. Setiap operasi ujian belakang mendapat InstanceID dan folder Backtesting uniknya sendiri.
Laluan ke contoh ujian belakang cBot tertentu: …\data\{cBotName}\{BacktestingInstanceID}\Backtesting
Folder data dalam laluan di atas biasanya berada dalam direktori yang sama dengan fail algo cBot yang dinyatakan semasa ujian belakang.

Fail JSON peristiwa mengandungi butiran untuk setiap peristiwa dagangan penting.
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 | |
Fail log TXT (teks) memberikan maklumat tentang permulaan cBot, berhenti, tindakan dagangan dan hasil.
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 | |
Fail CBOTSET parameter mengandungi parameter dan nilai yang digunakan dalam operasi ujian belakang.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Fail HTML laporan adalah laporan GUI yang memberikan gambaran keseluruhan operasi ujian belakang, statistik dagangan, sejarah pesanan dan banyak butiran penting. Ia boleh dilihat dalam mana-mana pelayar web.
Menyelesaikan masalah ralat
| Mesej ralat | Penyelesaian |
|---|---|
| Pengecualian tidak ditangani atau penggunaan tidak sah | Periksa kod anda dengan teliti. Betulkan kesilapan dalam sintaks atau buang arahan, pilihan atau hujah yang tidak diketahui. |
| cTrader CLI tidak menyokong cBot .NET 4 | Kompil semula cBot anda untuk .NET 6 dalam aplikasi cTrader Windows terkini dan gunakan fail cBot baharu. |
| Sambungan tidak dapat dibuat | Periksa dan baiki sambungan internet pada komputer anda. |
| Kelayakan cTrader ID tidak sah | Periksa e-mel cTrader ID, nama pengguna atau kata laluan yang dinyatakan dengan teliti. |
| Akaun tidak dapat dijumpai | Gunakan arahan accounts untuk menyenaraikan semua akaun dagangan yang dipautkan ke cTrader ID anda dan kemudian nyatakan nombor yang betul. |
| Nama simbol tidak diketahui | Gunakan arahan symbols untuk menyenaraikan simbol yang tersedia dan kemudian nyatakan simbol yang betul. |
| Tempoh tidak diketahui | Gunakan arahan periods untuk menyenaraikan tempoh yang tersedia dan kemudian nyatakan tempoh yang betul. |
| Henti keluar (ujian belakang sahaja) | Tingkatkan kod cBot anda, ubah parameternya untuk mencegah panggilan margin atau lakukan kedua-duanya. |
| Tiada data sejarah untuk tempoh yang dinyatakan (ujian belakang sahaja) | Berikan laluan ke fail yang mengandungi data sejarah untuk tempoh yang dinyatakan atau nyatakan tempoh lain. |
AccessRights tambahan diperlukan. | Gunakan --full-access untuk memberikan cBot hak yang ditingkatkan. |
| Format fail CBOTSET tidak sah | Pertimbangkan untuk menjana fail CBOTSET anda menggunakan versi terkini cTrader Windows untuk memastikan kesahihan. |
| Nombor akaun yang kabur | Gunakan --broker untuk menyatakan broker yang berkaitan dengan akaun secara jelas untuk mengelakkan kekaburan. |
| cBot tidak disokong | Bina cBot anda menggunakan .NET 6 dalam cTrader Windows terkini, eksport cBot tersebut dan kemudian gunakan fail yang dieksport. |
| Tetapan tidak sah (ujian belakang sahaja) | Periksa semua parameter yang dinyatakan untuk ujian belakang dengan teliti dan betulkan kesilapan. |
API cTrader Algo dalam CLI cTrader
Sesetengah ahli API cTrader Algo berkelakuan berbeza dalam CLI cTrader. Jadual di bawah menyenaraikan ahli-ahli tersebut dan menerangkan perubahan dalam tingkah laku mereka.
| Ahli API cAlgo | Tingkah laku dalam CLI cTrader |
|---|---|
MessageBox | Mengembalikan MessageBoxResult.None. |
Window | Semua kaedah diabaikan. Tiada tetingkap dipaparkan. |
Notifications.PlaySound | Diabaikan sepenuhnya. |
Chart.TakeChartshot | Mengembalikan null. |
Ringkasan
CLI cTrader ialah ciri penting bagi pedagang yang ingin mengembangkan skop aktiviti dagangan algoritma mereka kerana ia membolehkan mereka menjalankan dan menguruskan cBot dengan cekap menggunakan arahan baris perintah yang mudah. Pengguna sentiasa digalakkan untuk mengintegrasikan CLI cTrader dengan API yang berguna dan perkhidmatan pihak ketiga yang sesuai dengan keperluan mereka.
