Menjalankan cBot sepanjang waktu¶
cBot yang hanya berjalan saat laptop Anda menyala tidak banyak membantu jika sesi trading dimulai pukul 03.00. Panduan ini menjelaskan cara membaca parameter cBot, menjalankannya di server jarak jauh, memverifikasi bahwa cBot masih berjalan, dan menghentikannya dengan benar saat sesi berakhir.
Kiat
Tetapkan kredensial Anda dalam variabel shell satu kali saja. Semua perintah interaktif berikut menggunakan kembali variabel tersebut, sehingga langkahnya lebih ringkas dan skrip mudah digunakan di lingkungan yang berbeda.
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. Melihat parameter cBot ¶
metadata mencantumkan nama dan jenis parameter yang didukung cBot sehingga Anda tahu opsi yang harus diteruskan ke run atau kunci yang perlu dimasukkan ke file .cbotset. metadata merupakan perintah mode batch yang langsung menerima --ctid dan --pwd-file.
ctrader-cli metadata --ctid=$CTID --pwd-file=$PWD_FILE $ALGO
2. Menyimpan kumpulan parameter ¶
File .cbotset adalah file teks biasa dengan satu pasangan key=value per baris. File ini lebih mudah diedit dan digunakan kembali daripada baris perintah yang panjang.
cat > mycbot.cbotset <<'EOF'
SlowPeriods=20
StopLossPips=30
TakeProfitPips=60
EOF
Gunakan nama parameter yang ditampilkan metadata pada langkah 1.
3. Menjalankan cBot di VPS ¶
Perintah run dapat digunakan dalam mode batch maupun mode interaktif. Dalam mode batch (tanpa -q), perintah ini langsung menerima --ctid dan --pwd-file tanpa menggunakan -q, dan CLI terus berjalan hingga cBot berhenti. Di VPS, jalankan perintah dengan pemantauan proses melalui systemd, tmux, screen, atau image Docker resmi, dan gunakan --exit-on-stop jika diperlukan.
ctrader-cli run --ctid=$CTID --pwd-file=$PWD_FILE \
--account=$ACC $ALGO mycbot.cbotset --symbol=EURUSD --period=h1 --exit-on-stop
--exit-on-stop membuat proses CLI berakhir ketika cBot berhenti, sehingga lebih mudah dipantau dengan systemd atau Docker.
Untuk menjalankan cBot dalam jangka panjang di server, gunakan perintah yang sama di dalam image Docker resmi cTrader CLI. Image tersebut menerima opsi yang sama dan berhenti saat menerima sinyal yang sama. Petunjuk lengkap penggunaan Docker tersedia dalam artikel cBots.
4. Memastikan cBot sedang berjalan ¶
Di terminal kedua, cbots menampilkan semua instans cBot yang saat ini berjalan di akun. Output mencakup ID instans yang diperlukan pada langkah berikutnya.
ctrader-cli cbots --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
5. Memeriksa harga langsung saat cBot berjalan ¶
Saat cBot berjalan, price memungkinkan Anda memeriksa harga pasar dari terminal lain tanpa mengganggu instans yang aktif.
ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD
6. Menghentikan cBot saat sesi berakhir ¶
stop menghentikan instans berdasarkan ID-nya. Ambil ID tersebut dari output cbots pada langkah 4.
ctrader-cli stop --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--instance=13579246
Jika CLI dijalankan di shell interaktif, tambahkan all dan yes untuk menghentikan seluruh instans yang berjalan sekaligus: stop all yes.
7. Menggabungkan langkah menjadi skrip eksekusi terkelola ¶
Simpan rangkaian lengkap sebagai start-cbot.sh dan jalankan melalui systemd, tugas cron, atau pipeline deployment. Skrip menyimpan kumpulan parameter, memulai cBot di latar belakang, menunggu konfirmasi bahwa cBot berjalan, lalu menampilkan ID instans untuk digunakan kemudian.
#!/usr/bin/env bash
set -euo pipefail
CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
ALGO=/opt/mycbot.algo
SYMBOL=EURUSD
PERIOD=h1
cat > /opt/mycbot.cbotset <<'EOF'
SlowPeriods=20
StopLossPips=30
TakeProfitPips=60
EOF
nohup ctrader-cli run --ctid=$CTID --pwd-file=$PWD_FILE \
--account=$ACC $ALGO /opt/mycbot.cbotset --symbol=$SYMBOL --period=$PERIOD --exit-on-stop \
> /var/log/mycbot.log 2>&1 &
sleep 10
ctrader-cli cbots --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
Untuk menghentikan instans itu nanti, jalankan panggilan stop yang sesuai pada langkah 6. ID instans tetap sama di antara beberapa kueri cbots, jadi cukup simpan sekali dan gunakan kembali.
Referensi perintah cTrader CLI mencantumkan semua opsi yang tersedia untuk perintah dalam alur kerja ini.
Peringatan
cTrader CLI adalah alat untuk trading dan otomatisasi. Alat ini tidak memberikan nasihat keuangan, investasi, hukum, atau perpajakan. Perintah untuk menempatkan atau mengubah order dapat memicu transaksi trading nyata dan menimbulkan kerugian. Periksa setiap perintah sebelum menjalankannya, uji terlebih dahulu di akun demo, dan lindungi informasi login Anda.