0 beğenilme 0 beğenilmeme
493 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 | 493 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);
	}

}

 

(16,219 puan) tarafından
tarafından seçilmiş
9,447 soru
9,401 cevap
5,102 yorum
38,064 kullanıcı