Supertrend, Ortalama Gerçek Aralık (ATR) değerine dayanan ve trendi takip eden bir göstergedir. Tek çizgisinin hesaplanması, trend algılama ve volatiliteyi birleştirir. Trend yönündeki değişiklikleri tespit etmek ve durakları konumlandırmak için kullanılabilir.
Fiyat grafiği üzerinde yer alır ve çizgileri mevcut trendi gösterir.
Aşağıdaki günlük grafikte, bir hisseye ait fiyat değerleri ile SuperTrend gösterge grafiği ve al/sat noktaları gösterilmektedir:
SuperTrend göstergesi al ve sat sinyalleri üretir. Fiyat gösterge eğrisinin altına düştüğünde kırmızıya döner ve bir düşüş trendine işaret eder. Bu bir sat sinyalidir. Tersine, fiyat eğrinin üzerine çıktığında, gösterge yeşile döner ve bir yükseliş trendine işaret eder. Bu bir al sinyalidir.
SuperTrend göstergesi aynı zamanda güçlü bir destek veya direnç seviyesi olarak görev yapar.
Her biri farklı ayarlara sahip iki veya üç SuperTrend göstergesi birlikte çoklu olarak kullanılabilir. İkili gösterge kullanımında, 10-2 ve 20-3 değerlerini, üç göstergeli kullanımda ise 10-2, 20-3 ve 30-4 değerlerini kullanabiliriz.
Kullanılan tüm göstergelerin çizgisinin de yeşil olması daha güçlü bir yükseliş trendini gösterebilir, ancak piyasa yatay bir seyir izliyorsa bu strateji de yanlış sinyaller verebilir.
SuperTrend göstergesinin çoklu olarak kullanılmasının en büyük avantajı bazı hatalı sinyallerin üretilmesinin engellenebilmesidir.
Aşağıdaki günlük grafikte, bir hisseye ait fiyat değerleri ile üç adet SuperTrend gösterge (10-2, 20-3 ve 30-4) grafiği ve al/sat noktaları gösterilmektedir. Fiyat grafiğine en yakın çizgiler düşük değerlere sahip olan gösterge çizgilerdir.
SuperTrend değeri her bar için aşağıdaki işlemlerin sırasıyla yapılmasıyla elde edilir:
supertrend_bg(atrPeriod, atrMultiplier)
src = src_st // (high + low)/2 En yüksek ve en düşük değerin ortalaması
atr = ta.atr(atrPeriod)
upperBand = src + (atr * atrMultiplier)
lowerBand = src - (atr * atrMultiplier)
prevUpperBand = nz(upperBand[1])
prevLowerBand = nz(lowerBand[1])
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
prevSuperTrend = superTrend[1]
if na(atr[1]) direction := 1 else if prevSuperTrend == prevUpperBand direction := close > upperBand ? -1 : 1 else direction := close < lowerBand ? 1 : -1
superTrend := direction == -1 ? lowerBand : upperBand
Aşağıdaki grafikte, hl2 değeri siyah, hl2 + (3 * ATR) değeri turuncu ve hl2 - (3 * ATR) değeri pembe renkle gösterilmektedir:
Aşağıdaki grafikte, her bar için SuperTrend gösterge değerinin hesaplanmasında kullanılan değerler barın üstündeki veya altındaki kutucuğa yazılmıştır.
Yukarıdaki grafiğin çizilmesini sağlayan gösterge kodları aşağıdadır:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Niteya (www.bilgigunlugum.net)
//@version=5
// Bu indikatör sadece eğitim amaçlı olarak verilmiştir. Yatırım kararlarınızda kullanmayınız.
indicator("Supertrend", overlay=true)
src_st = input(hl2, title='SuperTrend Source')
atr_period = input.int(10, "ATR Length", minval=1)
atr_multiplier = input.float(3.0, "ATR Multiplier", minval=0.01, step=0.01)
supertrend_bg(atrPeriod, atrMultiplier) =>
src = src_st // (high + low)/2 En yüksek ve en düşük değerin ortalaması
st_str = 'hl2: ' + str.tostring(src, '0.00')
atr = ta.atr(atrPeriod) // ATR değeri
st_str += '\nATR: ' + str.tostring(atr, '0.00')
upperBand = src + (atr * atrMultiplier) // hl2 değerine ATR değerinin 3 katını ekleme
st_str += '\nupperBand: ' + str.tostring(upperBand, '0.00')
lowerBand = src - (atr * atrMultiplier) // hl2 değerinden ATR değerinin 3 katını çıkarma
st_str += '\nlowerBand: ' + str.tostring(lowerBand, '0.00')
prevUpperBand = nz(upperBand[1]) // Bir önceki üst bant değeri na ise 0, değilse değeri döndürür.
st_str += '\nprevUpperBand: ' + str.tostring(prevUpperBand, '0.00')
prevLowerBand = nz(lowerBand[1]) // Bir önceki alt bant değeri na ise 0, değilse değeri döndürür.
st_str += '\nprevLowerBand: ' + str.tostring(prevLowerBand, '0.00')
// Üst bant değeri bir önceki üst bant değerinden küçükse veya bir önceki kapanış değeri bir önceki üst bant değerinden büyükse, üst bant değerini değilse bir önceki üst bant değerini alır.
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
st_str += '\nupperBand: ' + str.tostring(upperBand, '0.00')
// Alt bant değeri bir önceki alt bant değerinden büyükse veya bir önceki kapanış değeri bir önceki alt bant değerinden küçükse, alt bant değerini değilse bir önceki alt bant değerini alır.
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
st_str += '\nlowerBand: ' + str.tostring(lowerBand, '0.00')
int direction = na
float superTrend = na
prevSuperTrend = superTrend[1] // Bir önceki SuperTrend değeri
st_str += '\nprevSuperTrend: ' + str.tostring(prevSuperTrend, '0.00')
st_str += '\natr[1]: ' + str.tostring(atr[1], '0.00')
if na(atr[1]) // Bir önceki ATR değeri na ise, direction 1 değeri alır.
direction := 1
else if prevSuperTrend == prevUpperBand // Bir önceki SuperTrend değeri bir önceki üst bant değeri ile eşit ise, direction, kapanış değeri üst bant değerinden büyükse -1, değilse 1 değeri alır.
direction := close > upperBand ? -1 : 1
else
direction := close < lowerBand ? 1 : -1 // direction, kapanış değeri alt bant değerinden küçükse 1, değilse -1 değeri alır.
st_str += '\ndirection: ' + str.tostring(direction)
superTrend := direction == -1 ? lowerBand : upperBand // superTrend, direction -1 değerine eşitse alt bant değerini değilse üst bant değerini alır.
st_str += '\nsuperTrend: ' + str.tostring(superTrend, '0.00')
label.new(bar_index, low, text=st_str, yloc=direction<0 ? yloc.belowbar : yloc.abovebar, color=direction<0 ? color.green : color.red, style=label.style_label_up, textcolor=color.white, textalign=text.align_left)
[superTrend, direction]
[supertrend, direction] = supertrend_bg(atr_period, atr_multiplier)
supertrend := barstate.isfirst ? na : supertrend
up_trend = plot(direction<0 ? supertrend : na, "Up Trend", color = color.green, style = plot.style_linebr)
down_trend = plot(direction<0 ? na : supertrend, "Down Trend", color = color.red, style = plot.style_linebr)
body_middle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle", display = display.none)
fill(body_middle, up_trend, color.new(color.green, 90), fillgaps = false)
fill(body_middle, down_trend, color.new(color.red, 90), fillgaps = false)
SuperTrend göstergesi arayüzü üzerinden, göstergenin zaman aralığı, ATR uzunluğu ve faktör değerlerini değiştirebiliriz.
Supertrend göstergesi doğru yatırım kararları vermemize yardımcı olur, ancak yanlış sinyaller ürettiği zamanlar vardır. Bu nedenle, diğer göstergelerle birlikte kullanımı daha sağlıklı sonuçlar üretecektir.
SuperTrend göstergesini kullanabileceğiniz birçok farklı teknik gösterge vardır. Ancak, en yaygın olarak kullanılan teknik göstergeler şunlardır:
Bu teknik göstergeler yalnızca bir örnektir ve kendi kişisel tercihlerinize ve işlem yaptığınız varlığa göre farklı teknik göstergeler kullanabilirsiniz.
SuperTrend göstergesi ile verilen al/sat sinyallarini işleme koymadan önce, Parabolic SAR, EMA ve MACD göstergeleri ile kontrol edebiliriz. Bu göstergeler aşağıda gösterilen kriterlere uygun olarak kullanılabilir:
SuperTrend göstergesi fiyat grafiğinin altında yeşil çizgi çizerek al sinyali verdiğinde, aşağıdaki kriterlerden biri veya daha fazlasıyla onaylayın:
1. Parabolic SAR göstergesinin yeşil renkli + işaretinin fiyat grafiği altında olması 2. Fiyat grafiğinin EMA200 üzerinde olması 3. EMA20 çizgisinin EMA50 çizgisinin üzerinde olması 4. MACD göstergesinin mavi çizgisinin turuncu renkli çizgisinin üzerinde olması
SuperTrend göstergesi fiyat grafiğinin üstünde kırmızı çizgi çizerek sat sinyali verdiğinde, aşağıdaki kriterlerden biri veya daha fazlasıyla onaylayın:
1. Parabolic SAR göstergesinin kırmızı renkli + işaretinin fiyat grafiği üstünde olması 2. EMA20 çizgisinin EMA50 çizgisinin altında olması 3. MACD göstergesinin mavi çizgisinin turuncu renkli çizgisinin altında olması