cTrader CLI komutlarını çalıştırma¶
Bu makalede, cTrader CLI komutlarının yapısı, kimlik doğrulamanın nasıl çalıştığı ve hesap verileri, fiyatlar ile geçmiş verilerin nasıl görüntüleneceği açıklanmaktadır.
Komut yapısı ¶
Tüm cTrader CLI komutları aynı yapıyı kullanır:
ctrader-cli <command> [arguments] [options]
- Seçenekler bir önekle başlar.
--uzun biçimi,-kısa biçimi belirtir (--symbolile-seşdeğerdir). - Seçeneklerin değerleri boşluk veya eşittir işaretiyle ayrılır. Hem
--symbol EURUSDhem de--symbol=EURUSDgeçerlidir. - Argümanlar, önek içermeyen konumsal değerlerdir. Bir
.algodosyasının yolu argümandır. - Boşluk içeren değerler, örneğin
'/opt/my cbots/trend cbot.algo'gibi tek veya çift tırnak içine alınmalıdır. Bir komutun içinde aynı tırnak türünü tutarlı biçimde kullanın.
Kimlik doğrulama ¶
cTrader CLI iki kimlik doğrulama yöntemi kullanır. Her ikisi de kurulum sırasında hazırladığınız kimlik bilgileri dosyasını kullanır.
| Yöntem | Gerekli seçenekler | Tipik komutlar |
|---|---|---|
| Toplu işlem | --ctid ve --pwd-file | periods, accounts, symbols, metadata, run, backtest |
| Etkileşimli | --ctid, --password veya --pwd-file ve -q | account, orders, price, candles, positions, exposure, alerts, gösterge komutları |
Not
Toplu işlem komutları --password seçeneğini kabul etmez. Etkileşimli komutlar --password veya --pwd-file seçeneklerinden birini kabul eder.
Her iki yöntemde de bulunan accounts, symbols, metadata, run ve backtest komutları, belirttiğiniz seçeneklere göre toplu işlem veya etkileşimli yönteme yönlendirilir:
- Toplu işlem yolu – kimlik bilgilerini
--pwd-file(veya--broker) üzerinden okur ve kullanıcı etkileşimi olmadan çalışır. - Etkileşimli yol –
--passwordile-q(veya komuta özgü herhangi bir seçenek) kullanır ve etkileşimli çağrı olarak çalışır.
Zaman aralığı tanımlayıcıları ¶
Birçok komut --period değeri kabul eder. Kabul edilen tüm tanımlayıcıları listelemek için ctrader-cli periods komutunu çalıştırın. Tanımlayıcılar dakika, saat, gün, hafta ve ayların yanı sıra tick, Renko, aralık çubukları ve Heikin Ashi çeşitlerini kapsar. Tanımlayıcılar yorumlanırken büyük ve küçük harf ayrımı yapılmaz.
Hacim birimleri ¶
--volume, baz para birimi cinsinden birimleri veya lotları kabul eder. Hacmin nasıl yorumlanacağını belirlemek için --volume-type=units (varsayılan) veya --volume-type=lots seçeneğini kullanın. Çoğu Forex sembolü için 100.000 birim, bir standart lota eşittir.
--volume-type=lots ile | Baz varlık birimleri |
|---|---|
--volume=1 | 100.000 |
--volume=0.1 | 10.000 |
--volume=0.01 | 1.000 |
Uyarı
Metaller, endeksler ve kripto varlıklarda lot büyüklüğü sembole göre değişir. Bu nedenle aynı --volume=1 değeri, amaçladığınızdan daha büyük bir pozisyon açabilir. İşlem yapmadan önce sembolün lotSize değerini kontrol edin:
ctrader-cli symbol --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567 -q --symbol=XAUUSD
Örneğin, XAUUSD için lotSize: 100 ise --volume=1 --volume-type=lots komutu 100 birimlik pozisyon açar.
Tarih ve saatler ¶
cTrader CLI'deki tüm tarih ve saatler UTC cinsindendir. CLI, bilgisayarınızın yerel saat dilimini veya brokerın sunucu saatini hiçbir zaman kullanmaz.
UTC, komut çıktılarında ve tarih girişlerinde aşağıdaki şekilde kullanılır:
- Çıktı: JSON çıktısındaki tüm zaman damgaları, örneğin
2026-10-08T14:05:00.000ZgibiZiçeren ISO 8601 biçiminde ve UTC cinsindendir. - Etkileşimli komutlar (
candles,deals,orders-historyve-qile çalıştırılanbacktest):--fromve--toyalnızcayyyy-MM-dd,dd/MM/yyyy,dd-MM-yyyyveyayyyy/MM/ddbiçimindeki tarihleri kabul eder. Tarih, UTC'ye göre bir takvim gününü ifade eder.dealsveorders-historyiçin--to, günü 23:59:59 UTC'ye kadar tamamen kapsar.candlesiçin--to, o günün başlangıcını (00:00 UTC) belirtir. Bir günü tamamen dahil etmek için--todeğerini sonraki güne ayarlayın.--from/--tobelirtilmediğinde etkileşimlibacktest, son 7 günü kapsar.
- Toplu işlem komutları (
backtestve diğerleri): Tarihlerdd/MM/yyyybiçimindedir. İsteğe bağlı olarakdd/MM/yyyy HH:mmbiçiminde 24 saatlik saat bilgisi eklenebilir; örneğin31/12/2026 18:00. Bunlar da UTC cinsindendir.
Tek istisna, çalışan bir cBot'tur (run, backtest). cBot'un kullandığı saat, cTrader Algo'da olduğu gibi cBot içindeki TimeZone ayarına bağlıdır.
Hesap ve piyasa verilerini okuma ¶
ctrader-cli periods komutu hesap veya kimlik bilgisi gerektirmez ve ilk test için iyi bir seçenektir.
ctrader-cli periods
cTrader ID'nize bağlı işlem hesaplarını listeleyin:
ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd
Hesap numarasını öğrendikten sonra bu hesapta kullanılabilen sembolleri listeleyin:
ctrader-cli symbols --ctid=letstrade --pwd-file=C:/test/password.pwd --account=1234567
Bir sembolün güncel fiyatını okuyun ve betik aracılığıyla geçmiş mum verilerini alın:
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
Geçmiş veri sınırları ¶
deals ve orders-history komutları için aşağıdaki geçmiş veri sınırları geçerlidir:
- CLI,
--from/--toile belirlenen aralığın tamamını süre sınırlaması olmadan yükler. - Ancak tek bir çağrı, bu aralıktaki yalnızca en son 200 işlemi (
deals) veya en son 500 emri (orders-history) döndürür. --from/--tobelirtilmezse her iki komut da yalnızca son 30 günün verilerini döndürür.-
--count, döndürülecek kayıt sayısını belirler:dealsiçin varsayılan 50, en fazla 200.orders-historyiçin varsayılan 100, en fazla 500.
--from veya --to belirtildiğinde --count yok sayılır ve çağrı izin verilen en yüksek sayıda kaydı döndürür.
Aralık, tek bir çağrının döndürebileceğinden fazla kayıt içeriyorsa daha kısa aralıklara bölün ve her biri için komutu çalıştırın.
Sonucun kesilip kesilmediğini anlamak için çıktıyı kontrol edin:
orders-history: Çıktıdaavailablevereturnedalanları bulunur.availabledeğerireturneddeğerinden büyükse aralıkta başka emirler de vardır.deals:counttam olarak200ise aralıkta başka işlemler de olabilir.
Etkileşimli kabukta toplu işlemler ¶
Etkileşimli kabukta bazı komutların sonuna all ve yes ekleyerek toplu işlem yapabilir ve onay istemini atlayabilirsiniz.
| Komut | Sonunda all ve yes bulunan biçim |
|---|---|
order cancel | order cancel all yes |
position close | position close all yes |
stop | stop all yes |
alert delete | alert delete all yes |
Komutları etkileşimli çalıştırma ¶
Etkileşimli kabuğu açmak için herhangi bir komut belirtmeden ctrader-cli çalıştırın. İstendiğinde cTID ve parolanızla oturum açın. Ardından giriş bilgilerinizi tekrar belirtmeden komutları art arda girin. Birden fazla komutu arka arkaya çalıştırmak istediğinizde bu yöntem kullanışlıdır.
Tek bir komutu çalıştırıp hemen çıkmak için -q ekleyin. Bu, komut tamamlanır tamamlanmaz işlemin sona ermesi gereken betiklerde kullanışlıdır.
İki seçenek, CLI'nin desteklediği özellikleri keşfetmenize yardımcı olur.
| Seçenek | Amaç |
|---|---|
--help | Genel seçenekleri ve başlatma biçimlerini listeler. |
--commands | Kimlik doğrulama gerektirmeden tüm etkileşimli komutları ve bunların konumsal biçimlerini listeler. |
cTrader ID kimliğinize bağlı, farklı brokerlardaki işlem hesaplarının numaraları aynıysa belirsizliği gidermek için --broker=<broker-name> ekleyin.
Yaygın hatalar ¶
| Belirti | Olası neden | Sonraki adım |
|---|---|---|
ctrader-cli: command not found | CLI, PATH değişkeninizde bulunmuyor. | Terminali yeniden açın veya kurulum kılavuzundaki elle yükleme adımlarını izleyin. |
Parameter password is not allowed | Toplu işlem komutunda --password belirttiniz. | Bunun yerine --pwd-file kullanın. Kuralın tamamı kurulum kılavuzunda açıklanmıştır. |
Account cannot be found | Hesap numarası, farklı brokerlarda da kullanıldığı için belirsiz. | --broker=<broker-name> ekleyin. |
Unknown symbol name | Sembol adı yanlış veya desteklenmiyor. | symbols komutunu çalıştırın ve çıktıda gösterilen adı aynen kullanın. |
Unknown period | Zaman aralığı tanımlayıcısı yanlış. | Kabul edilen tüm tanımlayıcıları listelemek için periods komutunu çalıştırın. |
Not
Tüm seçenekleri, varsayılan değerleri ve eksiksiz açıklamaları görmek için CLI başvuru belgelerine bakın.