Untitled
unknown
plain_text
4 months ago
3.7 kB
8
Indexable
//@version=6 // Copyright (c) 2018-present, Alex Orekhov (everget) // Kaufman Adaptive Moving Average script is distributed under the terms of the GPL-3.0 license. indicator("RSI with TA & KAMA", shorttitle="RSI with TA", overlay=false) // =================== INPUT PARAMETRELERİ =================== var string g_rsi = "RSI Ayarları" var string g_channels = "Kanal Ayarları" var string g_signals = "Sinyal Ayarları" var string g_visuals = "Görsel Ayarlar" var string g_kama = "KAMA Ayarları" // RSI temel ayarları rsiLength = input.int(14, "RSI Periyodu", minval=1, group=g_rsi) rsiSource = input.source(close, "RSI Kaynak", group=g_rsi) overBought = input.int(70, "Aşırı Alım Seviyesi", minval=50, maxval=100, group=g_rsi) overSold = input.int(30, "Aşırı Satım Seviyesi", minval=0, maxval=50, group=g_rsi) // KAMA Ayarları enableKAMA = input.bool(true, "KAMA Göstergesini Etkinleştir", group=g_kama) kamaLength = input.int(146, "KAMA Periyot", group=g_kama) fastLength = input.int(3, "Hızlı EMA Periyodu", group=g_kama) slowLength = input.int(14, "Yavaş EMA Periyodu", group=g_kama) useKamaColoring = input.bool(true, "KAMA Renklendirme", group=g_kama) waitForConfirmation = input.bool(true, "Mum Onayı Beklensin", group=g_kama) // Gösterge ayarları showMA = input.bool(false, "Hareketli Ortalama Göster", group=g_channels) showDonchian = input.bool(false, "Donchian Kanalı Göster", group=g_channels) maLength = input.int(50, "MA Periyodu", minval=1, group=g_channels) donchianLength = input.int(20, "Donchian Kanal Periyodu", minval=1, group=g_channels) // =================== HESAPLAMALAR =================== // RSI hesaplaması rsi = ta.rsi(rsiSource, rsiLength) float openRsi = rsi[1] float closeRsi = rsi float highRsi = math.max(openRsi, closeRsi) float lowRsi = math.min(openRsi, closeRsi) // KAMA Hesaplaması volatility = math.sum(math.abs(ta.change(rsiSource)), kamaLength) change = math.abs(ta.change(rsiSource, kamaLength)) er = volatility != 0 ? change / volatility : 0 fastAlpha = 2 / (fastLength + 1) slowAlpha = 2 / (slowLength + 1) alpha = math.pow(er * (fastAlpha - slowAlpha) + slowAlpha, 2) var float kama = na kama := na(kama[1]) ? rsi : alpha * rsi + (1 - alpha) * nz(kama[1]) // MA ve Donchian Hesaplamaları ma = ta.sma(rsi, maLength) donchianHigh = ta.highest(rsi, donchianLength) donchianLow = ta.lowest(rsi, donchianLength) donchianMiddle = (donchianHigh + donchianLow) / 2 // =================== ÇİZİMLER =================== // RSI mum çubukları var color bullColor = color.green var color bearColor = color.red plotcandle(openRsi, highRsi, lowRsi, closeRsi, "RSI Candlestick", color=(closeRsi >= openRsi ? bullColor : bearColor), wickcolor=(closeRsi >= openRsi ? bullColor : bearColor), bordercolor=(closeRsi >= openRsi ? bullColor : bearColor)) // KAMA çizimi confirmation = waitForConfirmation ? barstate.isconfirmed : true kamaColor = useKamaColoring ? (kama > kama[1] and confirmation ? color.rgb(11, 255, 19) : color.rgb(255, 25, 25)) : color.rgb(1, 247, 255) plot(enableKAMA ? kama : na, "KAMA", color=kamaColor, linewidth=2) // MA ve Donchian çizimleri maPlot = plot(showMA ? ma : na, "MA", color=color.yellow, linewidth=1) dhighPlot = plot(showDonchian ? donchianHigh : na, "Donchian High", color=color.rgb(255, 255, 255), linewidth=1) dlowPlot = plot(showDonchian ? donchianLow : na, "Donchian Low", color=color.rgb(255, 255, 255), linewidth=1) dmidPlot = plot(showDonchian ? donchianMiddle : na, "Donchian Middle", color=color.rgb(255, 255, 255), style=plot.style_circles, linewidth=1) // =================== UYARILAR =================== alertcondition(kamaColor != kamaColor[1], "KAMA Renk Değişimi", "KAMA göstergesinin rengi değişti!")
Editor is loading...
Leave a Comment