Bir cBot'u kesintisiz çalıştırma¶
Bir cBot yalnızca dizüstü bilgisayarınız açıkken çalışıyorsa işlem seansı gece saat 03.00'te başladığında pek işe yaramaz. Bu kılavuz, bir cBot'un parametrelerini öğrenmeyi, onu uzak sunucuda başlatmayı, çalıştığını doğrulamayı ve seans sonunda düzgün şekilde durdurmayı açıklar.
İpucu
Kimlik bilgilerinizi kabuk değişkenlerinde bir kez tanımlayın. Aşağıdaki tüm etkileşimli komutlar bu değişkenleri kullanır. Böylece adımlar kısa kalır ve betiği farklı ortamlarda kullanmak kolaylaşır.
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. cBot parametrelerini görüntüleme ¶
metadata, cBot'un desteklediği parametrelerin adlarını ve türlerini listeler. Böylece run komutuna hangi seçenekleri vereceğinizi veya bir .cbotset dosyasına hangi anahtarları yazacağınızı öğrenebilirsiniz. metadata, --ctid ve --pwd-file seçeneklerini doğrudan kabul eden bir toplu mod komutudur.
ctrader-cli metadata --ctid=$CTID --pwd-file=$PWD_FILE $ALGO
2. Parametre kümesini kaydetme ¶
.cbotset, her satırında bir key=value çifti bulunan düz metin dosyasıdır. Bu dosyayı düzenlemek ve yeniden kullanmak, uzun bir komut satırıyla çalışmaktan daha kolaydır.
cat > mycbot.cbotset <<'EOF'
SlowPeriods=20
StopLossPips=30
TakeProfitPips=60
EOF
- adımda
metadatatarafından gösterilen parametre adlarını kullanın.
3. cBot'u VPS üzerinde başlatma ¶
run, hem toplu modda hem de etkileşimli modda çalışabilen bir komuttur. Toplu modda (-q olmadan) komut, --ctid ve --pwd-file seçeneklerini -q kullanmadan doğrudan kabul eder; cBot durdurulana kadar CLI çalışmaya devam eder. Komutu VPS üzerinde bir süreç denetleyicisi (systemd, tmux, screen, resmî Docker imajı veya --exit-on-stop) gözetiminde çalıştırın.
ctrader-cli run --ctid=$CTID --pwd-file=$PWD_FILE \
--account=$ACC $ALGO mycbot.cbotset --symbol=EURUSD --period=h1 --exit-on-stop
--exit-on-stop, cBot durdurulduğunda CLI sürecinin de sonlanmasını sağlar. Bu, systemd veya Docker ile denetimi kolaylaştırır.
Sunucuda uzun süreli çalıştırma için aynı komutu resmî cTrader CLI Docker imajı içinde kullanın. İmaj aynı seçenekleri kabul eder ve aynı sinyallerle kapanır. Docker ile ilgili ayrıntılı talimatlar cBots makalesinde bulunur.
4. cBot'un çalıştığını doğrulama ¶
İkinci bir terminal açın; cbots, hesapta o anda çalışan tüm cBot örneklerini listeler. Çıktıda, bir sonraki adımda gerekecek örnek kimliği bulunur.
ctrader-cli cbots --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
5. cBot çalışırken canlı fiyatları görüntüleme ¶
cBot çalışırken başka bir terminalde price komutuyla, etkin örneği etkilemeden piyasa fiyatlarını kontrol edebilirsiniz.
ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD
6. Seans bittiğinde cBot'u durdurma ¶
stop, belirtilen kimliğe sahip örneği durdurur. Kimliği, 4. adımda cbots komutunun çıktısından alın.
ctrader-cli stop --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--instance=13579246
CLI'yi etkileşimli kabukta başlattıysanız tüm çalışan örnekleri tek seferde durdurmak için all ve yes ekleyin: stop all yes.
7. Adımları denetimli çalıştırma betiğinde birleştirme ¶
Tüm komut dizisini start-cbot.sh olarak kaydedin ve systemd, bir cron görevi veya dağıtım işlem hattı üzerinden çalıştırın. Betik parametre kümesini dosyaya yazar, cBot'u arka planda başlatır, çalıştığının doğrulanmasını bekler ve daha sonra kullanılmak üzere örnek kimliğini gösterir.
#!/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
Örneği daha sonra durdurmak için 6. adımdaki ilgili stop çağrısını çalıştırın. Örnek kimliği, tekrarlanan cbots sorguları arasında değişmez. Bu nedenle bir kez kaydedip yeniden kullanabilirsiniz.
cTrader CLI referans dokümantasyonu bu işlem akışında kullanılan komutların tüm seçeneklerini listeler.
Uyarı
cTrader CLI, işlem ve otomasyon için kullanılan bir araçtır. Finansal, yatırım, hukuki veya vergi danışmanlığı sunmaz. Emir verme veya değiştirme komutları gerçek işlemlere ve kayıplara yol açabilir. Her komutu çalıştırmadan önce kontrol edin, önce bir demo hesapta test edin ve giriş bilgilerinizi koruyun.