Bu C Bot (RSTI_Ausama)
Bu C Bot (Robot), cAlgo.API platformu kullanılarak C# dilinde yazılmıştır ve Forex piyasasında otomatik işlem yapmak için tasarlanmıştır. Bot, alım ve satım kararları vermek için teknik göstergelerden (Basit Hareketli Ortalamalar) gelen sinyallere dayanır. Aşağıda botun bileşenleri ve çalışma şekli detaylı olarak açıklanmıştır:
---
### 1. **Parametreler**
Bot, işlem davranışını özelleştirmek için bir dizi ayarlanabilir parametre içerir:
- **RSTI Ayarları**:
- `Source`: Hesaplamalar için kullanılan veri kaynağı (örneğin, kapanış fiyatı).
- `Length`: Basit Hareketli Ortalama (SMA) için dönem uzunluğu.
- `Signal Length`: Sinyal SMA için dönem uzunluğu.
- **Risk Yönetimi**:
- `Trade Direction`: İşlem yönü (Sadece Al, Sadece Sat veya Her İkisi).
- `Lot Size`: İşlemler için kullanılan lot büyüklüğü.
- `Target Percentage (%)`: Kar al için hedef yüzde.
- `Target Partial (%)`: Kısmi kar alma için yüzde.
- `Stop Loss Percentage (%)`: Zararı durdurma için yüzde.
---
### 2. **Teknik Göstergeler**
Bot aşağıdaki teknik göstergeleri kullanır:
- **Basit Hareketli Ortalama (SMA)**: Kapanış fiyatına dayalı basit hareketli ortalama.
- **SMA Farkı**: Fiyat ile SMA arasındaki farkın basit hareketli ortalaması.
- **SMA Farkı Mutlak**: Mutlak farkın basit hareketli ortalaması.
- **SMA Sinyal**: Göreceli güç sinyalinin basit hareketli ortalaması.
---
### 3. **Botun Ana Fonksiyonları**
#### a. **OnStart()**
- Bot başladığında bu fonksiyon çalıştırılır.
- Göstergeleri başlatır ve hareketli ortalamaların ilk değerlerini hesaplar.
- Daha sonra karşılaştırma için son sinyal değerini (`_previousSignalValue`) saklar.
#### b. **OnBar()**
- Yeni bir bar kapandığında bu fonksiyon çalıştırılır.
- Yeni verilere göre hareketli ortalamaları günceller.
- İşlem sinyalindeki değişiklikleri kontrol eder:
- Sinyal 60'ın üzerine çıkarsa (Al) veya 40'ın altına inerse (Sat), işlemler gerçekleştirilir.
- Önceki sinyal değerini (`_previousSignalValue`) günceller.
#### c. **OnTick()**
- Her fiyat değişiminde (Tick) bu fonksiyon çalıştırılır.
- Kısmi Kar Al seviyesine ulaşılıp ulaşılmadığını kontrol eder (`HandleCloseOnTPReached`).
#### d. **ExecuteTrades()**
- İşlem sinyaline göre işlemleri gerçekleştirir:
- Sinyal 60'tan büyükse, bir Al işlemi açılır.
- Sinyal 40'tan küçükse, bir Sat işlemi açılır.
- Belirtilen yüzdelere göre Kar Al ve Zararı Durdur seviyelerini hesaplar.
- `ExecuteMarketOrder` kullanarak işlemleri gerçekleştirir.
#### e. **HandleCloseOnTPReached()**
- Kısmi Kar Al seviyesine ulaşılıp ulaşılmadığını kontrol eder:
- İşlem belirtilen kar seviyesine ulaşırsa, pozisyon büyüklüğü %50 azaltılır.
#### f. **HandleCloseOnSignal()**
- İşlem sinyali değişirse işlemleri kapatır:
- İşlem Al ise ve sinyal 50'nin altına düşerse, işlem kapatılır.
- İşlem Sat ise ve sinyal 50'nin üzerine çıkarsa, işlem kapatılır.
#### g. **DrawSignalOnChart()**
- Mevcut sinyal değerini grafikte gösterir:
- Sinyal 50'nin üzerindeyse mavi renkte gösterilir.
- Sinyal 50'nin altındaysa kırmızı renkte gösterilir.
---
### 4. **Risk Yönetimi**
- Lot büyüklüğü (`LotSize`), hesap büyüklüğüne göre belirlenir.
- Hedef (`TargetPercentage`) ve Zararı Durdur (`StopLossPercentage`) seviyeleri mevcut fiyatın yüzdesi olarak ayarlanır.
- Belirli bir seviyeye ulaşıldığında kısmi kar alma (`Target Partial`) gerçekleştirilir.
---
### 5. **İşlem Yönü**
- İşlem yönü `TradeDirection` parametresi ile ayarlanabilir:
- `Both`: Her iki yönde işlem (Al ve Sat).
- `Buy_Only`: Sadece Al yönünde işlem.
- `Sell_Only`: Sadece Sat yönünde işlem.
---
### 6. **Botun Kullanımı**
1. Botu cTrader platformuna ekleyin.
2. Parametreleri stratejinize göre ayarlayın (örneğin, lot büyüklüğü, hedef ve zararı durdur seviyeleri).
3. Botu istediğiniz grafikte çalıştırın.
4. Bot, işlem sinyallerine göre otomatik olarak işlemleri açıp kapatacaktır.
---
### 7. **Güçlü Yönler**
- Hareketli ortalamalardan gelen net sinyallere dayanır.
- İşlem yönü ve risk yönetimi ayarlarında esneklik sağlar.
- Kısmi kar alma ve sinyal değişikliklerine göre işlemleri kapatma desteği sunar.
---
### 8. **Zayıf Yönler**
- Tamamen hareketli ortalamalara dayanır, bu da tüm piyasa koşullarında etkili olmayabilir.
- Belirli döviz çiftleri ve zaman dilimleri için parametre optimizasyonu gerektirir.
---
### 9. **Geliştirme İpuçları**
- Parametreleri optimize etmek için botu geçmiş verilere karşı test edin.
- Sinyal doğruluğunu artırmak için ek teknik göstergeler ekleyin.
- Botun performansını düzenli olarak izleyin ve gerekli ayarlamaları yapın.
---
Bu bot, otomatik işlem için güçlü bir araçtır, ancak dikkatli ve mekaniklerini ve risk yönetimini tam olarak anlayarak kullanılmalıdır.