Tüm projeler

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
Trade Bot ürün görseli
Problem

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ç.

Yaklaşım

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.

Sonuç

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.

RAKAMLARLA
23

birim testi, ağ bağlantısı olmadan

1.528

satır Python, 15 dosyada

8.639

mum üzerinde 90 günlük backtest

3

çalışma modu: paper, testnet, live

01

Teknik kararlar

Her kararın bir bedeli var; burada ikisi birlikte duruyor.

01

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.

Bedeli

Risk katmanı kârlı olabilecek girişleri de reddediyor. Bir botun en pahalı hatası, kontrolsüz bir emir göndermesi.

02

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.

Bedeli

Kurallar sıkışırken bot piyasada uzun süre hareketsiz kalabiliyor. Amaç işlem yapmak değil, sermayeyi korumak.

03

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.

Bedeli

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ı.

04

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.

Bedeli

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.

02

Ekran ekran

Canlı radar ve performans

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

İş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.

03

Kullanılan teknolojiler

PythonccxtpandasFastAPISQLitePyYAML
Sıradaki vaka çalışmasıWindowWeaver