Kalıcılık Sistemi
Pozisyon Kurtarma
Trading motoru, kritik trading durumunu çökmelerden, yeniden başlatmalardan ve beklenmedik kapanışlardan kurtulmak için yerleşik bir kalıcılık katmanı içerir.
Tüm aktif trading verileri, özel PersistentMap bileşeni kullanılarak otomatik olarak diske kaydedilir.
Sistem kalıcı olarak şunları saklar:
- •Aktif pozisyonlar
- •Bekleyen emirler
- •Sembol trading kontrolleri
- •Risk yönetimi durumları
Bot yeniden başladığında:
- 1.Kalıcı dosyalar otomatik olarak yüklenir.
- 2.Önceki trading durumu belleğe geri yüklenir.
- 3.Aktif pozisyonlar hemen izlenmeye devam eder.
- 4.Bekleyen emirler, borsa yürütme durumunu izlemeye devam eder.
- 5.Risk kontrolleri korunmuş halde kalır.
Bu, botun kesintilerden sonra manuel müdahale olmadan çalışmaya devam etmesini sağlar.
Amaç:
- •Açık pozisyonların takibini kaybetmeyi önlemek
- •Trading sürekliliğini korumak
- •Doğru risk yönetimi durumunu sürdürmek
- •Yeniden başlatmadan sonra çift girişlerden kaçınmak

Veritabanı Yapısı
Kalıcılık katmanı, Python pickle serileştirmesi üzerine inşa edilmiş hafif yerel dosya tabanlı depolama kullanır.
Her kalıcı yapı, bağımsız bir dosyada saklanır:
- •
active_positions.pkl - •
pending_orders.pkl - •
symbol_controls.pkl
Mimari, kasıtlı olarak minimaldir ve düşük gecikmeli trading sistemleri için optimize edilmiştir.
Aktif Pozisyonlar
Şu anda açık olan işlemleri saklar.
Her pozisyon şunları içerir:
- •Trading sembolü
- •Pozisyon yönü
- •Miktar
- •Giriş fiyatı
- •Zarar durdurma fiyatı
- •Kar al fiyatı
- •Sürükleyen durdurma durumu
- •Zaman damgası
Amaç:
- •Yeniden başlatmadan sonra pozisyon yönetimine devam etmek
- •Zarar durdurma ve sürükleme mantığını sürdürmek
- •Tam giriş durumunu korumak
Bekleyen Emirler
Yürütme onayı bekleyen borsa emirlerini saklar.
Her emir şunları içerir:
- •Sembol
- •Emir yönü
- •Emir tipi
- •Miktar
- •Borsa emir ID'si
- •Mevcut durum
Amaç:
- •Çift emirleri önlemek
- •Borsa yürütme durumunu izlemeye devam etmek
- •Tamamlanmamış emir akışlarını kurtarmak
Sembol Kontrolleri
Çalışma zamanı trading izinlerini ve koruma durumlarını saklar.
Her sembol şunları içerebilir:
- •Alım etkinlik durumu
- •Satım etkinlik durumu
- •Devre dışı bırakma nedenleri
- •Risk kilit durumları
Amaç:
- •Otomatik risk kısıtlamalarını korumak
- •Yeniden başlatmadan sonra kazara reaktivasyonu önlemek
Çökme Kurtarma Mantığı
Kalıcılık sistemi şu durumlarda otomatik kurtarma için tasarlanmıştır:
- •Süreç çökmeleri
- •Sunucu yeniden başlatmaları
- •VPS arızaları
- •Elektrik kesintileri
- •Beklenmeyen istisnalar
Eşzamansız Kalıcılık
Tüm yazmalar, özel bir arka plan iş parçacığında işlenir.
Özellikler:
- •Trading yürütmeyi engellemez
- •Sürekli otomatik kaydetme
- •Kuyruk tabanlı kaydetme planlaması
Amaç:
- •Disk işlemlerinin neden olduğu trading gecikmelerini önlemek.
Atomik Dosya Kaydetme
Sistem, maksimum veri güvenliği için atomik dosya değiştirme kullanır.
Kaydetme akışı:
- 1.Veriler geçici bir .tmp dosyasına yazılır.
- 2.Geçici dosya tamamen tamamlanır.
- 3.Dosya, atomik olarak nihai kalıcılık dosyasına yeniden adlandırılır.
Amaç:
- •Çökmeler veya kesintili yazmalar sırasında bozuk kalıcılık dosyalarını önlemek.
Kaydetme Tekilleştirmesi
Kalıcılık kuyruğu, eski kaydetme isteklerini otomatik olarak kaldırır.
Davranış:
- •Yalnızca en yeni durum kalıcı hale getirilir.
- •Gereksiz disk yazmaları atlanır.
Amaç:
- •Disk kullanımını azaltmak
- •Yoğun güncelleme sıklığında performansı iyileştirmek
Otomatik Durum Yeniden Yükleme
Başlangıç sırasında:
- 1.Kalıcılık dosyaları tespit edilir.
- 2.Serileştirilmiş nesneler belleğe geri yüklenir.
- 3.Trading motoru hemen izlemeye devam eder.
Kalıcılık dosyaları mevcut değilse:
- •Yeni temiz depolama otomatik olarak başlatılır.
İş Parçacığı Güvenliği
Kalıcılık motoru, kaydetme işlemleri sırasında dahili senkronizasyon kilitleri kullanır.
Özellikler:
- •Eşzamanlı güvenli yazmalar
- •Güvenli çoklu iş parçacığı erişimi
- •Korumalı dosya değiştirme
Amaç:
- •Trading iş parçacıkları ile kalıcılık katmanı arasında tutarlılık sağlamak
Düzgün Kapanış Koruması
Kapanıştan önce:
- 1.Son kaydetme işlemi zorlanır.
- 2.Kaydetme kuyruğu tamamen temizlenir.
- 3.Arka plan kalıcılık iş parçacığı güvenli bir şekilde durdurulur.
Amaç:
- •Çıkıştan önce en son trading durumunun diske yazılmasını garanti etmek.