cBot işlem operasyonları
Bu kılavuzda, Algo API aracılığıyla geliştirilen bir cBot kullanarak yürütebileceğiniz temel işlem operasyonlarını ayrıntılı olarak açıklıyoruz.
Bunlar cBot'lar için desteklenen operasyonlardan bazılarıdır:
- Piyasa emirleri gönderme.
- Bekleyen emirler verme.
- Bekleyen emirleri ve açık pozisyonları değiştirme.
- Pozisyonları kapatma ve emirleri iptal etme.
- İşlem olaylarına abone olma (pozisyonlar, emirler ve ilgili faaliyetler).
Piyasa emirleri gönderin
ExecuteMarketOrder() yöntemi çağrıldığında işlem sunucusuna bir piyasa emri gönderilir. Yeni bir cBot oluşturduktan sonra, bu yöntemi piyasa emrinin (sembol, hacim, kâr al, zarar durdur vb.) birkaç tanımlı özelliğiyle ekleyebilirsiniz. Aşağıdaki örnek, cBot başladığında bir piyasa emri verir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 | |
İpucu
Örnekte, bazı emir parametreleri kasıtlı olarak tanımsız "" bırakılmıştır. Check Referanslar bölümünü ExecuteMarketOrder() parametrelerinin imzaları ve sırası için kontrol edin.
cBot'u oluşturup bir örnek eklediğinizde, belirtilen parametrelerle bir piyasa emrinin başlangıçta yürütüldüğünü göreceksiniz. İşlem Gözlemi panelindeki Pozisyonlar ve Günlük sekmeleri, ilgili pozisyon ve günlük girişlerini görüntüler.
Bekleyen emirler verin
cTrader, stop emirleri, limitli emirler ve limitli stop emirleri olmak üzere üç tür bekleyen emri destekler. Başlangıçta bekleyen emirler vermek için, önceki cBot örneğindeki piyasa emrini aşağıdaki kod parçacıklarıyla değiştirebilirsiniz.
1 2 3 | |
1 2 3 | |
İpucu
Bir metodun parametrelerini hızlıca incelemek için, metodun adını ve bir açılış parantezini yazmaya başlayın. Ek bilgi içeren bir IntelliSense açılır penceresi göreceksiniz.

İpucu
cTrader Algo'da bir metoda/parametreye tıklayıp F1 tuşuna basarsanız, kod penceresinin sağındaki yardım paneli eşleşen arama sonuçlarını gösterecektir. Metin imleci kod penceresinin dışında kalır ve F1 tuşuna basarsanız, size yardımcı olmak için Yardım Merkezi penceresi görünecektir.
cBot'u başarıyla oluşturup çalıştırdıktan sonra İşlem Gözlemi panelinde aşağıdaki kayıtları göreceksiniz.
Bekleyen emirleri ve açık pozisyonları değiştirin
Bekleyen emirler verildiğinde, cBot'unuzun PendingOrders koleksiyonunda kullanılabilir hale gelirler. Bu koleksiyon aracılığıyla onlara erişebilir ve onları değiştirebilirsiniz. Mevcut bekleyen emirler, zarar durdur seviyeleri aşağıdaki gibi ayarlanarak değiştirilebilir.
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
İşlem Gözlemi panelinin Günlük sekmesi, üç bekleyen emrin yerleştirildikten hemen sonra başarıyla değiştirildiğini gösterir.

Farklı emir türleri başarıyla yürütüldükten sonra, hesabınız için pozisyonlar açılacaktır. Tüm açık pozisyonlar, cBot'unuzun Positions koleksiyonunda mevcuttur. Önceki örnekteki bekleyen emirleri değiştirmeye benzer şekilde, açık pozisyonu değiştirebilirsiniz. Piyasa emirleri pozisyon açmanın en hızlı yolu olduğundan, bu kılavuzdaki ilk cBot'a bir pozisyon değiştirme eylemiyle OnBar() metodunu ekleyelim.
1 2 3 4 5 6 7 | |
1 2 3 4 | |
Günlükte yansıtıldığı gibi, açık pozisyon ilk açılan barda değiştirildi.

Pozisyonları kapatın ve emirleri iptal edin
Aşağıda, Cuma günü saat 11:00'de (UTC) OnTick() metodunu çağırarak tüm açık pozisyonları kapatan ve tüm bekleyen emirleri iptal eden bir cBot örneği bulabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

İşlem olaylarına abone olun
cTrader, algoritma geliştiricilerinin, işlem olaylarına abone olmalarına ve bunların bir cBot tarafından mı yoksa manuel olarak mı başlatıldığına bakılmaksızın işlem etkinliğini izlemelerine olanak tanır. Bu, daha önce gösterilen iki koleksiyonda bulunan olayları (Positions ve PendingOrders) dinleyerek başarılır.
Pozisyonlar için üç olay mevcuttur:
OpenModifiedClosed
Hesabınızdaki pozisyonları açtığınızda, değiştirdiğinizde ve kapattığınızda sırasıyla tetiklenirler.
Aşağıdaki kod parçacığında, üç olay OnStart() metodunda bildirilir ve çağrılacak metotlar atanır. Bunlar, kullanmamız için kod imzalarını otomatik olarak oluşturacaktır. Daha sonra, Print() ifadeleri her bir olay metoduna eklenir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Open, Modified ve Closed olaylarını siz veya cBot gerçekleştirseniz de, algoritma her seferinde aşağıdaki günlükte gösterildiği gibi basılı mesajlarla onlara ulaşacaktır.

Benzer şekilde, bekleyen emirlerle ilgili olaylara abone olabilirsiniz. Bekleyen emirler için dört olay mevcuttur:
CreatedModifiedFilledCancelled
Dört olay OnStart() metodunda bildirilir ve olay işleyicileri aşağıdaki gibi eklenir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Bekleyen emirlerle ilgili olaylara abone olunursa, cBot hem manuel hem de programlanmış işlem faaliyetlerine tepki verecektir.

Özet
Sonuç olarak, cTrader algoritma geliştiricilerini cBot'lar tarafından yürütülebilecek etkileyici bir işlem operasyonları cephaneliğiyle donatır. Onları ustaca uygulayarak, özel ve sofistike işlem stratejileri izleyebilirsiniz.



