Çoklu İndikatör, farklı teknik analiz araçlarını birleştirerek trend yönü, destek-direnç seviyeleri ve momentum hakkında kapsamlı bilgi sağlayan çok yönlü bir indikatördür. Kaufman Hareketli Ortalaması (KAMA), Supertrend, Hareketli Ortalamalar (EMA/SMA), Ichimoku Bulutu ve Wavetrend gibi göstergeleri içeren bu sistem, piyasa koşullarına göre değişen dinamik sinyaller üretir. Supertrend ve Ichimoku Bulutu trend yönünü belirlemeye yardımcı olurken, EMA ve SMA hareketli ortalamaları uzun ve kısa vadeli fiyat hareketlerini analiz etmeye olanak tanır. Wavetrend ise aşırı alım ve aşırı satım seviyelerini tespit ederek olası dönüş noktalarını gösterir. Bu indikatör, trend takip eden yatırımcılar ve kısa vadeli alım-satım yapanlar için güçlü bir analiz aracı sunar.
Bu indikatör, Kaufman Hareketli Ortalaması (KAMA), Supertrend, Hareketli Ortalamalar (EMA/SMA), Ichimoku Bulutu ve Wavetrend gibi farklı teknik analiz araçlarını birleştirerek çok yönlü bir piyasa analizi sunar.
Bu indikatör, trend takibi ve momentum analizini birleştirerek yatırımcılara çoklu zaman dilimlerinde daha iyi işlem kararları vermelerine yardımcı olur.
Kod:
// © YatirimGurusu.com
//@version=6
indicator(title="YatirimGurusu.com Indicator", shorttitle = "YG", overlay = true)
KAMA = input(title="Kaufman Moving Average", defval=true, group="KAUFMAN")
SPR = input(title="Supertrend", defval=true, group = "SUPERTREND")
MAs = input(title="Moving Averages", defval=false, group = "MOVING AVERAGES")
ICH = input(title="Ichimoku Cloud", defval=false)
WVT = input(title="Wavetrend", defval=false)
// Kaufman Moving Average
Length = input(21, title= "KAMA", group="KAUFMAN")
xPrice = close
xvnoise = math.abs(xPrice - xPrice[1])
nAMA = 0.0
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Length])
nnoise = math.sum(xvnoise, Length)
nefratio = nsignal / nnoise
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
plot(KAMA ? nAMA:na, color=#0b08c2, title="KAMA", linewidth = 3)
// Moving Averages
v_ema5 = input(5, title= "EMA5", group = "MOVING AVERAGES")
ema5 = ta.ema(close,v_ema5)
v_ema10 = input(10, title= "EMA10", group = "MOVING AVERAGES")
ema10 = ta.ema(close,v_ema10)
v_sma50 = input(50, title= "SMA50", group = "MOVING AVERAGES")
sma50 = ta.sma(close,v_sma50)
v_sma100 = input(100, title= "SMA100", group = "MOVING AVERAGES")
sma100 = ta.sma(close,v_sma100)
v_sma200 = input(200, title= "SMA200", group = "MOVING AVERAGES")
sma200 = ta.sma(close,v_sma200)
plot(MAs ? ema5 : na, title="EMA5", color=#add814, linewidth=2)
plot(MAs ? ema10 : na, title="EMA10", color=#25c22a, linewidth=2)
plot(MAs ? sma50 : na, title="SMA50", color=color.rgb(36, 120, 230, 15), linewidth=2)
plot(MAs ? sma100 : na, title="SMA100", color=#fa9702, linewidth=2)
plot(MAs ? sma200 : na, title="SMA200", color=color.red, linewidth=2)
// Ichimoku Cloud
conversionPeriods = 9
basePeriods = 26
laggingSpan2Periods = 52
displacement = 26
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(ICH ? leadLine1 : na, offset = displacement - 1, color=color.rgb(76, 175, 79, 66))
p2 = plot(ICH ? leadLine2 : na, offset = displacement - 1, color=color.rgb(255, 82, 82, 66))
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(76, 175, 79, 66) : color.rgb(255, 82, 82, 66), title="Ichimoku")
// Supertrend
atrPeriod = input.int(22, "ATR Length", minval = 1, group = "Supertrend")
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01, group = "Supertrend")
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
upTrend = plot(SPR ? (direction < 0 ? supertrend : na):na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend = plot(SPR ? (direction < 0 ? na : supertrend):na, "Down Trend", color = color.red, style = plot.style_linebr)
fill(upTrend, downTrend, color=color.new(color.green, 90), fillgaps = false)