Lewati ke isi

Menjalankan perintah cTrader CLI

Artikel ini menjelaskan struktur perintah cTrader CLI, cara kerja autentikasi, serta cara membaca data akun, harga, dan riwayat.

Struktur perintah

Setiap perintah cTrader CLI mengikuti struktur yang sama:

ctrader-cli <command> [arguments] [options]
  • Opsi dimulai dengan awalan. -- adalah bentuk panjang, sedangkan - adalah bentuk pendek (--symbol dan -s setara).
  • Nilai opsi dipisahkan dengan spasi atau tanda sama dengan. Baik --symbol EURUSD maupun --symbol=EURUSD sama-sama valid.
  • Argumen adalah nilai berdasarkan posisi tanpa awalan. Jalur ke file .algo merupakan argumen.
  • Nilai yang mengandung spasi harus diapit tanda petik tunggal atau ganda, seperti '/opt/my cbots/trend cbot.algo'. Gunakan satu jenis tanda petik secara konsisten dalam satu perintah.

Autentikasi

cTrader CLI memiliki dua metode autentikasi. Keduanya menggunakan file kredensial yang Anda siapkan selama pengaturan.

Metode Opsi wajib Perintah umum
Batch --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 indikator

Catatan

Perintah batch tidak menerima --password. Perintah interaktif menerima --password maupun --pwd-file.

Perintah accounts, symbols, metadata, run, dan backtest tersedia dalam kedua metode. Berdasarkan opsi yang Anda berikan, perintah tersebut dijalankan melalui metode batch atau interaktif:

  • Metode batch – membaca kredensial dari --pwd-file (atau --broker) dan berjalan tanpa interaksi pengguna.
  • Metode interaktif – menggunakan --password dan -q (atau opsi khusus perintah apa pun) untuk menjalankan panggilan interaktif.

Pengenal rentang waktu

Banyak perintah menerima nilai --period. Jalankan ctrader-cli periods untuk melihat semua pengenal yang diterima. Pengenal mencakup menit, jam, hari, minggu, dan bulan, serta tick, Renko, batang rentang, dan varian Heikin Ashi. Sistem tidak membedakan huruf besar dan kecil saat membaca pengenal.

Satuan volume

--volume menerima volume dalam satuan mata uang dasar atau lot. Gunakan --volume-type=units (default) atau --volume-type=lots untuk menentukan cara volume ditafsirkan. Untuk sebagian besar simbol Forex, 100.000 unit setara dengan satu lot standar.

Dengan --volume-type=lots Unit aset dasar
--volume=1 100.000
--volume=0.1 10.000
--volume=0.01 1.000

Peringatan

Untuk logam, indeks, dan kripto, ukuran lot berbeda menurut simbol. Jadi, nilai --volume=1 yang sama dapat membuka posisi lebih besar dari yang Anda inginkan. Periksa nilai lotSize simbol sebelum melakukan trading:

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

Misalnya, jika XAUUSD memiliki lotSize: 100, maka --volume=1 --volume-type=lots akan membuka posisi sebesar 100 unit.

Tanggal dan waktu

Semua tanggal dan waktu dalam cTrader CLI menggunakan UTC. CLI tidak pernah menggunakan zona waktu lokal komputer Anda maupun waktu server broker.

UTC berlaku untuk keluaran perintah dan masukan tanggal sebagai berikut:

  • Keluaran: semua stempel waktu pada keluaran JSON menggunakan UTC dalam format ISO 8601 dengan Z, misalnya 2026-10-08T14:05:00.000Z.
  • Perintah interaktif (candles, deals, orders-history, dan backtest yang dijalankan dengan -q): --from dan --to hanya menerima tanggal dalam format yyyy-MM-dd, dd/MM/yyyy, dd-MM-yyyy, atau yyyy/MM/dd. Tanggal menunjukkan satu hari kalender menurut UTC.
    • Untuk deals dan orders-history, --to mencakup seluruh hari hingga 23:59:59 UTC.
    • Untuk candles, --to menunjukkan awal hari tersebut (00:00 UTC). Untuk menyertakan satu hari penuh, atur --to ke hari berikutnya.
    • Tanpa --from / --to, backtest interaktif mencakup 7 hari terakhir.
  • Perintah batch (backtest dan lainnya): tanggal menggunakan dd/MM/yyyy, dan dapat menyertakan waktu 24 jam dalam format dd/MM/yyyy HH:mm, misalnya 31/12/2026 18:00, juga dalam UTC.

