OPEN-SOURCE SCRIPT

KAMA + RSI + ADX + BB with Individual Signals

117
//version=6
indicator("KAMA + RSI + ADX + BB with Individual Signals", overlay=true)

// --- KAMA Parametreleri ---
fastPeriod = input.int(5, "KAMA Fast Period", minval=2, maxval=20)
slowPeriod = input.int(30, "KAMA Slow Period", minval=10, maxval=50)
effPeriod = input.int(2, "KAMA Efficiency Period", minval=1, maxval=10)

// KAMA Hesaplama Fonksiyonu
kama(close, effPeriod, fastPeriod, slowPeriod) =>
// Verimlilik Oranı (Efficiency Ratio - ER)
change = math.abs(close - close[effPeriod])
// Manuel olarak effPeriod dönemindeki kümülatif toplamı hesapla
var float sum_vol = 0.0
for i = 0 to effPeriod - 1
sum_vol += math.abs(close - close)
volatility = sum_vol

er = volatility == 0 ? 1 : change / volatility

// Düzeltme Faktörü (Smoothing Constant - SC)
sc = math.pow(er * (2.0 / (fastPeriod + 1) - 2.0 / (slowPeriod + 1)) + 2.0 / (slowPeriod + 1), 2)

// KAMA serisini sakla
var float kama_series = close
kama_series := kama_series[1] + sc * (close - kama_series[1]) // Seriyi güncelle
kama_prev = nz(kama_series[1], close) // Önceki KAMA değerini al, yoksa kapanış fiyatını kullan
kama_current = kama_prev + sc * (close - kama_prev) // Yeni KAMA değerini hesapla
kama_current // Fonksiyonun dönüş değeri

// KAMA Değeri
kamaValue = kama(close, effPeriod, fastPeriod, slowPeriod)

// --- RSI Parametreleri ---
rsiLength = input.int(14, "RSI Length", minval=2, maxval=50)
rsiOverbought = input.int(70, "RSI Overbought", minval=50, maxval=100)
rsiOversold = input.int(30, "RSI Oversold", minval=0, maxval=50)
rsi = ta.rsi(close, rsiLength)

// --- ADX Parametreleri ---
adxLength = input.int(14, "ADX Length", minval=2, maxval=50)
adxThreshold = input.int(25, "ADX Threshold", minval=10, maxval=50)
[diPlus, diMinus, adx] = ta.dmi(adxLength, 14) // length ve adxSmoothing (14) argümanları

// --- Bollinger Bantları Parametreleri ---
bbLength = input.int(20, "BB Length", minval=2, maxval=50)
bbMult = input.float(2.0, "BB Multiplier", minval=1.0, maxval=5.0, step=0.1)
[bbUpper, bbMiddle, bbLower] = ta.bb(close, bbLength, bbMult)

// --- Her İndikatörün Al-Sat Sinyalleri ---
// KAMA Sinyalleri
kamaBuy = ta.crossover(close, kamaValue)
kamaSell = ta.crossunder(close, kamaValue)

// RSI Sinyalleri
rsiBuy = ta.crossover(rsi, rsiOversold)
rsiSell = ta.crossunder(rsi, rsiOverbought)

// ADX Sinyalleri (Trend güçlenirse al, zayıflarsa sat)
adxBuy = ta.crossover(adx, adxThreshold)
adxSell = ta.crossunder(adx, adxThreshold)

// Bollinger Bantları Sinyalleri
bbBuy = ta.crossover(close, bbUpper)
bbSell = ta.crossunder(close, bbLower)

// --- Görselleştirme ---
// KAMA Çizgisi ve Bollinger Bantları
plot(kamaValue, color=color.orange, title="KAMA", linewidth=2) // KAMA turuncu ve kalın
plot(bbUpper, color=color.blue, title="BB Upper", linewidth=1) // Bollinger üst mavi ve ince
plot(bbMiddle, color=color.blue, title="BB Middle", linewidth=1, style=plot.style_linebr) // Bollinger orta mavi ve ince, kesikli
plot(bbLower, color=color.blue, title="BB Lower", linewidth=1) // Bollinger alt mavi ve ince

// --- Her İndikatör için Al-Sat Sinyalleri ---
// KAMA Sinyalleri
plotshape(kamaBuy, title="KAMA Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="Al")
plotshape(kamaSell, title="KAMA Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="Sat")

// RSI Sinyalleri
plotshape(rsiBuy, title="RSI Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="Al")
plotshape(rsiSell, title="RSI Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="Sat")

// ADX Sinyalleri
plotshape(adxBuy, title="ADX Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="Al")
plotshape(adxSell, title="ADX Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="Sat")

// Bollinger Bantları Sinyalleri
plotshape(bbBuy, title="BB Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="Al")
plotshape(bbSell, title="BB Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="Sat")

// --- Alt Panelde RSI ve ADX ---
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dashed)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dashed)
plot(rsi, "RSI", color=color.purple, display=display.pane)
plot(adx, "ADX", color=color.teal, display=display.pane)
hline(adxThreshold, "ADX Threshold", color=color.gray, linestyle=hline.style_dashed)

คำจำกัดสิทธิ์ความรับผิดชอบ

ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมที่ ข้อกำหนดการใช้งาน