Langkau tajuk talian

Menjalankan cBot 24 jam sehari

cBot yang hanya berjalan apabila komputer riba anda dihidupkan tidak banyak membantu jika sesi dagangan bermula pada pukul 3 pagi. Panduan ini menerangkan cara menyemak parameter cBot, menjalankannya pada pelayan jauh, mengesahkan ia masih berjalan dan menghentikannya dengan betul selepas sesi berakhir.

Petua

Tetapkan bukti kelayakan anda dalam pemboleh ubah shell sekali sahaja. Semua perintah interaktif di bawah menggunakan semula pemboleh ubah ini supaya langkah lebih ringkas dan skrip mudah digunakan dalam pelbagai persekitaran.

export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd

1. Semak parameter cBot

metadata menyenaraikan nama dan jenis parameter yang disokong oleh cBot supaya anda tahu pilihan yang perlu dihantar kepada run atau kekunci yang perlu dimasukkan ke dalam fail .cbotset. metadata ialah perintah mod kelompok yang menerima --ctid dan --pwd-file secara langsung.

ctrader-cli metadata --ctid=$CTID --pwd-file=$PWD_FILE $ALGO

2. Simpan set parameter

Fail .cbotset ialah fail teks biasa dengan satu pasangan key=value pada setiap baris. Fail ini lebih mudah disunting dan digunakan semula berbanding baris perintah yang panjang.

cat > mycbot.cbotset <<'EOF'
SlowPeriods=20
StopLossPips=30
TakeProfitPips=60
EOF

Gunakan nama parameter yang dipaparkan oleh metadata pada langkah 1.

3. Mulakan cBot pada VPS

Perintah run boleh digunakan dalam mod kelompok dan mod interaktif. Dalam mod kelompok (tanpa -q), perintah ini menerima --ctid dan --pwd-file secara langsung tanpa memerlukan -q, dan proses CLI terus berjalan sehingga cBot dihentikan. Pada VPS, gunakan penyelia proses seperti systemd, tmux, screen atau imej Docker rasmi untuk mengurus perintah ini, dan tambahkan --exit-on-stop jika perlu.

ctrader-cli run --ctid=$CTID --pwd-file=$PWD_FILE \
    --account=$ACC $ALGO mycbot.cbotset --symbol=EURUSD --period=h1 --exit-on-stop

--exit-on-stop menyebabkan proses CLI tamat apabila cBot berhenti, menjadikannya lebih mudah dipantau melalui systemd atau Docker.

Untuk menjalankan cBot pada pelayan bagi tempoh yang panjang, gunakan perintah yang sama dalam imej Docker rasmi cTrader CLI. Imej tersebut menerima pilihan yang sama dan tamat apabila menerima isyarat yang sama. Arahan penuh Docker tersedia dalam artikel cBots.

4. Sahkan cBot sedang berjalan

Dalam terminal kedua, cbots menyenaraikan semua instans cBot yang sedang berjalan dalam akaun. Output mengandungi ID instans yang diperlukan pada langkah seterusnya.

ctrader-cli cbots --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

5. Semak harga langsung ketika cBot berjalan

Semasa cBot berjalan, anda boleh menggunakan price dalam terminal lain untuk menyemak harga pasaran tanpa mengganggu instans yang sedang aktif.

ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD

6. Hentikan cBot apabila sesi berakhir

stop menghentikan instans berdasarkan ID-nya. Dapatkan ID tersebut daripada output cbots pada langkah 4.

ctrader-cli stop --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --instance=13579246

Jika CLI dimulakan dalam shell interaktif, tambahkan all dan yes untuk menghentikan semua instans yang sedang berjalan sekali gus: stop all yes.

7. Gabungkan langkah menjadi skrip pelaksanaan terurus

Simpan keseluruhan urutan sebagai start-cbot.sh dan jalankannya melalui systemd, tugas cron atau pipeline deployment. Skrip menyimpan set parameter, memulakan cBot di latar belakang, menunggu pengesahan bahawa cBot sedang berjalan, kemudian memaparkan ID instans untuk kegunaan seterusnya.

#!/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 kemudian, jalankan panggilan stop yang sepadan daripada langkah 6. ID instans kekal sama merentas pertanyaan cbots yang berulang, jadi anda hanya perlu menyimpannya sekali untuk digunakan semula.

Rujukan perintah cTrader CLI menyenaraikan semua pilihan yang tersedia bagi perintah dalam aliran kerja ini.

Amaran

cTrader CLI ialah alat untuk dagangan dan automasi. Alat ini tidak memberikan nasihat kewangan, pelaburan, undang-undang atau cukai. Perintah untuk membuat atau mengubah pesanan boleh menyebabkan dagangan sebenar dilaksanakan dan mengakibatkan kerugian. Semak setiap perintah sebelum menjalankannya, uji dahulu pada akaun demo dan lindungi maklumat log masuk anda.