Projelere Geri Dön
Bitcoin Backtest Lab
Gerçek Binance verisiyle çalışan, yerel BTC/USDT araştırma ve backtest platformu

Proje Özeti
Türkçe arayüzlü, tek kullanıcıya yönelik yerel bir BTC/USDT araştırma ortamı. Binance’in herkese açık piyasa verisini kullanıyor; API anahtarı gerektirmiyor ve gerçek emir göndermiyor. Amaç, bir stratejinin sonucunu etkileyen her varsayımı (maliyet, kayma, emir zamanı, veri boşlukları) görünür ve test edilebilir kılmak.
Özellikler
- Binance WebSocket ile canlı fiyat ve mum grafiği; bağlantı koparsa 30 saniyelik REST yedeği
- 1 dakikadan 1 güne altı zaman dilimi; tarih aralığına göre sayfalı veri indirme, veri boşluğu kontrolü ve SQLite önbelleği
- Hazır stratejiler: SMA kesişimi, Wilder RSI ile ortalamaya dönüş, Donchian kanal kırılımı
- Kod yazmadan mum formasyonu tanımlamak için VE/VEYA gruplu kural editörü
- Python Strateji Atölyesi: on_candle(candles, state) fonksiyonuyla yazılan stratejiler ayrı süreçte, süre ve boyut sınırlarıyla çalışıyor
- Net getiri ve al-tut karşılaştırması, maksimum düşüş, kazanma oranı, kâr faktörü, yıllık Sharpe; raporları yan yana karşılaştırma ve CSV dışa aktarma
- Tüm mumları, raporları ve şablonları taşıyan, tek bir SQLite işlemiyle geri yüklenen JSON yedekleri
Backtest Metodolojisi
- Yalnızca kapanmış mumlar kullanılıyor; önceki kapanışta üretilen sinyal bir sonraki mumun açılışında işleniyor.
- Alımda kayma kadar yüksek, satışta düşük fiyat; komisyon iki yönde de uygulanıyor.
- Aynı mumda hem stop-loss hem take-profit aşılırsa önce stop-loss işleniyor (temkinli varsayım).
- Likidite, kısmi dolum ve piyasa etkisi modellenmiyor; bu sınırlar arayüzde ve belgelerde açıkça yazıyor.
Testler
Hesaplama motoru arayüzden bağımsız bir modül. Vitest ile motor, mum kuralları, veri depolama, Binance istemcisi ve Python çalıştırıcısı için 78 birim testi; Playwright ile backtest, rapor kalıcılığı, CSV indirme ve mobil görünüm için uçtan uca tarayıcı testleri var.
Görseller
Kullanılan Teknolojiler
TypeScriptReactExpressSQLitePythonBinance APILightweight ChartsVitestPlaywright