OPEN-SOURCE SCRIPT

KAMA + RSI + ADX + BB with Individual Signals

108
//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)

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.