//@version=5
indicator("Doji Tespit İndikatörü", shorttitle="Doji", overlay=true)
// Parametreler
bodySizeThreshold = input.float(0.05, "Gövde Boyut Eşiği", minval=0.01, maxval=0.2, step=0.01)
minWickRatio = input.float(2.0, "Min Fitil/Oranı", minval=1.5, maxval=5.0, step=0.1)
showLabels = input.bool(true, "Etiketleri Göster")
showAlerts = input.bool(false, "Alertleri Göster")
highlightCandles = input.bool(true, "Mumları Vurgula")
// Mum bileşenlerini hesapla
bodySize = math.abs(close - open)
totalRange = high - low
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
avgWick = (upperWick + lowerWick) / 2
// Doji koşulları
isSmallBody = bodySize <= totalRange * bodySizeThreshold
hasLongWicks = avgWick >= bodySize * minWickRatio
isLongWickDoji = isSmallBody and hasLongWicks
// Özel doji tipleri
isDragonflyDoji = isLongWickDoji and lowerWick >= upperWick * 2 and upperWick <= bodySize * 2
isGravestoneDoji = isLongWickDoji and upperWick >= lowerWick * 2 and lowerWick <= bodySize * 2
isFourPriceDoji = isLongWickDoji and bodySize <= totalRange * 0.01 // Çok küçük gövde
// Renk belirleme
dojiColor = isLongWickDoji ? (isDragonflyDoji ? color.blue : isGravestoneDoji ? color.purple : isFourPriceDoji ? color.orange : color.yellow) : na
// Doji mumlarını vurgula - plotcandle global scope'ta kullanılmalı
plotcandle(highlightCandles and isLongWickDoji ? open : na,
highlightCandles and isLongWickDoji ? high : na,
highlightCandles and isLongWickDoji ? low : na,
highlightCandles and isLongWickDoji ? close : na,
title="Doji",
color=dojiColor,
wickcolor=dojiColor,
bordercolor=dojiColor)
// Etiketleri göster
if showLabels and isLongWickDoji
labelText = isDragonflyDoji ? "DRAGONFLY" :
isGravestoneDoji ? "GRAVESTONE" :
isFourPriceDoji ? "4-PRICE" : "DOJI"
labelColor = isDragonflyDoji ? color.blue : isGravestoneDoji ? color.purple : isFourPriceDoji ? color.orange : color.yellow
label.new(bar_index, high + ta.tr, labelText,
color=labelColor,
textcolor=color.white,
style=label.style_label_down,
size=size.small,
yloc=yloc.price)
// Alert koşulu
if showAlerts and isLongWickDoji
alertMessage = isDragonflyDoji ? "Dragonfly Doji Tespit Edildi!" :
isGravestoneDoji ? "Gravestone Doji Tespit Edildi!" :
isFourPriceDoji ? "4-Price Doji Tespit Edildi!" : "Uzun Fitilli Doji Tespit Edildi!"
alert(alertMessage, alert.freq_once_per_bar)
// Bilgi paneli
var table infoTable = table.new(position.top_right, 1, 1, bgcolor=color.white, border_width=1)
if barstate.islast
// ta.sum yerine math.sum kullanıyoruz ve 100 bar için hesaplama
dojiCount = 0
for i = 0 to 99
if bar_index - i >= 0
bodySize_i = math.abs(close[i] - open[i])
totalRange_i = high[i] - low[i]
upperWick_i = high[i] - math.max(open[i], close[i])
lowerWick_i = math.min(open[i], close[i]) - low[i]
avgWick_i = (upperWick_i + lowerWick_i) / 2
isSmallBody_i = bodySize_i <= totalRange_i * bodySizeThreshold
hasLongWicks_i = avgWick_i >= bodySize_i * minWickRatio
isLongWickDoji_i = isSmallBody_i and hasLongWicks_i
dojiCount := dojiCount + (isLongWickDoji_i ? 1 : 0)
table.cell(infoTable, 0, 0, "100 Mumda ki Uzun Fitilli Doji Sayısı: " + str.tostring(dojiCount),
text_color=color.black)
// Göstergeler
plotshape(isLongWickDoji, "Doji Sinyali", shape.triangleup, location.belowbar, dojiColor, size=size.small)
Bu kod, Pine Script dilinde yazılmış bir Doji mum formasyonu tespit indikatörüdür. TradingView platformunda kullanılır.
Doji mumlarını otomatik olarak tespit eder ve çeşitli Doji tiplerini ayırt eder. Doji, açılış ve kapanış fiyatlarının birbirine çok yakın olduğu, uzun fitillere sahip mumlardır ve genellikle piyasa belirsizliğini gösterir.
Standart Uzun Fitilli Doji - Küçük gövde + uzun fitiller
Dragonfly (Yusufçuk) Doji - Çok uzun alt fitil, çok kısa üst fitil
Gravestone (Mezar Taşı) Doji - Çok uzun üst fitil, çok kısa alt fitil
Four-Price (4 Fiyat) Doji - Neredeyse hiç gövdesi yok
Renkli Mum Vurgulama: Doji mumları sarı, mavi, mor veya turuncu renkte vurgulanır
Etiketler: Doji tipini mum üzerinde etiket olarak gösterir
Alert (Uyarı) Sistemi: Yeni Doji oluştuğunda alarm verebilir
İstatistik Tablosu: Sağ üstte son 100 mumdaki Doji sayısını gösterir
Sinyal Şekilleri: Mumların altında üçgen işaretler gösterir
Gövde Boyut Eşiği: Ne kadar küçük gövdenin Doji sayılacağı
Fitil/Oranı: Fitillerin gövdeye oranı
Etiketleri Göster: Açma/Kapama
Alertleri Göster: Uyarıları aktif etme
Mumları Vurgula: Doji mumlarını renklendirme
Piyasa belirsizliğini tespit etmek
Trend dönüşüm sinyalleri aramak
Destek/direnç seviyelerinde doğrulama sağlamak
Alım/satım kararlarında ek filtre olarak kullanmak
Bu indikatör özellikle yatırımcılar ve traderlar için faydalıdır, çünkü görsel olarak fark edilmesi zor olan Doji formasyonlarını otomatik olarak işaretler ve sınıflandırır.