Ana içeriğe geç

cTrader'da Renko stratejileri

Renko grafiği, yalnızca fiyat hareketleri kullanılarak oluşturulan bir grafik türüdür. Yeni bir Renko tuğlası, bir sembolün fiyat hareketi belirli bir pip eşiğini aştığında oluşur; mum grafiklerinde tipik olarak kullanılan zaman bileşeni tamamen yoktur. cTrader, trader'ların Renko çubuklarına dayalı otomatik stratejiler geliştirmesine, zaman tabanlı mum çubukları için bu tür stratejiler geliştirmeyle tamamen aynı şekilde olanak tanır. Bu makalede ve ilgili videosunda, Renko tabanlı bir strateji kullanan basit bir cBot oluşturacak ve onu geriye dönük test edeceğiz.

İşlem stratejisini tanımlayın

Al sinyalini tanımlayarak başlayacağız. Renko çubukları zamandan bağımsız olduğu için piyasa gürültüsünü doğal olarak filtreler, bu da onları trend tükenmelerini ve potansiyel geri dönüşleri belirlemek için faydalı kılar. İki düşüş Renko çubuğunu iki yükseliş çubuğu takip ettiğinde yeni bir alış emri vereceğiz.

Satış sinyalimiz zıt kurulumu takip edecek. İki yükseliş Renko çubuğunu iki düşüş çubuğu takip ettiğinde bir satış emri vereceğiz.

Örnek bir cBot oluşturun

Şimdi yukarıdaki stratejiye dayalı bir cBot kodlamaya devam edebiliriz. Başlamak için emir hacmi ile göreceli zarar durdur ve kâr al seviyeleri için parametreleri tanımlayacağız.

1
2
3
4
5
6
7
8
[Parameter(DefaultValue = 10000)]
public double Volume { get; set; }

[Parameter(DefaultValue = 20)]
public double StopLoss { get; set; }

[Parameter(DefaultValue = 20)]
public double TakeProfit { get; set; }

İşlem stratejimizi OnBarClosed() yönteminde uygulayacağız. Yükseliş kurulumumuz için 3 ve 2 endeksli çubukların kapanış fiyatının açılış fiyatından düşük olup olmadığını ve ayrıca 1 ve 0 endeksli çubukların kapanış fiyatının açılış fiyatından yüksek olup olmadığını kontrol edeceğiz.

1
2
3
4
if (Bars.Last(3).Close < Bars.Last(3).Open && Bars.Last(2).Close < Bars.Last(2).Open && Bars.Last(1).Close > Bars.Last(1).Open && Bars.Last(0).Close > Bars.Last(0).Open)
{
    ExecuteMarketOrder(TradeType.Buy, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

Düşüş kurulumumuz için zıttını kontrol edeceğiz. 3 ve 2 endeksli çubukların kapanış fiyatı açılış fiyatlarından yüksek olmalı; 1 ve 0 endeksli çubukların açılış fiyatı kapanış fiyatlarından yüksek olmalı.

1
2
3
4
if (Bars.Last(3).Close > Bars.Last(3).Open && Bars.Last(2).Close > Bars.Last(2).Open && Bars.Last(1).Close < Bars.Last(1).Open && Bars.Last(0).Close < Bars.Last(0).Open)
{
    ExecuteMarketOrder(TradeType.Sell, SymbolName, Volume, InstanceId, StopLoss, TakeProfit);
}

cBot'u geriye dönük test edin

cBot'umuzu kaydedip oluşturduktan sonra doğrudan geriye dönük teste geçebiliriz. cBot'u EURUSD için 20 pip Renko eşiğiyle bir grafiğe eklersek cesaret verici sonuçlar almalıyız.

Not

Renko tabanlı stratejiler, zaman tabanlı mum çubuklarıyla aynı veri yapılarını kullanır. Örneğin, Renko çubuklarımızı almak için, bir mum grafiğinden mumları almak için yapacağımız gibi Bars koleksiyonunu kullandık. Bu özellik, herhangi bir değişiklik yapmaya gerek kalmadan herhangi bir grafik türünde test edilip çalıştırılabilen stratejiler geliştirmeye olanak tanır. cBot'umuzu bir mum grafiğinde geriye dönük test edersek tüm işlemler yine de belirtilen kurallara göre yürütülecektir.

Not

Renko tabanlı stratejiler, Optimizasyon sekmesinde mum çubuğu tabanlı stratejiler gibi optimize edilebilir.

Bu kılavuzda, minimum çabayla başarılı bir Renko tabanlı cBot oluşturduk.