Merhabalar,
Kendi yazdığım stratejimde 10 bar ve 40 bar için Ema indikatörünün CrossAbove ve CrossBelow fonksiyonu ile aşağı veya yukarı kesip kesmediğini kontrol ediyorum fakat her seferinde beklenen değeri döndürmüyor. Bazı hisselerde veriyor bazılarında vermiyor. Bazı hisselerde de bazen veriyor.
Kod yapım şöyledir :
ema1 = EMAIndicator(Symbol, SymbolPeriod, OHLCType.Close, EmaPeriod1); // EmaPeriod1 = 10 bar için
ema2 = EMAIndicator(Symbol, SymbolPeriod, OHLCType.Close, EmaPeriod2); //EmaPeriod2 = 40 bar için
if (CrossBelow(ema1, ema2))
{
YukselenTrend = false;
}
else if (CrossAbove(ema1, ema2))
{
YukselenTrend = true;
}
Aynı şartı TradingView grafiklerinde de takip ediyorum. Orada yukarı kestiği halde CrossAbove(ema1, ema2) bana sürekli false sonucunu veriyor. Eğriler herhangi bir anda fiziksel olarak yukarı kestiğinde "true" sonucunu döndürmesi gerekir.
Ayrıca bu fonsiyonların ters sonuç verdilerini de gördüm. Örneğin şu yapıyı da kullanıyorum
tmov = TMOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, TillsonPeriod, TillsonA);
(CrossAbove(tmov, barData, OHLCType.Close, 0)
(CrossBelow(tmov, barData, OHLCType.Close, 0)
Burada CrossAbove fonsiyonu Tmov aşağı kırınca true sonucunu veriyor. CrossBelow da, Tmov yukarı kırınca true sonucu veriyor
Nerede hata yapıyor olabilirim?
Şimdiden teşekkürler