0 beğenilme 0 beğenilmeme
400 kez görüntülendi

  

 int AlToplam = 0;

public override void OnDataUpdate(BarDataEventArgs barData)
        {

                if (adx.Value[0][adx.CurrentIndex] > 25m) AlToplam++;

                if (ema4.Value[0][ema4.CurrentIndex] < C) AlToplam++;

                if (ema1.Value[0][ema1.CurrentIndex] > ema2.Value[0][ema2.CurrentIndex]) AlToplam++;

                if (ema2.Value[0][ema2.CurrentIndex] > ema3.Value[0][ema3.CurrentIndex]) AlToplam++;

}
            if (AlToplam >= 3)
            {
                FX_Alis(Symbol, BuyOrderQuantity);
            }
            if (AlToplam < 2)
            {
                FX_Satis(Symbol, SellOrderQuantity);
            }

 

Şartlardan herhangi üç veya daha fazlası gerçekleşirse AL
Gerçekleşen şartlardan herhangi biri bozulursa SAT

Kodda derleme hatası yok fakat mantıksal bir hata var. Kod bir defa devreye giriyor ve bir daha çalışmıyor. Acaba kod Alış işleminden sonra AlToplam'ın yeniden sıfırlanması mı gerek? Yardımlarınızı beklerim, teşekkürler

 

Algoritmik Trading kategorisinde (124 puan) tarafından | 400 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

yapınızda mantıksal hata var. Bu şekli ile her yeni bar açıldıkça ve koşul sağlandıkça AlToplam değeri artacağı için bir süre sonra bu değişkenin değeri 50-60 olabileceğinden satış koşulu sağlanmayabilir. AlToplam değişkenini her ondataupdate tetiklendiğinde sıfırlamak gerekir.

public override void OnDataUpdate(BarDataEventArgs barData)
{
	int AlToplam = 0;
		
	if (adx.Value[0][adx.CurrentIndex] > 25m) AlToplam++;

	if (ema4.Value[0][ema4.CurrentIndex] < C) AlToplam++;

	if (ema1.Value[0][ema1.CurrentIndex] > ema2.Value[0][ema2.CurrentIndex]) AlToplam++;

	if (ema2.Value[0][ema2.CurrentIndex] > ema3.Value[0][ema3.CurrentIndex]) AlToplam++;

	if (AlToplam >= 3)
	{
		FX_Alis(Symbol, BuyOrderQuantity);
	}
	if (AlToplam < 2)
	{
		FX_Satis(Symbol, SellOrderQuantity);
	}

}

 

(15,892 puan) tarafından
tarafından seçilmiş
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



8,639 soru
8,593 cevap
4,826 yorum
19,834 kullanıcı