birim testi, ağ bağlantısı olmadan
VAKA ÇALIŞMASI · 2026
Trade Bot
Gerçek piyasa verisini EMA/RSI sinyalleriyle okuyan, her kararı zorunlu bir risk katmanından geçiren ve yalnızca yerelde çalışan kişisel bir işlem çalışma alanı.
- Alan
- Python · FastAPI · Local-only
- Rol
- Mühendislik ve strateji doğrulama
- Durum
- Yalnızca yerelde çalışıyor

Kripto piyasasını sürekli izlemek, strateji sinyallerini tutarlı uygulamak ve her işlemde riski elle kontrol etmek dikkat isteyen, hataya açık bir süreç.
Gerçek piyasa verisini EMA/RSI sinyalleriyle analiz eden; her kararı zorunlu risk katmanından geçiren, kayıtları SQLite’ta tutan ve paper, testnet ile kontrollü live modlarını tek dashboard’da birleştiren yerel bir sistem geliştirdim.
23 birim testiyle doğrulanan; canlı radar, performans görünümü, backtest ve güvenli simülasyon akışını tek yerde sunan kişisel bir işlem çalışma alanı. Güvenlik ve API anahtarı mahremiyeti nedeniyle yalnızca yerelde çalışıyor.
satır Python, 15 dosyada
mum üzerinde 90 günlük backtest
çalışma modu: paper, testnet, live
Teknik kararlar
Her kararın bir bedeli var; burada ikisi birlikte duruyor.
Stratejiye emir gönderme yetkisi vermedim
Akış tek yönlü: fiyat verisi → strateji → sinyal → RiskManager → emir → SQLite → dashboard. Strateji doğrudan borsaya ulaşamıyor; her karar işlem başına azami tutar, stop-loss, take-profit, günlük zarar limiti, cooldown ve asgari emir tutarı kontrollerinden geçmek zorunda.
Risk katmanı kârlı olabilecek girişleri de reddediyor. Bir botun en pahalı hatası, kontrolsüz bir emir göndermesi.
Alım ile satımı asimetrik kıldım
Pozisyon kapatma her zaman serbest, çünkü riski azaltıyor. Yeni alımlar ise kuralların tamamını geçmek zorunda. Bu ayrım kod seviyesinde duruyor, bir yapılandırma tercihi değil.
Kurallar sıkışırken bot piyasada uzun süre hareketsiz kalabiliyor. Amaç işlem yapmak değil, sermayeyi korumak.
Stratejiyi backtest sonucuna bakarak değiştirdim
İlk strateji EMA kesişimi ve EMA100 trend filtresiydi; iki bağımsız 90 günlük dönemde −30,7 ve −18,0 USDT verdi. Yerine RSI dipten dönüş girişi ve EMA300 filtresi geldi: aynı dönemlerde −1,9 ve −2,0 USDT, %51–54 isabet. Karar ve gerekçesi config.yaml içinde yorum olarak duruyor.
Yeni strateji de artıya geçmiyor — ölçülen 90 günde en iyi sonuç yine küçük bir zarar. Ama aynı dönemde al-tut −11,4 USDT verirken strateji −1,1 USDT’de kaldı; kazanç kâr değil, sermayenin korunması.
Canlı moda kasıtlı sürtünme koydum
Üç mod var: paper (gerçek fiyat, sahte para, anahtar gerekmez), testnet ve live. Canlı mod yalnızca .env içinde açık bir onay satırı varken açılıyor; belgeler API anahtarına yalnızca spot işlem izni verilmesini ve para çekme izninin asla açılmamasını şart koşuyor.
Canlıya geçmek birkaç adım daha uzun. Yanlışlıkla gerçek parayla çalışan bir botun maliyeti bu adımlardan yüksek. Aynı gerekçeyle proje yayınlanmıyor, yalnızca yerelde çalışıyor.
Ekran ekran

Canlı radar ve performans
Bakiye, açık pozisyon, günlük PnL, equity grafiği ile işlem ve sinyal geçmişi tek dashboard’da; başlat ve durdur aynı ekranda.

İşlem geçmişi
Her işlem, sinyal ve equity noktası SQLite’ta kayıtlı; backtest ve canlı çalışma aynı kayıt biçimini paylaşıyor.