Satu-satunya pengecualian adalah cBot yang sedang berjalan (run, backtest). Waktunya mengikuti pengaturan TimeZone pada cBot, seperti di cTrader Algo.

Membaca data akun dan pasar

ctrader-cli periods tidak memerlukan akun atau kredensial, sehingga cocok sebagai pengujian pertama.

ctrader-cli periods

Tampilkan akun trading yang terhubung ke cTrader ID Anda:

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

Setelah mendapatkan nomor akun, tampilkan simbol yang tersedia di akun tersebut:

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

Baca harga terkini suatu simbol dan ambil data candlestick historis 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

Batas riwayat

deals dan orders-history memiliki batas riwayat sebagai berikut:

  • CLI memuat seluruh rentang --from / --to tanpa batas durasi.
  • Satu panggilan hanya mengembalikan 200 transaksi terbaru (deals) atau 500 order terbaru (orders-history) dalam rentang tersebut.
  • Tanpa --from / --to, kedua perintah hanya mengembalikan data 30 hari terakhir.
  • --count menentukan jumlah catatan yang dikembalikan:

    • Default 50, maksimal 200 untuk deals.
    • Default 100, maksimal 500 untuk orders-history.

Jika --from atau --to diberikan, --count diabaikan dan panggilan mengembalikan catatan hingga jumlah maksimum.

Jika rentang berisi lebih banyak catatan daripada yang bisa dikembalikan dalam satu panggilan, bagi rentang menjadi beberapa periode lebih pendek dan jalankan perintah untuk masing-masing.

Untuk memeriksa apakah hasil terpotong, lihat keluarannya:

  • orders-history: keluaran memiliki kolom available dan returned. Jika available lebih besar daripada returned, masih ada order lain dalam rentang tersebut.
  • deals: jika count tepat 200, mungkin masih ada transaksi lain dalam rentang tersebut.

Tindakan massal di shell interaktif

Di shell interaktif, beberapa perintah menerima tambahan all dan yes di bagian akhir untuk melakukan tindakan massal dan melewati permintaan konfirmasi.

Perintah Bentuk dengan all dan yes di akhir
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 perintah untuk membuka shell interaktif. Masuk dengan cTID dan kata sandi saat diminta, lalu masukkan perintah satu per satu tanpa perlu memasukkan kredensial kembali. Cara ini praktis saat Anda ingin menjalankan beberapa perintah berturut-turut.

Untuk menjalankan satu perintah lalu langsung keluar, tambahkan -q. Ini berguna dalam skrip, ketika proses harus berakhir segera setelah perintah selesai.

Dua opsi membantu Anda mengetahui fitur yang didukung CLI.

Opsi Tujuan
--help Menampilkan opsi global dan bentuk peluncurannya.
--commands Menampilkan semua perintah interaktif beserta bentuk argumen posisionalnya, tanpa perlu autentikasi.

Jika cTrader ID Anda terhubung ke akun pada beberapa broker yang memiliki nomor akun sama, tambahkan --broker=<broker-name> untuk menghilangkan ambiguitas.

Kesalahan umum

Gejala Kemungkinan penyebab Langkah selanjutnya
ctrader-cli: command not found CLI tidak tercantum dalam PATH Anda. Buka kembali terminal atau ikuti langkah penginstalan manual dalam panduan pengaturan.
Parameter password is not allowed Anda menggunakan --password pada perintah batch. Ganti dengan --pwd-file; aturan lengkapnya dijelaskan dalam panduan pengaturan.
Account cannot be found Nomor akun ambigu karena digunakan pada beberapa broker. Tambahkan --broker=<broker-name>.
Unknown symbol name Nama simbol salah atau tidak didukung. Jalankan symbols dan gunakan nama persis seperti yang ditampilkan dalam keluaran.
Unknown period Pengenal rentang waktu salah. Jalankan periods untuk melihat semua pengenal yang diterima.

Catatan

Untuk melihat semua opsi, nilai default, dan deskripsi lengkap, buka referensi CLI.