Pine Script Bölüm 6: Gelişmiş Teknikler, MTF Analizi, ATR Stop ve Trend Filtreleri
Bu bölüm, Pine Script’in profesyonel algo trading seviyesine geçtiğimiz en kritik bölümüdür.
Artık stratejin sadece bir “al/sat mantığı” değil, gerçek bir algoritmik işlem sistemi olacak.
Bu bölümde öğreneceklerin:
- Multi-Timeframe (MTF) analiz
- ATR tabanlı stop-loss
- Volatilite filtresi
- Trend algoritmaları
- Slipaj modelleme
- Spread etkisini hesaba katma
- Durumsal filtreleme
- Noise azaltma
- Gelişmiş veri okuma
- Profesyonel algo tasarım prensipleri
1. Multi-Timeframe (MTF) Analiz
MTF, daha büyük zaman diliminin trendini okuyup küçük zaman diliminde işlem almak anlamına gelir.
Örnek: 1H trendine göre 15M işlem açmak.
Pine Script’te:
htfEMA = request.security(syminfo.tickerid, "60", ta.ema(close, 50))
ltfEMA = ta.ema(close, 50)
longSignal = close > ltfEMA and close > htfEMA
Burada:
- 60 dakikalık EMA → ana trend
- 15 dakikalık EMA → giriş sinyali
Profesyonel algo’ların %90’ı MTF kullanır.
2. ATR Tabanlı Stop-Loss
ATR volatiliteyi ölçer. ATR stop, fiyat dalgalanmasına göre dinamik stop belirler.
ATR hesaplama:
atr = ta.atr(14)
ATR stop:
stopLong = close - atr * 2
stopShort = close + atr * 2
Stratejiye bağlama:
strategy.exit("SL", "Long", stop=stopLong)
strategy.exit("SL", "Short", stop=stopShort)
Bu, her varlığa uyum sağlayan otomatik bir stop sistemidir.
3. Volatilite Filtreleri
Volatilite yüksekse işlem açmak risklidir. Bu nedenle ATR filtresi kullanılabilir:
volFilter = ta.atr(14) > ta.sma(ta.atr(14), 50)
Volatilite düşük → filtre dışı
Volatilite yüksek → işlem kapalı
4. Trend Filtreleme
Gelişmiş trend algoritması:
- Fiyat > 200 EMA → yalnızca long
- Fiyat < 200 EMA → yalnızca short
trendUp = close > ta.ema(close, 200)
trendDown = close < ta.ema(close, 200)
Trend filtresine göre işlem:
if longSignal and trendUp
strategy.entry("Long", strategy.long)
Trend filtresi sistem performansını 10 kat artırabilir.
5. Spread & Slipaj Modelleme
Gerçek piyasa koşullarında:
- Slipaj
- Spread
- Emir gecikmesi
dikkate alınmazsa backtest sahte olur.
Slipaj modelleme:
strategy.slippage(3)
Spread simülasyonu:
bid = close - 0.0002
ask = close + 0.0002
Bu değerler her markette farklıdır.
6. Noise Azaltma Teknikleri
Noise = gereksiz fiyat hareketi
Noise azaltmak için:
noiseFilter = math.abs(close - open) > ta.atr(14) * 0.3
Yani:
- Mum gövdesi küçükse → işlem yok
- Fiyat “kararsız” ise → işlem yok
7. MTF + ATR + Trend + Noise Birleşimi (Profesyonel Algo)
//@version=5
strategy("Pro Algo System", overlay=true)
// MTF Trend
htfTrend = request.security(syminfo.tickerid, "60", ta.ema(close, 100))
ltfTrend = ta.ema(close, 100)
// ATR
atr = ta.atr(14)
// Trend Filtresi
trendUp = close > htfTrend and close > ltfTrend
trendDown = close < htfTrend and close < ltfTrend
// Sinyal
longSignal = ta.crossover(close, ltfTrend)
shortSignal = ta.crossunder(close, ltfTrend)
// Noise Filtre
noiseFilter = math.abs(close - open) > atr * 0.2
// İşlem Girişleri
if longSignal and trendUp and noiseFilter
strategy.entry("Long", strategy.long)
if shortSignal and trendDown and noiseFilter
strategy.entry("Short", strategy.short)
// ATR Stop
strategy.exit("TP/SL", "Long", stop=close - atr*2)
strategy.exit("TP/SL", "Short", stop=close + atr*2)
// Çizimler
plot(ltfTrend, color=color.orange)
plot(htfTrend, color=color.blue)
Bu sistem:
- MTF ile trendi okur
- ATR ile dinamik stop belirler
- Noise filtresiyle gereksiz işlemleri keser
- Trend doğrultusunda işlem yapar
- Çok daha gerçekçi işlem sonuçları üretir
8. TradingView Editöründe Test Et
Kodları test etmek için editör bağlantısı:
https://sancoqhub.com/go/tradingview
9. Premium Avantajı
Gelişmiş algo sistemleri için Premium gerekebilir:
- Daha fazla veri
- Daha fazla alarm
- Daha fazla chart
- Daha fazla layout
https://sancoqhub.com/go/tradingview
10. Sonuç
Bu bölümde algo sistemlerinin profesyonel seviyesine giriş yaptın.
Öğrendiklerin:
- MTF analizi
- ATR stop
- Trend filtreleme
- Noise azaltma
- Slipaj-modelleme
- Gerçek algo mimarisi
Bir sonraki bölüm: Bölüm 7 – Profesyonel Algo Strateji Tasarımı