Performans

Optimizasyon Teknikleri

Bot mimarisi, hafif yürütme ve minimum blokaj işlemleri etrafında tasarlanmıştır. Çoğu kritik sistem, trading mantığını ağır yük altında bile duyarlı tutmak için eşzamansız veya izole iş parçacıklarında çalışır.

Altyapı, sorumlulukları özel modüllere ayırır:

  • Trading motoru
  • TCP iletişim katmanı
  • Telegram entegrasyonu
  • Kalıcılık katmanı
  • Günlükleme sistemi
  • Arka plan işçileri

Bu, yavaş işlemlerin emir yürütmeyi veya piyasa analizini engellemesini önler.

Örneğin, kalıcılık eşzamansız bir kuyruk tabanlı sistem aracılığıyla işlenir. Durum güncellemeleri, trading işlemleri sırasında doğrudan diske yazmak yerine bir arka plan işçisine itilir. Bu, aktif trading sırasında yürütme yükünü önemli ölçüde azaltır.

Günlükleme sistemi de üretim kullanımı için optimize edilmiştir:

  • Ayrı konsol ve dosya işleyicileri
  • Dönen günlük dosyaları
  • Bağımsız TCP günlük iletimi
  • Yapılandırılabilir günlük seviyeleri

Bot, aşırı senkronizasyon noktalarından kaçınır ve yalnızca gerektiğinde hafif iş parçacığı kullanır. Arka plan işçileri, çekirdek strateji döngüsünün piyasa yürütmesine odaklanmış kalmasını sağlayarak arka plan iş parçacıkları olarak çalışır.

Proje genelinde kullanılan ek optimizasyon teknikleri şunları içerir:

  • Kalıcılık kayıtları için kuyruk tekilleştirmesi
  • Tam yeniden yazmalar yerine atomik dosya değiştirme
  • Yeniden kullanılabilir günlükçü örnekleri
  • Kalıcı TCP bağlantıları
  • Kontrollü PYTHONPATH
  • Bağımsız yeniden başlatılabilir hizmetler
  • Minimum blokaj uyku aralıkları

Mimari, kullanıcıların altyapı katmanını yeniden inşa etmeden strateji mantığını değiştirebilmeleri için kasıtlı olarak modülerdir.

Performance Intro

API Kullanımını Azaltma

Verimli API kullanımı, herhangi bir ciddi trading sistemi için kritiktir.

Platform, hızlı tepki hızını korurken gereksiz borsa isteklerini azaltmak için tasarlanmıştır.

Birkaç altyapı kararı, API yükünü en aza indirmeye yardımcı olur:

Akıllı Durum Kalıcılığı

Her yeniden başlatmadan sonra sürekli olarak borsadan veri yeniden getirmek yerine, bot dahili trading durumunu kalıcılık katmanını kullanarak yerel olarak saklar.

Bu şunları sağlar:

  • Pozisyon kurtarma
  • Emir takibi
  • Yeniden başlatmadan sonra strateji devamı
  • Azaltılmış senkronizasyon istekleri

Bot, her başlatıldığında tam durumu borsadan yeniden oluşturmak zorunda değildir.

Dahili Komut Yönlendirme

Telegram sistemi, bot durumu için harici hizmetleri yoklamak yerine yerel bir TCP katmanı aracılığıyla iletişim kurar.

Şunun gibi komutlar:

  • starttrading
  • stoptrading
  • buy
  • sell
  • getstatus

neredeyse sıfır yük ile modüller arasında dahili olarak yönlendirilir.

Bu, gereksiz harici API iletişiminden kaçınır ve altyapıyı hafif tutar.

Kontrollü Günlük Seviyeleri

Günlük ayrıntı düzeyi şunlar için bağımsız olarak yapılandırılabilir:

  • Konsol çıktısı
  • Dosya günlüklemesi
  • Genel günlükçü seviyesi

Bu, üretim ortamlarında aşırı hata ayıklama işlemlerini önler.

Yoğun hata ayıklama günlüklemesi, yüksek frekanslı sistemlerde performansı önemli ölçüde düşürebilir, bu nedenle yapılandırılabilir günlük filtrelemesi önemlidir.

Yerel Kurtarma Mantığı

Çökme kurtarma ve otomatik yeniden başlatma sistemleri, tekrarlayan başlangıç senkronizasyonu isteklerini azaltmaya yardımcı olur.

Arızalardan sonra çalışma zamanı ortamını manuel olarak yeniden oluşturmak yerine, bot kalıcı durum ve watchdog yürütme döngülerini kullanarak hızla geri yükler.


Düşük Gecikmeli Yürütme

Düşük gecikmeli yürütme, altyapı basitliği ve süreç izolasyonu ile elde edilir.

Proje, gereksiz çerçevelerden ve ağır orkestrasyon katmanlarından kaçınır. Trading sistemi, strateji mantığı ile yürütme arasında minimum ara yazılım bulunan doğrudan Python süreçleri olarak çalışır.

Gecikme odaklı önemli tasarım seçimleri şunları içerir:

Özel Trading Süreci

Trading botu, Telegram arayüzünden bağımsız olarak çalışır.

Bu şu anlama gelir:

  • Telegram trafiği trading mantığını donduramaz
  • Mesajlaşma gecikmeleri yürütmeyi etkilemez
  • Harici bildirimler izole kalır

Telegram kullanılamaz hale gelse bile, trading motoru çalışmaya devam eder.

Kalıcı TCP İletişimi

Modüller arasındaki iletişim, geçici süreçler oluşturmak veya yavaş IPC mekanizmaları kullanmak yerine kalıcı bir TCP katmanı kullanır.

Bu şunları sağlar:

  • Hızlı komut teslimi
  • Hafif mesaj yönlendirme
  • Gerçek zamanlı günlük akışları
  • Minimum yük iletişimi

Trading motorundan gelen günlükler, TCP hattı aracılığıyla doğrudan Telegram botuna iletilir ve yürütmeyi engellemeden neredeyse gerçek zamanlı izleme sağlar.

Arka Plan İş Parçacığı Mimarisi

Birkaç işlem, çekirdek strateji döngüsünden bağımsız olarak çalışır:

  • Kalıcılık kayıtları
  • TCP iletişimi
  • Telegram komut işleme
  • Günlük iletimi
  • Kurtarma işçileri

Bu, yavaş G/Ç işlemlerinin trading yürütmesini kesintiye uğratmasını önler.

Otomatik Yeniden Başlatma Altyapısı

Bu, kesinti süresini en aza indirir ve kurtarma gecikmesini son derece düşük tutar.

Manuel müdahale gerektirmek yerine, altyapı hizmetleri saniyeler içinde otomatik olarak geri yükler.

Minimal Çalışma Zamanı Yığını

Sistem kasıtlı olarak şunlardan kaçınır:

  • Ağır web çerçeveleri
  • Konteynır orkestrasyon yükü
  • Veritabanı sunucuları
  • Karmaşık mesaj brokerları
  • Büyük bağımlılık zincirleri

Sonuç, tamamen trading performansı ve operasyonel kararlılığa odaklanmış hafif bir yürütme ortamıdır.

Altyapı, kullanıcıların kendi trading algoritmalarını uygulayabileceği ve profesyonel sınıf kalıcılık, günlükleme, izleme, yeniden başlatma kurtarma ve iletişim sistemlerini zaten tamamen entegre etmiş halde bulabileceği yüksek hızlı bir temel görevi görür.