//@version=6
indicator("ADX EŞİK", shorttitle="ADX Cross", format=format.price, precision=2)
// Input parametreleri
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
threshold1 = input(40, title="First Threshold Level")
threshold2 = input(0, title="Second Threshold Level")
// ADX hesaplama fonksiyonu
dirmov(len) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
// Eşik çizgileri
hline(threshold1, "Threshold 1", color=#0000FF, linestyle=hline.style_dotted, linewidth=2)
hline(threshold2, "Threshold 2", color=#00FF00, linestyle=hline.style_dotted, linewidth=2)
// Kesişim tespiti
crossAbove1 = ta.crossover(sig, threshold1)
crossBelow1 = ta.crossunder(sig, threshold1)
crossAbove2 = ta.crossover(sig, threshold2)
crossBelow2 = ta.crossunder(sig, threshold2)
// Dikey çizgiler - Kesişim noktalarında
plotshape(crossAbove1, title="Cross Above 1", location=location.belowbar, color=#0000FF, style=shape.flag, size=size.small)
plotshape(crossBelow1, title="Cross Below 1", location=location.abovebar, color=#0000FF, style=shape.flag, size=size.small)
plotshape(crossAbove2, title="Cross Above 2", location=location.belowbar, color=#00FF00, style=shape.flag, size=size.normal)
plotshape(crossBelow2, title="Cross Below 2", location=location.abovebar, color=#00FF00, style=shape.flag, size=size.normal)
// Dikey çizgiler ekleme
var line verticalLine1 = na
var line verticalLine2 = na
if crossAbove1 or crossBelow1
line.new(bar_index, 0, bar_index, 100, color=color.new(#040414, 70), width=2, style=line.style_dotted)
if crossAbove2 or crossBelow2
line.new(bar_index, 0, bar_index, 100, color=color.new(#11b311, 70), width=2, style=line.style_dotted)
// ADX çizgisi
plot(sig, color=#FF0000, title="ADX", linewidth=2)
// Eşik değerlerinin yanına etiket ekle
var label lbl1 = na
var label lbl2 = na
if barstate.islast
lbl1 := label.new(bar_index, threshold1, str.tostring(threshold1), yloc=yloc.price, color=#00000000, style=label.style_label_left, textcolor=#0000FF, size=size.normal)
lbl2 := label.new(bar_index, threshold2, str.tostring(threshold2), yloc=yloc.price, color=#00000000, style=label.style_label_left, textcolor=#00FF00, size=size.normal)
Bu kod, TradingView için "ADX EŞİK" (ADX Cross) adlı bir Pine Script göstergesidir. İşlevleri şunlardır:
ADX (Average Directional Index) göstergesinin önceden belirlenen iki eşik seviyesini (threshold) ne zaman geçtiğini tespit eder ve görsel olarak işaretler.
14 periyotluk (varsayılan) ADX değerini hesaplar
+DI ve -DI değerlerini de içeren standart ADX formülünü kullanır
Threshold 1: Varsayılan 40 seviyesi (mavi noktalı çizgi)
Threshold 2: Varsayılan 0 seviyesi (yeşil noktalı çizgi)
Bu seviyeler kullanıcı tarafından değiştirilebilir
ADX 40'ı yukarı kırarsa: Mavi bayrak (çubuk altında)
ADX 40'ı aşağı kırarsa: Mavi bayrak (çubuk üstünde)
ADX 0'ı yukarı kırarsa: Yeşil bayrak (çubuk altında)
ADX 0'ı aşağı kırarsa: Yeşil bayrak (çubuk üstünde)
Dikey çizgiler: Her kesişimde tüm grafik yüksekliğinde dikey çizgiler çizer
Etiketler: Sağ tarafta eşik değerlerini gösteren etiketler
Renk kodlaması:
Mavi: 40 seviyesi ile ilgili kesişimler
Yeşil: 0 seviyesi ile ilgili kesişimler
Kırmızı: ADX çizgisi
Trend Gücü Analizi: ADX'in 40'ı geçmesi güçlü trendi gösterir
Trend Dönüşümleri: ADX'in 40'dan aşağı düşmesi trend zayıflığını işaret eder
Yatay Piyasa Tespiti: ADX'in düşük seviyelerde (özellikle 20 altında) kalması yatay piyasayı gösterir
ADX > 40: Güçlü trend - trend takip stratejileri uygun
ADX < 20: Zayıf trend/yatay piyasa - range-bound stratejileri uygun
Kesişimler: Trend gücündeki değişimlerin zamanlamasını gösterir
Bu gösterge, trend gücündeki değişimleri objektif seviyelerle tespit etmek isteyen trader'lar için faydalıdır.