3 dk okuma
Giriş
Kripto para botları, borsaların API’lerini kullanarak market data toplayan, strateji kurallarını çalıştıran ve izin verildiğinde emir üreten otomasyon sistemleridir. Multi-exchange çalışan bir botta zorluk stratejiden çok borsalar arasındaki teknik farklılıklardır. Symbol formatı, precision, rate limit, WebSocket mesajı, emir tipi ve hata kodları borsadan borsaya değişebilir.
Exchange adapter deseni
Strateji kodunun Binance veya Bitget sınıflarını doğrudan bilmesi yerine ortak IExchangeAdapter benzeri bir sözleşme arkasında çalışması daha temizdir. GetKlines, SubscribeTicker, PlaceOrder ve GetOrderStatus gibi yetenekler ortak kontrat üzerinden sunulabilir. Her adapter kendi borsasının özel detaylarını içerir.
Market data normalizasyonu
Bir borsa timestamp’i milisaniye, diğeri string döndürebilir. Volume alanlarının anlamı da farklı olabilir. Bu nedenle domain katmanında Candle, Trade, Ticker ve OrderBook gibi normalize edilmiş modeller kullanmak önemlidir. Strateji yalnızca ortak modele bakmalıdır.
REST ve WebSocket birlikte kullanılmalı
REST geçmiş veri veya state reconciliation için uygundur. WebSocket ise canlı data için daha düşük gecikme sağlar. Sağlam bot iki yaklaşımı birlikte kullanır. Socket koptuğunda yeniden bağlanma, kaçırılan veriyi REST ile tamamlama ve duplicate mesajları eleme mekanizmaları bulunmalıdır.
Rate limit ve hata yönetimi
Borsa API’lerinde agresif polling hesabın geçici olarak sınırlandırılmasına yol açabilir. Merkezi rate limiter, exponential backoff ve request budget yaklaşımı bu nedenle önemlidir. Her hatayı retry etmek de doğru değildir; validation veya insufficient balance gibi hatalar deterministiktir ve tekrar denemek gereksizdir.
Order state reconciliation
Emir gönderildi, açık, kısmi doldu, doldu, iptal oldu gibi durumlar sistemin kendi state’ine doğru yansıtılmalıdır. Bot yeniden başladığında yalnızca bellekteki state’e güvenmemeli, borsadan açık emir ve pozisyon durumunu okuyarak kendi state’ini reconcile etmelidir.
Spot ve futures farkı
Spot sistemde satış çoğu zaman eldeki varlığı azaltırken futures tarafında short pozisyon, leverage, liquidation ve margin gibi ek riskler vardır. Bu yüzden order ve position modelleri pazar tipine göre açıkça ayrılmalıdır. Aynı stratejinin spot ve futures davranışını tek bir bool ile yönetmek uzun vadede hataya açıktır.
Sonuç
Kripto para botları için sürdürülebilir mimari, borsa detaylarını adapter katmanına hapseder; market data, state, strategy, risk ve execution katmanlarını birbirinden ayırır. Böylece yeni bir borsa eklemek stratejiyi yeniden yazmak yerine yeni bir adapter geliştirme işine dönüşür.
Araştırma Kaynakları ve İleri Okuma
- Binance Spot API WebSocket Streams – https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams
- Bitget API Documentation – https://www.bitget.com/api-doc/common/intro

