Langkau tajuk talian

Jalankan perintah cTrader CLI

Artikel ini menerangkan struktur perintah cTrader CLI, cara pengesahan berfungsi dan cara membaca data akaun, harga serta sejarah.

Struktur perintah

Setiap perintah cTrader CLI mengikut struktur yang sama:

ctrader-cli <command> [arguments] [options]
  • Pilihan bermula dengan awalan. -- ialah bentuk panjang dan - ialah bentuk pendek (--symbol dan -s adalah setara).
  • Nilai pilihan dipisahkan menggunakan ruang atau tanda sama dengan. Kedua-dua --symbol EURUSD dan --symbol=EURUSD adalah sah.
  • Argumen ialah nilai berdasarkan kedudukan tanpa awalan. Laluan ke fail .algo ialah argumen.
  • Nilai yang mengandungi ruang mesti diletakkan dalam tanda petikan tunggal atau berganda, seperti '/opt/my cbots/trend cbot.algo'. Gunakan jenis tanda petikan yang sama secara konsisten dalam satu perintah.

Pengesahan

cTrader CLI mempunyai dua kaedah pengesahan. Kedua-duanya menggunakan fail kelayakan yang anda sediakan semasa persediaan.

Kaedah Pilihan yang diperlukan Perintah lazim
Kelompok --ctid dan --pwd-file periods, accounts, symbols, metadata, run, backtest
Interaktif --ctid, --password atau --pwd-file dan -q account, orders, price, candles, positions, exposure, alerts, perintah penunjuk

Nota

Perintah kelompok tidak menerima --password. Perintah interaktif menerima sama ada --password atau --pwd-file.

Perintah accounts, symbols, metadata, run dan backtest tersedia dalam kedua-dua kaedah. Bergantung pada pilihan yang diberikan, perintah tersebut dijalankan melalui kaedah kelompok atau interaktif:

  • Kaedah kelompok – membaca kelayakan daripada --pwd-file (atau --broker) dan berjalan tanpa interaksi.
  • Kaedah interaktif – menggunakan --password dan -q (atau sebarang pilihan khusus perintah) untuk menjalankan panggilan interaktif.

Pengecam tempoh masa

Banyak perintah menerima nilai --period. Jalankan ctrader-cli periods untuk menyenaraikan semua pengecam yang diterima. Pengecam merangkumi minit, jam, hari, minggu dan bulan, serta tick, Renko, bar julat dan variasi Heikin Ashi. Huruf besar dan kecil tidak dibezakan semasa mentafsir pengecam.

Unit volum

--volume menerima unit mata wang asas atau lot. Gunakan --volume-type=units (lalai) atau --volume-type=lots untuk menentukan cara volum ditafsirkan. Bagi kebanyakan simbol Forex, 100,000 unit bersamaan satu lot standard.

Dengan --volume-type=lots Unit aset asas
--volume=1 100,000
--volume=0.1 10,000
--volume=0.01 1,000

Amaran

Bagi logam, indeks dan kripto, saiz lot berbeza mengikut simbol. Oleh itu, nilai --volume=1 yang sama boleh membuka posisi lebih besar daripada yang anda maksudkan. Semak nilai lotSize bagi simbol sebelum berdagang:

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

Contohnya, jika XAUUSD mempunyai lotSize: 100, maka --volume=1 --volume-type=lots membuka posisi sebanyak 100 unit.

Tarikh dan masa

Semua tarikh dan masa dalam cTrader CLI menggunakan UTC. CLI tidak pernah menggunakan zon waktu tempatan komputer anda atau waktu pelayan broker.

UTC digunakan untuk output perintah dan input tarikh seperti berikut:

  • Output: semua cap masa dalam output JSON menggunakan UTC dalam format ISO 8601 dengan Z, contohnya 2026-10-08T14:05:00.000Z.
  • Perintah interaktif (candles, deals, orders-history dan backtest yang dijalankan dengan -q): --from dan --to hanya menerima tarikh dalam format yyyy-MM-dd, dd/MM/yyyy, dd-MM-yyyy atau yyyy/MM/dd. Tarikh tersebut merujuk kepada satu hari kalendar dalam UTC.
    • Bagi deals dan orders-history, --to merangkumi seluruh hari sehingga 23:59:59 UTC.
    • Bagi candles, --to merujuk kepada permulaan hari tersebut (00:00 UTC). Untuk merangkumi satu hari penuh, tetapkan --to kepada hari berikutnya.
    • Tanpa --from / --to, backtest interaktif merangkumi 7 hari terakhir.
  • Perintah kelompok (backtest dan lain-lain): tarikh menggunakan dd/MM/yyyy, dengan pilihan menambah masa 24 jam dalam format dd/MM/yyyy HH:mm, contohnya 31/12/2026 18:00, juga dalam UTC.

