Pine Script Bölüm 3: İndikatör Oluşturma, plot() ve Görsel Analiz Sanatı
Pine Script’in en güçlü yanı, kendi indikatörlerini profesyonel bir analist gibi tasarlayabilmektir. Bu bölümde indikatör geliştirme sürecini detaylarıyla ele alıyoruz. Sadece hesaplama yapmak değil, aynı zamanda bu hesaplamaları estetik, okunabilir ve işlevsel bir şekilde grafiğe yansıtmak Pine Script’in gerçek gücünü ortaya çıkarır.
Bu bölümde öğreneceklerin:
- Pine Script’te indikatör oluşturma temelleri
- plot(), plotshape(), plotchar(), barcolor(), bgcolor() gibi fonksiyonlar
- overlay kavramı
- Kendi hareketli ortalamanı yazma
- Renk, opaklık, çizgi tipi ayarları
- Kullanıcı ayarları (input) ile dinamik indikatör
- Fiyat altında ayrı panel açma
- Çoklu plot kullanımı
- Profesyonel gösterge tasarım ilkeleri
Bu bölüm, TradingView üzerinde kendi “markanıza özel” indikatör üretmenizi sağlayacak seviyeye getirir.
1. İndikatör Oluşturmanın Temelleri
Pine Script’te bir indikatör oluşturmak için indicator() fonksiyonu kullanılır.
Örnek:
//@version=5
indicator("Benim İlk İndikatörüm", overlay=true)
plot(close)
Bu kod:
- Grafiğin üzerine (overlay=true)
- Kapanış fiyatını basit çizgi olarak çizer
overlay=false yapsaydık, gösterge fiyatın altında ayrı bir panelde görünecekti.
2. plot() Fonksiyonunun Detayları
plot() Pine Script’in en temel çizim fonksiyonudur.
Kapsamlı kullanım örneği:
plot(
series = close,
color = color.new(color.blue, 0),
linewidth = 2,
title = "Fiyat Çizgisi",
style = plot.style_line
)
Kritik parametreler:
- series: çizilecek veri
- color: çizgi rengi (color.new ile opaklık eklenebilir)
- linewidth: çizgi kalınlığı
- style: line, histogram, area, columns, circles
3. plotshape(): Sinyalleri Grafik Üzerine İşaretleme
Sinyal noktalarını göstermek için kullanılır.
Örnek al-sat sinyali:
longSignal = ta.crossover(ta.sma(close, 20), ta.sma(close, 50))
shortSignal = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50))
plotshape(longSignal, title="Long", style=shape.labelup, color=color.green, location=location.belowbar)
plotshape(shortSignal, title="Short", style=shape.labeldown, color=color.red, location=location.abovebar)
4. plotchar(): Karakter Bazlı İşaretleme
Bar üzerine karakter koymak için kullanılır.
plotchar(longSignal, char="▲", location=location.belowbar, color=color.green)
plotchar(shortSignal, char="▼", location=location.abovebar, color=color.red)
5. barcolor() ve bgcolor()
Grafiği tamamen kişiselleştirir.
barcolor():
Mum renklerini değiştirir.
barcolor(close > open ? color.green : color.red)
bgcolor():
Panel arka planını renklendirmek için idealdir.
bgcolor(color.new(color.yellow, 85))
6. overlay Kavramı
overlay=true: grafik üzerine
overlay=false: ayrı panel
Örneğin RSI:
indicator("RSI", overlay=false)
Hareketli ortalama:
indicator("MA", overlay=true)
7. Kullanıcı Ayarları (input)
Kullanıcıların indikatör parametrelerini değiştirmesine izin verir.
length = input.int(14, "Periyot")
src = input.source(close, "Fiyat Kaynağı")
ma = ta.sma(src, length)
plot(ma)
Bu sayede indikatör her kullanıcı için özelleştirilebilir.
8. Profesyonel Bir İndikatör Örneği
Aşağıdaki örnek profesyonel bir hareketli ortalama göstergesidir:
//@version=5
indicator("Gelişmiş MA", overlay=true)
length = input.int(20, "Periyot")
src = input.source(close, "Kaynak")
ma = ta.sma(src, length)
plot(ma, color=color.blue, linewidth=2)
plot(src, color=color.yellow, linewidth=1)
barcolor(close > ma ? color.green : color.red)
Bu gösterge:
- MA ile fiyat ilişkisini renklendirir
- Fiyat grafiğini düzenler
- Hareketli ortalamayı belirgin gösterir
9. Çoklu plot Kullanımı
Farklı serileri aynı indikatörde gösterebilirsiniz.
Örnek: Üçlü EMA sistemi
ema1 = ta.ema(close, 20)
ema2 = ta.ema(close, 50)
ema3 = ta.ema(close, 100)
plot(ema1, color=color.green)
plot(ema2, color=color.orange)
plot(ema3, color=color.red)
10. Ayrı Panelde İndikatör Oluşturma
Örneğin bir momentum osilatörü:
indicator("Momentum", overlay=false)
mom = close - close[10]
plot(mom, color=color.blue)
11. TradingView Editöründe Test Et
Kodu test etmek için Pine Script editörünü aç:
https://sancoqhub.com/go/tradingview
12. Premium Neden Önemli?
Büyük indikatör setleriyle çalışırken daha fazla grafik, daha fazla layout ve daha fazla veri avantaj sağlar:
https://sancoqhub.com/go/tradingview
13. Sonuç
Bu bölümde indikatör tasarımı, plot fonksiyonları ve görsel düzenlemelerin temellerini öğrendin.
Artık kendi göstergeni profesyonel standartlarda tasarlayabilecek seviyedesin.
Bir sonraki bölümde: Strateji Yazımı ve Strategy Tester Derinlemesine konusuna geçiyoruz.