0 beğenilme 0 beğenilmeme
475 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 | 475 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,347 soru
9,303 cevap
5,071 yorum
33,426 kullanıcı