▶️ Pozisyon Tamamen Kapattım
Tüm SVGYO adetini sattım — pozisyon kapanır + kapalı pozisyonlar sekmesi
- Trigger: "Pozisyonu Kapat" butonu (UI shortcut) veya tüm adet sat işlemi
- Backend: Mevcut adet × current price ile tek seferlik satış
- Database:
BEGIN; INSERT trades (tip='sat', adet=1005999, fiyat=18.85); UPDATE positions SET adet=0, durum='kapali' WHERE portfolio_id=23919 AND sembol='SVGYO'; INSERT closed_positions ( sembol='SVGYO', acilis_tarih='2026-03-12', kapanis_tarih='2026-05-25', toplam_maliyet=21350544, toplam_satis=18963081, gerceklesen_kz=-2387463, gerceklesen_kz_yuzde=-11.18 ); UPDATE wallet_balance SET tutar = tutar + 18963081; COMMIT; - Domain Events: trade:changed + portfolio:changed + position:closed + wallet:transaction
- UI:
- Pozisyonlar tablosundan SVGYO kalkar
- "Kapalı Pozisyonlar" sekmesinde yeni kayıt
- Cüzdan +₺18.96M gelir
- K/Z özette gerçekleşen kayıp olarak görünür
📋 Kapalı Pozisyon Schema
{
"sembol": "SVGYO",
"acilis_tarih": "2026-03-12",
"kapanis_tarih": "2026-05-25",
"tutma_suresi_gun": 73,
"toplam_maliyet": 21350544,
"toplam_satis": 18963081,
"gerceklesen_kz": -2387463,
"gerceklesen_kz_yuzde": -11.18,
"yillıklandirilmis": -47.2 // (73 gün → 365 ekstrapolasyon)
}
🔌 Endpoints
POST/api/portfolio/trade
GET/api/portfolio/{id}/closed-positions
GET/api/portfolio/{id}/realized-pnl