Gerçek zamanlı verileri nasıl yönettiğinizi, siparişleri milisaniyeler içinde nasıl gerçekleştirdiğinizi ve kesintisiz bir kullanıcı deneyimi sağladığınızı hiç merak ettiniz mi? Bugün, modern teknolojiler ve temiz mimari ilkeleri kullanarak sıfırdan geliştirdiğim OpenTradeWatch isimli açık kaynaklı otomatik ticaret platformunu tanıtmak istiyorum.
🎯 Problem
🎯 Problem
Çoğu kripto ticaret otomasyon çözümü ya:
- Aylık aboneliklerle pahalı ticari sistemlerdir
- Ne olduğunu doğrulamanıza izin vermeyen kapalı kaynak “kara kutular”dır
- Gelişmiş teknik analiz olmadan temel stratejilerle sınırlıdır
- Özelleştirmesi veya genişletmesi zor sistemlerdir
Ben farklı bir şey yaratmak istedim: herkesin kullanabileceği, öğrenebileceği ve üzerine inşa edebileceği profesyonel kalitede, tamamen şeffaf ve tam özelleştirilebilir bir ticaret platformu.
🏗️ Mimari Genel Bakış
🏗️ Mimari Genel Bakış
OpenTradeWatch, üç ana bileşen içeren mikro hizmetlere benzer bir mimari kullanmaktadır:
1. Go Engine – Analiz Gücü
1. Go Engine – Analiz Gücü
Arka uç, maksimum performans için Go dilinde yazılmıştır. Aşağıdakileri işleyen sofistike bir çoklu gösterge teknik analiz sistemi uygular:
- 11 teknik gösterge (RSI, MACD, Bollinger Bantları, OBV, MFI, EMA, ADX, LSR, VWAP, Keltner Kanalları, GARCH)
- Ağırlıklı puanlama sistemi sinyal üretimi için
- Otomatik risk yönetimi ile Stop Loss/Take Profit hesaplamaları
- Gerçek zamanlı sipariş yürütme Gate.io API’si aracılığıyla
Her gösterge, bir ağırlıklı puan katkısı sağlar ve sistem, 0-100% arasında güven düzeyleri ile BUY/SELL/NEUTRAL sinyalleri üretir.
// Göstergelerin nasıl ağırlıklandırıldığına dair basit bir örnek
type IndicatorWeights struct {
RSI float64 // %30
MACD float64 // %25
BollingerBands float64 // %15
OBV float64 // %6
MFI float64 // %5
// ... ve 6 gösterge daha
}
2. MQTT Messaging – Gerçek Zamanlı İletişim
2. MQTT Messaging – Gerçek Zamanlı İletişim
API’leri anlık olarak sorgulamak ya da doğrudan websocket kullanmak yerine, MQTT (Message Queue Telemetry Transport) ile Mosquitto’yu broker olarak seçtim. Bu, aşağıdaki avantajları sağlar:
- Düşük gecikme ile pub/sub mesajlaşma
- Decoupled mimari – hizmetler konular aracılığıyla iletişim kurar
- Güvenilir teslimat ile QoS düzeyleri
- Ölçeklenebilirlik – yeni aboneler eklemek kolaydır
Anahtar MQTT konuları:
trades/new → Yeni ticaret sinyalleri
trades/update → Ticaret durumu güncellemeleri
indicators/update → Teknik gösterge güncellemeleri
alerts/trigger → Uyarı bildirimleri
3. Laravel + Livewire Dashboard – Modern Frontend
3. Laravel + Livewire Dashboard – Modern Frontend
Dashboard, Laravel 12 ve Livewire 4 ile inşa edilmiştir ve sağladığı avantajlar:
- JavaScript yazmadan gerçek zamanlı güncellemeler
- Ticaretleri izlemek için reaktif bileşenler
- TailwindCSS ile güzel bir UI
- Kolay özelleştirme ve genişletme
🔬 Teknik Derinlemesine: Ağırlıklı Puanlama Sistemi
🔬 Teknik Derinlemesine: Ağırlıklı Puanlama Sistemi
OpenTradeWatch’ın kalbi, sofistike sinyal üretim algoritmasıdır. İşleyiş şekli şöyle:
- Veri Toplama: Gate.io’dan en son mum çubuğu verilerini alın
- Gösterge Hesaplama: Tüm 11 teknik göstergenin hesaplanması
- Puan Atama: Her gösterge, boğa/ayı koşullarına göre bir ağırlıklı puan katkısı sağlar
- Sinyal Üretimi: Toplanan puanlar nihai BUY/SELL/NEUTRAL sinyalini belirler
- Risk Değerlendirmesi: Stop loss, take profit ve pozisyon büyüklüğünü hesapla
BTC/USDT için örnek bir çıktı:
{
"signal": "BUY",
"bullish_score": 78.5,
"bearish_score": 21.5,
"confidence": 85,
"current_price": 45230.50,
"target_price": 47890.25,
"stop_loss": 43567.80,
"risk_level": "MEDIUM",
"position_size": "3% of capital"
}
🐳 Dağıtım Kolaylığı
🐳 Dağıtım Kolaylığı
Tüm sistem Docker konteynerlerinde çalışır, bu da dağıtımı son derece basit hale getirir:
git clone https://github.com/CristianBernardes/open-trade-watch.git
cd open-trade-watch
docker-compose up -d
İşte bu kadar! Artık şunlara sahipsiniz:
- ✅ PostgreSQL veritabanı
- ✅ Redis önbelleği
- ✅ Mosquitto MQTT brokerı
- ✅ Go analiz motoru
- ✅ Laravel dashboard
Dashboard’a http://localhost:8888 adresinden erişebilirsiniz.
📊 Farklı Kılan Nedir?
📊 Farklı Kılan Nedir?
1. Tam Şeffaflık
1. Tam Şeffaflık
Her satır kod açık kaynaktır. Sistemin ne yaptığını, nasıl kararlar aldığını ve API anahtarlarınızın nerelerde kullanıldığını doğrulayabilirsiniz.
2. Üretim Hazır Performans
2. Üretim Hazır Performans
Go’nun eş zamanlılık modeli, birden fazla para birimi çifti ile bloke olmadan işlem yapmayı sağlar. MQTT, alt-saniye mesaj teslimatı garantiler.
3. Eğitim Değeri
3. Eğitim Değeri
Kod tabanı:
- Go’da temiz mimari
- Laravel en iyi uygulamaları
- MQTT uygulaması
- Teknik analiz algoritmaları
- Docker orkestrasyonu
4. Tamamen Özelleştirilebilir
4. Tamamen Özelleştirilebilir
Göstergelerimin ağırlıklarını beğenmiyor musunuz? Ayarlayın. Yeni göstergeler eklemek mi istiyorsunuz? Mimari bunu basit hale getirir. Farklı borsalar mı lazım? Abstraksiyon katmanı hazır.
🎓 Öğrenme Fırsatları
🎓 Öğrenme Fırsatları
Yatırım alanında ilginiz varsa:
- Finansal teknoloji: Ticaret sistemlerinin nasıl çalıştığını öğrenin
- Go geliştirme: Gerçek dünya Go uygulamalarını inceleyin
- Laravel/Livewire: Modern PHP’yi aksiyonda görün
- MQTT: Pub/sub mesajlaşma kalıplarını anlayın
- Docker: Mikro hizmet dağıtımını kavrayın
- Teknik analiz: Algoritmik ticaret kavramlarını keşfedin
Bu projede herkes için bir şeyler var.
🗺️ Yol Haritası
🗺️ Yol Haritası
Tamamlananlar:
- ✅ 11 gösterge ile tamamlanmış Go analiz motoru
- ✅ Gate.io API entegrasyonu ve sipariş yürütme
- ✅ MQTT iletişim katmanı
- ✅ PostgreSQL veri saklama
- ✅ Docker ortamı
Geliştirilmekte Olanlar:
- 🚧 Etkileşimli Livewire dashboard
- 🚧 Gerçek zamanlı grafikler ve görselleştirmeler
- 🚧 Performans analizleri
- 🚧 Gelişmiş uyarı sistemi
🚀 Başlarken
🚀 Başlarken
Ön Gereksinimler:
- Docker & Docker Compose (önerilir)
- VEYA: PHP 8.2+, Go 1.21+, PostgreSQL 14+, Node.js 18+
Kısa Başlangıç:
# Depoyu klonla
git clone https://github.com/CristianBernardes/open-trade-watch.git
cd open-trade-watch
# Ortamı yapılandır
cp engine/.env.example engine/.env
# Gate.io API kimlik bilgilerinizi engine/.env dosyasına ekleyin
# Docker ile başlayın
docker-compose up -d
# Dashboard'a erişim
open http://localhost:8888
Yerel Geliştirme:
Linux, macOS ve Windows için ayrıntılı talimatlar README dosyasında mevcuttur.
⚠️ Önemli Uyarı
⚠️ Önemli Uyarı
OpenTradeWatch, profesyonel bir teknik araçtır ve ticaret otomasyonu için tasarlanmıştır. Aşağıdakiler değildir:
- ❌ Kar garantisi değildir
- ❌ Finansal tavsiye değildir
- ❌ Garantili bir gelir sistemi değildir
Kripto para ticareti önemli riskler içerir. Yatırım kararlarınızdan yalnızca siz sorumlusunuz. Her zaman:
- Küçük miktarlarla başlayın
- Önce sandbox/testnet’te test edin
- Kullanılan stratejileri anlayın
- Kaybetmeyi göze alabileceğinizden fazlasını yatırmayın
🤝 Katkıda Bulunma
🤝 Katkıda Bulunma
Her türlü katkıya açığım:
- 🐛 Hata raporları ve düzeltmeleri
- ✨ Yeni özellikler ve göstergeler
- 📚 Belgelendirme iyileştirmeleri
- 💡 Mimari öneriler
- 🎨 UI/UX iyileştirmeleri
Konuya başlamak için Katkıda Bulunma Kılavuzlarına göz atın.
💭 Neden Açık Kaynak?
💭 Neden Açık Kaynak?
Ben, bilginin herkes tarafından erişilebilir olması gerektiğine inanıyorum. Finansal teknoloji endüstrisi genellikle ücretli sistemlerin ardına saklanıyor. OpenTradeWatch’ı açık kaynak yaparak şunu hedefliyorum:
- Ticaret teknolojisini demokratikleştirmek – Herkes profesyonel kalitede araçları öğrenip kullanabilir
- Eğitimi teşvik etmek – Geliştiriciler gerçek dünya uygulamalarını inceleyebilir
- Topluluk inşa etmek – İşbirliği, herkesin faydalandığı iyileştirme sağlar
- Şeffaflığı sağlamak – Gizli algoritmalar veya “kara kutu” kararları yoktur
Bu proje, yüzlerce saatlik araştırma, geliştirme ve testin sonucudur. Geliştirici topluluğuna olan bir katkım, çünkü yıllar boyunca bana çok şey öğrettiler.
🔗 Bağlantılar
🔗 Bağlantılar
- GitHub: CristianBernardes/open-trade-watch
- Belgelendirme: Ayrıntılı kurulum talimatları için README’ye bakın
- API Referansı: Depoda Postman koleksiyonu bulunmaktadır
- Lisans: MIT (ticari kullanım için ücretsiz)
📢 Projeyi Destekleyin
📢 Projeyi Destekleyin
OpenTradeWatch, öğrenme, kendi ticaret sisteminizi oluşturma veya karmaşık mimarileri anlama açısından size değerli olduysa, lütfen:
- ⭐ GitHub’da depoyu yıldızlayın
- 🔀 Diğerlerine paylaşın faydalı bulabileceklerini düşündüğünüz
- 🐛 Hataları bildirin veya iyileştirme önerilerinde bulunun
- 💻 Kod veya belgelendirme katkısında bulunun
- ☕ Geliştirmeyi destekleyin (detaylar README’de)
Her türlü destek, bu projeyi geliştirmeye ve sürdürmeye devam etmemde yardımcı olur.
🏁 Sonuç
🏁 Sonuç
OpenTradeWatch’ı geliştirmek, finansal analiz, modern web teknolojileri ve dağıtık sistem mimarisi kombinasyonu açısından harika bir yolculuk oldu. Ticaret otomasyonu araçları arayan bir tüccar, yeni teknolojiler öğrenmek isteyen bir geliştirici veya ticaret platformlarının nasıl çalıştığına dair meraklı biri olsanız da, umarım bu projede değer bulursunuz.
Kod, keşfetmeniz, değiştirmeniz ve kullanmanız için sizindir. Haydi birlikte harika bir şey inşa edelim!
İyi ticaretler ve iyi kodlamalar! 🚀
Gerçek zamanlı ticaret sistemleri için MQTT kullanma düşünceleriniz nelerdir? Benzer projeler geliştirdiniz mi? Deneyimlerinizi aşağıdaki yorumlarda duymak isterim!
Kaynak: Orijinal Makale
- 🎯 Problem
- 🏗️ Mimari Genel Bakış
- 1. Go Engine – Analiz Gücü
- 2. MQTT Messaging – Gerçek Zamanlı İletişim
- 3. Laravel + Livewire Dashboard – Modern Frontend
- 🔬 Teknik Derinlemesine: Ağırlıklı Puanlama Sistemi
- 🐳 Dağıtım Kolaylığı
- 📊 Farklı Kılan Nedir?
- 🎓 Öğrenme Fırsatları
- 🗺️ Yol Haritası
- 🚀 Başlarken
- ⚠️ Önemli Uyarı
- 🤝 Katkıda Bulunma
- 💭 Neden Açık Kaynak?
- 🔗 Bağlantılar
- 📢 Projeyi Destekleyin
- 🏁 Sonuç


