Tradingview: Pine Script Kodlama Dili ile Geri Dönem Strateji Testi Uygulaması (Bölüm-1)

Kris Waters
mrkriswaters
Published in
3 min readDec 2, 2019

Para piyasalarında işlem yapan yatırımcılar kullandıkları stratejinin karlılığını ölçümlemek, güçlü ve zayıf yönlerini tespit etmek ve gerekirse optimizasyonunu yapmak için geri dönem testi (backtest) yapmalıdır. Geri dönem testi yapılmamış bir stratejiyi kullanmak büyük kayıplara yol açabilir.

Stratejinin geçmiş dönem test çıktısı kârlı görünmüyorsa ne yapılmalıdır?

Stratejide kullanmış olduğunuz parametreleri veya zaman çözünürlüğünü (time interval/time resolution) değiştirerek performansını arttırmaya çalışabilirsiniz. Bu uygulamalar sonrasında sizi tatmin eden bir sonuç ortaya çıkmazsa stratejinizi değiştirmelisiniz.

Stratejinin getirisini test ederken hangi unsurlara dikkat edilmelidir?

Yatırım ayarları doğru yapılandırılmalı, aracı kuruma ödenecek olan komisyon oranı hesaba dahil edilmelidir.

tradingview strategy tester investing properties
Örnek girdiler ile yapılan testin çıktısı, 1000$’lık bir yatırım ile başlayıp (initial capital) işlem büyüklüğü portföyünüzün tamamı (order size = 100 % of equity) olacak şekilde, 0.075% oranında işlem komisyonu kesilerek hesaplanır.
Not: “strategy()” fonksiyonuna yatırım girdilerinizi ön tanımlı değer olarak atayabilirsiniz.

Aynı strateji her varlık için uygulanabilir mi?

Tecrübelerime dayanarak söyleyebilirim ki tek bir stratejiyi tüm varlıklarda aynı ayarlarla kullanmak iyi bir çözüm değildir (There is no one size fits all). Geliştirdiğiniz ve geri dönem testini yaptığınız stratejiyi farklı bir varlıkta denediğinizde görece kötü sonuç almanız doğaldır. Yatırım yapacağınız varlığa göre parametre ve zaman çözünürlüğü optimizasyonu yapmak karlılığınızı arttırmak adına doğru bir yöntem olacaktır.

Binance borsası “BTC/USDT” paritesi 4 saatlik zaman çözünürlüğü geri dönem test çıktısı
Binance borsası “ETH/USDT” paritesi 4 saatlik zaman çözünürlüğü geri dönem test çıktısı

Yukardıda çıktılardan da görülebileceği üzere “Aroon” indikatörünün BTC/USDT paritesindeki net getirisi %372 iken, ETH/USDT paritesinde %5'tir.

Geri dönem testi sonucunda hangi verilere erişim sağlanabilir?

Geri dönem testi yaptığınızda, net getiri (net profit), toplam kapanan işlem sayısı (total closed trades), işlem başarı oranı (percent profitable), geri çekilme (drawdown) ve ortalama işlemde kalma süresi verilerine erişebilirsiniz. Bunlara ek olarak alıp tutma getirisi (buy and hold return), ödenen komisyon miktarı (commission paid) ve en kârlı/zararlı işem getirisi verilerine de “performance summary” sekmesi altından erişmeniz mümkündür.

Geri dönem test çıktılarına güvenerek stratejiyi gerçek işlemlerde kullanmak ne kadar güvenlidir?

Geçmiş veriler ile görülen performans, gerçek zamanlı işlemlerle tutarlı olmayabilir. Bunun bir nedeni statejiyi mükemmeleştirmek için yaptığınız dokunuşların over fit’e (aşırı oturma/benzerlik) yol açması olabilir. Bir stratejinin gücünü ve over fit olup olmadığını “Walk Forward” optimizasyonu yaparak öğrenebilirsiniz. Tradingview platformunda bu durumu yüzeysel olarak kontrol edebilmek için stratejinizi belirli bir tarih aralığında geliştirin, optimize edin ve test çıktısını alın. Bir tam market döngüsü aralığı makul bir test genişliği olacaktır. Bu işlemden sonra stratejiyi hiç görmediği bir tarih aralığında tekrar test edip, işlem başına ortalama kârı, başarı oranı ve geri çekilme gibi çıktıları birbiri ile karşılaştırın. Her iki test arasında da çok büyük farklılıkların olmaması gerekir. Walk forward optimizasyonunu öğrenmek için Kıvanç Özbilgiç’in Algoritmik Trade eğitiminden yararlanılabilirsiniz.

Pine Script programlama öğrenerek siz de indikatör ve strateji geliştirmek istiyorsanız, “TradingView Pine Script Programlama Dilini Öğren” isimli Udemy eğitimime göz atın.

--

--