Satu-satunya pengecualian ialah cBot yang sedang berjalan (run, backtest). Masanya mengikut tetapan TimeZone dalam cBot, seperti dalam cTrader Algo.

Membaca data akaun dan pasaran

ctrader-cli periods tidak memerlukan akaun atau kelayakan, jadi sesuai untuk ujian pertama.

ctrader-cli periods

Senaraikan akaun dagangan yang dipautkan kepada cTrader ID anda:

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

Setelah mendapat nombor akaun, senaraikan simbol yang tersedia pada akaun tersebut:

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

Baca harga semasa bagi satu simbol dan dapatkan data candlestick terdahulu melalui skrip:

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

Had data sejarah

deals dan orders-history mempunyai had sejarah berikut:

  • CLI memuatkan keseluruhan julat --from / --to tanpa had tempoh.
  • Satu panggilan hanya mengembalikan 200 dagangan terkini (deals) atau 500 pesanan terkini (orders-history) dalam julat tersebut.
  • Tanpa --from / --to, kedua-dua perintah hanya mengembalikan data 30 hari terakhir.
  • --count menentukan bilangan rekod yang dikembalikan:

    • 50 secara lalai dan sehingga 200 bagi deals.
    • 100 secara lalai dan sehingga 500 bagi orders-history.

Jika --from atau --to diberikan, --count diabaikan dan panggilan mengembalikan rekod sehingga had maksimum.

Jika julat mengandungi lebih banyak rekod daripada yang boleh dikembalikan dalam satu panggilan, bahagikannya kepada julat yang lebih pendek dan jalankan perintah bagi setiap julat.

Untuk mengetahui sama ada hasil dipotong, semak output:

  • orders-history: output mengandungi medan available dan returned. Jika available lebih besar daripada returned, terdapat lebih banyak pesanan dalam julat tersebut.
  • deals: jika count tepat 200, mungkin terdapat lebih banyak dagangan dalam julat tersebut.

Tindakan pukal dalam shell interaktif

Dalam shell interaktif, beberapa perintah membenarkan all dan yes ditambah pada hujung untuk melakukan tindakan pukal dan melangkau permintaan pengesahan.

Perintah Bentuk dengan all dan yes di hujung
order cancel order cancel all yes
position close position close all yes
stop stop all yes
alert delete alert delete all yes

Menjalankan perintah secara interaktif

Jalankan ctrader-cli tanpa menyatakan perintah untuk membuka shell interaktif. Apabila diminta, log masuk menggunakan cTID dan kata laluan anda, kemudian masukkan perintah berturut-turut tanpa perlu mengulangi kelayakan. Cara ini memudahkan anda menjalankan beberapa perintah secara berturutan.

Untuk menjalankan satu perintah dan keluar serta-merta, tambah -q. Ini berguna dalam skrip yang memerlukan proses tamat sebaik sahaja perintah selesai.

Dua pilihan membantu anda mengetahui fungsi yang disokong oleh CLI.

Pilihan Tujuan
--help Menyenaraikan pilihan global dan bentuk pelancaran.
--commands Menyenaraikan semua perintah interaktif bersama bentuk argumen kedudukannya tanpa memerlukan pengesahan.

Jika cTrader ID anda dipautkan kepada akaun pada beberapa broker yang berkongsi nombor akaun yang sama, tambah --broker=<broker-name> untuk mengelakkan kekeliruan.

Ralat lazim

Gejala Punca yang mungkin Langkah seterusnya
ctrader-cli: command not found CLI tiada dalam PATH anda. Buka semula terminal atau ikuti langkah pemasangan manual dalam panduan persediaan.
Parameter password is not allowed Anda menggunakan --password pada perintah kelompok. Gantikan dengan --pwd-file; peraturan lengkap terdapat dalam panduan persediaan.
Account cannot be found Nombor akaun tidak unik kerana digunakan oleh beberapa broker. Tambah --broker=<broker-name>.
Unknown symbol name Nama simbol salah atau tidak disokong. Jalankan symbols dan gunakan nama tepat seperti dalam output.
Unknown period Pengecam tempoh masa tidak betul. Jalankan periods untuk menyenaraikan semua pengecam yang diterima.

Nota

Untuk melihat semua pilihan, nilai lalai dan penerangan lengkap, rujuk dokumentasi rujukan CLI.