
Pine Script Stratejilerinde Yanıltıcı Sonuçlar (Overfitting ve Repainting) Nasıl Önlenir?
Backtest raporunuzda %90 başarı oranı görüp canlı piyasada kayıp mı ediyorsunuz? Strateji testlerinin en büyük iki tuzağı ve çözümleri.
⚡ TL;DR — Hızlı Özet
TradingView testlerindeki yanıltıcı sonuçlar genellikle 'repainting' (kodun gelecekteki barları okuyup geçmişe sinyal çizmesi) veya 'overfitting' (kodun geçmiş verilere aşırı uyarlanıp gelecekteki rastlantısallığa cevap verememesi) nedeniyle oluşur.
Yazılım dünyasında algoritmik ticaret stratejileri geliştirirken en sık karşılaşılan hayal kırıklığı şudur: Strateji test panelinde (Strategy Tester) %85 başarı oranı ve devasa kârlar sunan bir indikatör, canlı demo veya gerçek hesapta çalıştırıldığı an hızla zarar etmeye başlar. Bu durum genellikle iki büyük teknik hatadan kaynaklanır: Overfitting (Aşırı Uyum) ve Repainting (Geleceği Okuma).
1. Repainting (Yeniden Boyama) Hatası Nedir ve Nasıl Tespit Edilir?
Repainting, bir indikatörün geçmiş barları analiz ederken gelecekte oluşmuş fiyatları (henüz kapanmamış barları) hesaba katmasıdır. Bu durum kodun geçmişte asla hata yapmamış gibi görünmesine neden olur.
- •Nasıl Hile Yapar?: Fiyatın o günkü en dip noktasını önceden görüp tam oraya 'AL' sinyali yerleştirir. Oysa canlı piyasada o dip noktanın en dip olduğu gün kapanmadan bilinemez.
- •Tespit Yöntemi: Grafiği oynat (Replay) moduna alın. Eğer oynatırken sinyallerin yerleri değişiyor, kayboluyor veya kayıyorsa o indikatör repaint yapıyordur.
- •Kodsal Çözüm: request.security fonksiyonlarında lookahead_off kullanılmalı ve geçmiş bar index değerleri (close[1]) tercih edilmelidir.
2. Overfitting (Aşırı Optimizasyon / Curve Fitting) Nedir?
Overfitting, bir stratejinin parametrelerini geçmiş verilere milimetrik olarak uydurma hatasıdır. Strateji geçmiş veriyi ezberler ama yeni gelen verilere uyum sağlayamaz.
| Özellik | Overfitting Yapılmış Strateji | Sağlam ve Optimize Strateji |
|---|---|---|
| Parametre Sayısı | Çok fazla (örn: 15 farklı indikatör girişi ve filtre) | Az ve sade (örn: 2-3 temel mantıksal kural) |
| Geçmiş Performansı | Kusursuz (Sıfıra yakın kayıp, dikey kâr eğrisi) | Gerçekçi (Kayıplar ve kazançlar dengeli) |
| Gelecek Performansı | Hızlı Zarar (Piyasa değiştiği an çöker) | Kararlı (Piyasa değişimlerine adapte olur) |
| Test Yöntemi | Sadece tek bir zaman diliminde test edilmiştir | Farklı paritelerde ve zaman dilimlerinde test edilmiştir |
3. Bu Hataları Önlemek İçin Mühendislik Yaklaşımları
Algoritmalarınızı bu yanıltıcı sonuçlardan korumak için uyguladığımız standart test adımları:
"Stratejiyi 'Out-of-Sample' (Test Dışı Veri) alanında test etmek, overfitting riskini tamamen ortadan kaldırır."
Strateji parametreleri geçmiş 3 yıllık veride optimize edildikten sonra, sisteme hiç gösterilmemiş olan son 6 aylık veride (Out-of-Sample) performansı test edilir. Eğer son 6 ayda da başarılıysa strateji güvenilirdir.
Optimizasyon aşamasında %200 kazandıran bir bot, test dışı bırakılan son 6 aylık veride doğrudan eksiye geçmiş ve aşırı optimizasyon hatası tespit edilerek parametreleri sadeleştirilmiştir.
Sonuç
Backtest raporlarındaki sahte kârlara aldanmamak, başarılı bir algo trader olmanın ilk kuralıdır. ORCA Software olarak, repainting yapmayan, sadeleştirilmiş ve doğrulanmış (Walk-Forward testli) indikatör sistemleri geliştiriyoruz.
İlgili Yazılar
CCI (Commodity Channel Index): Formül, Eşik Değerler ve Pine Script Kodu
CCI, fiyatın tipik değerinin hareketli ortalamasından ortalama sapma cinsinden ne kadar uzaklaştığını ölçer. +100/-100 eşikleri, 0,015 sabiti ve doğru periyot seçimini örneklerle anlatıyoruz.
Devamını Oku →Stochastic RSI: RSI'nin RSI'si — Ayarlar, 80/20 Bölgeleri ve Kod
Stochastic RSI, RSI değerinin kendi son N günlük aralığındaki konumunu ölçer. Bu yüzden RSI'den çok daha hızlı ve çok daha oynak sinyal verir — avantajı da riski de budur.
Devamını Oku →On Balance Volume (OBV): Hacim Fiyatı Doğruluyor mu?
OBV'nin mutlak değeri anlamsızdır; önemli olan yönü ve fiyatla uyumudur. Fiyat yükselirken OBV yükselmiyorsa, o yükseliş hacimle desteklenmiyor demektir.
Devamını Oku →