GOLANG İle Binance Vadeli İşlemlerin Websocket Api Kullanarak Takibi
GOLANG İle Binance Vadeli İşlemlerin Websocket Api Kullanarak Takibi
Giriş
Bu makale, Binance vadeli işlem platformu için geliştirilmiş olan gerçek zamanlı pozisyon ve emir takip uygulamasının teknik bir incelemesini sunmaktadır. Uygulama, Go programlama dili kullanılarak geliştirilmiş olup, Binance API’si üzerinden vadeli işlem hesabındaki pozisyonları, emirleri ve hesap durumunu canlı olarak izleme imkanı sağlamaktadır.
Teknik Altyapı
Kullanılan Teknolojiler
- Go Programming Language: Ana geliştirme dili
- Gorilla WebSocket: WebSocket bağlantıları için kullanılan kütüphane
- Binance Futures API: Vadeli işlem platformu ile iletişim
- HMAC-SHA256: API güvenlik imzalaması için kullanılan hash algoritması
Temel Veri Yapıları
Uygulama üç temel veri yapısı üzerine inşa edilmiştir:
|
|
Uygulama Mimarisi
1. Güvenlik ve Kimlik Doğrulama
Binance API ile güvenli iletişim için HMAC-SHA256 imzalama mekanizması kullanılmaktadır:
|
|
2. Veri Toplama ve İşleme
Uygulama iki ana veri akışı yönetir:
- REST API Üzerinden Başlangıç Verisi:
getInitialData()
fonksiyonu ile hesap durumu, pozisyonlar ve emirler alınır. - WebSocket Üzerinden Gerçek Zamanlı Güncellemeler:
handleUserData()
fonksiyonu ile canlı veri akışı sağlanır.
3. Gerçek Zamanlı Veri Akışı
WebSocket bağlantıları iki farklı amaç için kullanılır:
- Kullanıcı Verisi Akışı: Hesap güncellemeleri ve emir değişiklikleri
- Market Verisi Akışı: Açık pozisyonların fiyat güncellemeleri
|
|
4. Konsol Arayüzü
Uygulama, konsol üzerinde kullanıcı dostu bir arayüz sunar. printCurrentStatus()
fonksiyonu ile:
- Hesap bakiyesi
- Açık pozisyonlar ve kâr/zarar durumları
- Aktif emirler
- ROE (Return on Equity) hesaplamaları
düzenli olarak gösterilir.
Önemli Özellikler
1. ROE Hesaplaması
Pozisyonların kârlılık oranı şu formüle göre hesaplanır:
|
|
2. Çoklu Sembol Desteği
Uygulama, birden fazla açık pozisyonu aynı anda izleyebilir ve her biri için gerçek zamanlı fiyat güncellemelerini takip eder.
3. Hata Yönetimi
Bağlantı kopması durumunda otomatik yeniden bağlanma ve veri akışının devamlılığını sağlama özellikleri bulunmaktadır.
Sonuç
Bu uygulama, Binance vadeli işlem platformunda işlem yapan kullanıcılar için güçlü bir izleme aracıdır. Gerçek zamanlı veri akışı, otomatik ROE hesaplaması ve kullanıcı dostu konsol arayüzü ile trading deneyimini geliştirmektedir.
Gelecek geliştirmeler için öneriler:
- Grafik arayüz eklenmesi
- Alarm sistemi implementasyonu
- Otomatik trading stratejileri entegrasyonu
- Performans analizi ve raporlama özellikleri
Teknik Gereksinimler
-
Go 1.15 veya üzeri
-
Binance API anahtarları
-
İnternet bağlantısı
-
Terminal erişimi
-
Projenin kaynak kodlarının tamamına bu linkten erişebilirsiniz Github Binance Websocket Example With Golang