Untitled

 avatar
user_5432013
plain_text
12 days ago
2.7 kB
22
Indexable
//@version=6
indicator(title="Yeşil Mum & Yüksek Hacim Sayısı & Fiyat Artışı Sinyali", shorttitle="YHS Sinyal", overlay=true) // Başlık güncellendi

// ----- Girdiler -----
lookbackPeriod = input.int(15, title="Geriye Dönük Periyot (Gün)")
minGreenCandles = input.int(7, title="Min. Yeşil Mum Sayısı", minval=1)
minHighVolumeDays = input.int(5, title="Min. Yüksek Hacimli Gün Sayısı", minval=1) // Yeni girdi: Minimum yüksek hacimli gün sayısı
volumeMultiplier = input.float(1.5, title="Hacim Ortalaması Çarpanı")
priceIncreasePercent = input.float(20.0, title="Min. Fiyat Artış Yüzdesi (%)")
// consecutiveVolumeDays girdisi kaldırıldı veya yorum satırı yapıldı

// ----- Hesaplamalar -----

// Koşul 1: Son 'lookbackPeriod' günde en az 'minGreenCandles' yeşil mum var mı? (Değişiklik yok)
isGreen = close > open
greenCandleCount = math.sum(isGreen ? 1 : 0, lookbackPeriod)
cond1 = greenCandleCount >= minGreenCandles

// Koşul 2: Son 'lookbackPeriod' günde, hacmi 'lookbackPeriod' günlük ortalamasının 'volumeMultiplier' katı veya üzerinde olan günlerin sayısı en az 'minHighVolumeDays' kadar mı? (GÜNCELLENDİ)
avgVolume = ta.sma(volume, lookbackPeriod) // Son 'lookbackPeriod' günün basit hacim ortalaması
isHighVolume = volume >= volumeMultiplier * avgVolume // Hangi günlerin yüksek hacimli olduğunu belirle (True/False)

highVolumeDayCount = math.sum(isHighVolume ? 1 : 0, lookbackPeriod) // Son 'lookbackPeriod' içinde yüksek hacimli günleri say (True = 1, False = 0)
cond2 = highVolumeDayCount >= minHighVolumeDays // Toplam sayının minimum eşiği geçip geçmediğini kontrol et

// Koşul 3: Fiyat, 'lookbackPeriod' gün öncesine göre %'priceIncreasePercent' veya daha fazla arttı mı? (Değişiklik yok)
priceLookback = close[lookbackPeriod] // 'lookbackPeriod' gün önceki kapanış fiyatı
cond3 = not na(priceLookback) and (close >= priceLookback * (1 + priceIncreasePercent / 100)) // Yüzdesel artış kontrolü ve geçmiş veri varlığı kontrolü

// ----- Sinyal -----
// Tüm 3 koşul aynı anda doğru ise sinyal ver (Değişiklik yok)
signalCondition = cond1 and cond2 and cond3

// ----- Çizim -----
// Sinyal koşulu sağlandığında ilgili çubuğun altına yeşil bir yukarı ok çiz (Değişiklik yok)
plotshape(signalCondition, title="Sinyal", location=location.belowbar, color=color.new(color.green, 0), style=shape.triangleup, size=size.small)

// İsteğe Bağlı: Yeni hacim koşulunu görselleştirmek için (Yorum satırını kaldırarak aktif edilebilir)
// plot(highVolumeDayCount, title="Yüksek Hacimli Gün Sayısı")
// bgcolor(cond2 ? color.new(color.blue, 90) : na, title="Yüksek Hacim Sayısı Koşulu Sağlandı")
Editor is loading...
Leave a Comment