2.2

🔶 Interactive Brokers kurulumu

Flex Query ve otomatik senkronizasyon

1. Genel Bakış

Interactive Brokers (IBKR) en kapsamlı entegrasyonu sunar.

✅ Süreç:
1. Flex Query oluştur
2. Her yıl için Flex Query'yi XML olarak indir ve içe aktar
3. Flex Sync ile güncellemeleri al
⚠️ Önemli:
Flex Sync yalnızca son günlerden güncellemeleri alır. XML içe aktarma eksiksiz geçmişi oluşturur. Eksiksiz geçmiş olmadan sistem trade'leri düzgün değerlendiremez (örn. opsiyon stratejileri, kampanyalar, döviz kazançları).

2. Flex Query Nedir?

Flex Query, Interactive Brokers'tan özelleştirilebilir bir rapordur. Hangi verileri dışa aktarmak istediğini bir kez tanımlarsın, ardından bu raporu istediğin zaman alabilirsin - manuel veya otomatik olarak.

Faydaları:
• Tüm trade'ler, temettüler, pozisyonlar tek bir raporda
• Otomatik senkronizasyon mümkün
• Son 365 günden veri mevcut
• Manuel veri girişi gerekmez

Adım Adım Kılavuz

1

Adım 1: IBKR'de Flex Query Oluştur

1. IBKR'ye giriş yap:
interactivebrokers.com adresine git ve hesabına giriş yap.

2. Flex Queries'i aç:
Şu yolu izle: Performance & Reports → Flex Queries

3. Doğru query türünü seç:
Flex Queries sayfasında alt alta iki query türü listelenir. Yalnızca ilki doğrudur:
✅ Activity Flex Query
Doğru olan budur. Bu panelin sağ üst köşesindeki ➕ işaretine tıkla → “Create”.
❌ Trade Confirmation Flex Query
Bunu kullanma! Yalnızca işlem onaylarını içerir. sTraderZ.com bundan hiçbir veri okuyamaz — içe aktarma tamamen boş çıkar.
Henüz bir query oluşturmadıysan Activity Flex Query paneli yalnızca şablonun olmadığına dair bir not gösterir. ➕ işareti yine de oradadır — o panelin sağ üst köşesinde.

ℹ️ “Configure with AI” düğmesine ihtiyacın yok — aşağıdaki 2. ve 3. adımları izlemen yeterli, tüm ayarlar orada listelenir.
2

Adım 2: Flex Query'yi Yapılandır

Query Adı: istediğin herhangi bir ad, örn. “SingularityTrader”.

Ardından Delivery Configuration ve General Configuration ayarlarını tam olarak şöyle yap:
0 / 11 ayar tamam
3

Adım 3: Rapor Bölümlerini Seç

Bölüm adları burada İngilizce olarak verilmiştir. IBKR portalınız başka bir dile ayarlıysa etiketler orada çevrilmiş görünür.

Flex Query'de aşağıdaki bölümlerin tümünü etkinleştir. Liste tek tek işaretlemen içindir — sayfayı yeniden yüklesen bile ilerlemen kaydedilir.
0 / 20 bölüm etkin
⚠️ Alanlar (Fields) ile tür seçenekleri arasındaki kritik fark

Alanlar (her bölümün içindeki numaralı liste): her zaman “Select All” kullan — ne kadar çok, o kadar iyi. Eksik alanlar, içe aktarma hatalarının en yaygın nedenidir.

Tür seçenekleri (bölümün üstündeki “Options:” satırı): burada tam tersi geçerlidir — yalnızca tek bir ayrıntı düzeyi seç, tam olarak yukarıda belirtileni. Her ek düzey (“Summary”, “Orders”, “Symbol Summary”, “Lots”) aynı olayı başka bir satırda ikinci kez tarif eder. sTraderZ.com ayrıntı düzeyini değerlendirmez, her satırı işler — bu nedenle birden fazla düzey mükerrer sayılan işlemlere, ücretlere ve pozisyonlara yol açabilir. İstisna: Trades bölümündeki “Closed Lots” ve “Wash Sales” yalnızca gereksiz değildir, kapalı olmak zorundadır.
4

Adım 4: Query'yi Kaydet

"Devam"'a ve ardından "Oluştur"'a tıkla.

Oluşturulduktan sonra query'ni listede göreceksin. Query ID'yi not al - kısa süre sonra ihtiyacın olacak.
5

Adım 5: Flex Query Token'ı Oluştur

Otomatik veri çekimi için bir erişim anahtarına ihtiyacın var. IBKR buna Token der — sTraderZ.com'da bunu daha sonra Flex Token olarak gireceksin.

1. Flex Web Service'i aç:
Flex Queries sayfasında en alta kaydır, “Flex Web Service Configuration” bloğunu bul ve “Configure” (⚙️) düğmesine tıkla.

2. Servisi etkinleştir:
“Configure Flex Web Service” sayfasında Flex Web Service status enabled olmalıdır. Kapalıysa sTraderZ.com query'yi çekemez — IBKR isteği reddeder.

3. Token'ı oluştur:
“Generate New Token” bölümünde:
0 / 3 ayar tamam
⚠️ Token yalnızca bir kez gösterilir
Hemen kopyala ve güvenli bir yerde sakla. Kaybedersen yenisini oluşturman gerekir — ve bu işlem eski token'ı anında geçersiz kılar. Eski token'ı kullanan her senkronizasyon o andan itibaren başarısız olur.

Token 1 yıl geçerlidir. Süresi dolduktan sonra yeni bir token oluştur ve hesap yapılandırmana kaydet.
6

Adım 6: Tüm Yıllar İçin XML Dışa Aktarma

Trading geçmişinin her yılı için Flex Query'yi XML olarak dışa aktar:

1. Flex Query'yi Aç:
IBKR'de: Performans & Raporlar → Flex Query'ler

2. Tarih Aralığını Ayarla:
Query'yi düzenle ve tarih aralığını bir takvim yılına ayarla (örn. 01.01.2023 - 31.12.2023)

3. Query'yi Çalıştır:
"Çalıştır"'a tıkla ve XML dosyasını indir

4. Her Yıl İçin Tekrarla:
IBKR'de trade yaptığın tüm yıllar için 2-3. adımları tekrarla (örn. 2021, 2022, 2023, 2024).
7

Adım 7: Geçmişin XML İçe Aktarması

İndirilen tüm XML dosyalarını Singularity Trader'a içe aktar:

1. İçe Aktarma Bölümünü Aç:
Hesaplar → IBKR Hesabın → Yapılandırma → "XML Yükle"'ye git

2. En Eski Yıldan Başla:
En eski XML dosyasıyla başla (örn. 2021) ve kronolojik olarak ilerle

3. Tüm Yılları İçe Aktar:
Mevcut yıla kadar tüm XML dosyalarını sırayla içe aktar

⚠️ Önemli: Bu adım zorunludur! Eksiksiz geçmiş olmadan opsiyon stratejileri, trade kampanyaları ve döviz kazançları doğru hesaplanamaz.
8

Adım 8: Singularity Trader'da Ayarla

1. Hesap Yapılandırmasını Aç:
Hesaplar → IBKR Hesabın → Yapılandırma

2. Flex Query Verilerini Gir:
• Flex Query ID: IBKR'deki 7 haneli query numarası (query genel görünümünde gösterilir, örn. 1570627)
• Flex Token: 5. adımda oluşturduğun token

3. Kaydet ve Test Et:
“Kaydet”e ve ardından test için “Şimdi Senkronize Et”e tıkla.
✨

Otomatik Senkronizasyon

Başarılı kurulumun ardından trade'lerin günlük otomatik olarak senkronize edilir. Başka bir şey yapman gerekmez!

Senkronizasyon sırasında ne olur:
• Yeni trade'ler içe aktarılır
• Pozisyonlar güncellenir
• Temettüler kaydedilir
• Opsiyon stratejileri tanınır
• Döviz kazançları hesaplanır (FIFO)

En son verileri hemen istiyorsan istediğin zaman manuel senkronizasyon yapabilirsin.

12. Geçici Hatalarda Otomatik Yeniden Deneme

Geçici Hatalarda Otomatik Yeniden Deneme IBKR Flex sorguları çeşitli nedenlerle zaman zaman başarısız olabilir (örn. IBKR'de kısa süreli sunucu hatası, ağ zaman aşımı, sorgu işlem aşamasında). Singularity Trader bunun için bir otomatik yeniden deneme kuyruğuna sahiptir:

• Bir senkronizasyon başarısız olursa, otomatik olarak en fazla 3 kez yeniden denenir (üstel aralıklarla).
• Tüm denemeler başarısız olursa, Sistem-Log'da bir CRITICAL girişi ve bir bildirim görünür.
• Geçici sorunlar genellikle müdahale gerektirmeden kendiliğinden çözülür.

Mevcut senkronizasyon durumunu Hesaplar bölümünde görebilirsiniz — yeşil = son başarılı, sarı = yeniden deneme devam ediyor, kırmızı = 3 denemeden sonra başarısız.

13. Alternatif: Manuel XML İçe Aktarma

Alternatif: Manuel XML İçe Aktarma Otomatik senkronizasyon istemiyorsanız, Flex Query'yi manuel olarak dışa aktarabilirsiniz:

1. IBKR'de: Flex Queries → Sorgunuzun yanındaki "Run" düğmesine tıklayın
2. İndirme: XML dosyasını kaydedin
3. Yükleme: Singularity Trader → Hesaplar → Yapılandırma → "XML yükle"

Bu yöntem, Flex Sync yalnızca 1 yıl geriye gittiğinden eski veriler (> 365 gün) için de gereklidir.

14. IBKR'den İçe Aktarılan Veriler

IBKR'den İçe Aktarılan Veriler Tam olarak desteklenir:
• Hisse senedi işlemleri (alım/satım)
• Greeks dahil opsiyon işlemleri
• Futures ve Forex
• Temettüler (brüt, net, stopaj vergisi)
• Faizler (alacak/borç)
• Opsiyon kullanımları ve atamalar
• Hisse senedi bölünmeleri ve birleşmeler
• Döviz FIFO için Fon Özeti

Otomatik olarak tanınır:
• Opsiyon stratejileri (Spreadler, Iron Condorlar vb.)
• Covered Calls / Cash-Secured Puts
• İşlem kampanyaları
• § 23 EStG kapsamında kur kazançları

15. 📥 TradingLogbook'tan mı geliyorsunuz? Etiketlerinizi getirin.

📥 Altdaten vom TradingLogbook? Tags mitnehmen.
📥 TradingLogbook'tan mı geliyorsunuz?

Yönettiğiniz stratejilerinizi, halihazırda içe aktarılmış işlemlerinize etiket olarak aktarabilirsiniz — Sembol + Açılış tarihi yeterlidir. 3 dakikada tamamlanır.

3 adımlı geçişe git

⚠️ Sorun Giderme

Sorun Giderme "Token süresi doldu":
IBKR'de yeni bir token oluşturun ve yapılandırmaya girin.

"Sorgu bulunamadı":
Query ID'nin doğru olduğunu ve sorgunun etkin olduğunu kontrol edin.

"Veri yok":
Sorguda gerekli tüm bölümlerin etkinleştirildiğinden emin olun.

"İçe aktarma hatası":
Ayrıntılar için İçe Aktarma-Log'u kontrol edin. Sık karşılaşılan sorun: Sorguda eksik alanlar.

⚠️ Eksik Geçmiş İşlemleri Yükleme (Pozisyonlarda ⚠️ Rozeti)

Eksik Geçmiş İşlemleri Yükleme (Pozisyonlarda ⚠️ Rozeti) Sorun:
Gösterge tablosunda veya pozisyon listelerinde bir pozisyonun yanında hesap adının yanı sıra ⚠️ simgesi görünür. İpucu şunu gösterir: "Eksik işlem verileri — Bu pozisyon için hiçbir işlem içe aktarılmadı. Bu nedenle strateji otomatik olarak tanınamaz."

Neden:
Pozisyonun kendisi IBKR'nin portföy anlık görüntüsü üzerinden bilinir, ancak açılış işlemleri şimdiye kadar içe aktarılan en eski işlem gününden önceye aittir. Bu, ilk Flex-Sync'ten aylar veya yıllar önce açılmış LEAPS (uzun vadeli opsiyonlar) için tipiktir.

✅ Çözüm:
Mevcut Flex Query üzerinden geçmişe yönelik tarih aralığıyla tek seferlik bir Ad-hoc dışa aktarma başlatın, XML olarak indirin ve XML-İçe Aktarma üzerinden yükleyin. Yeni bir Flex Query oluşturmanıza gerek yoktur!
Adım Adım:
1. IBKR'de geçmiş dışa aktarmayı başlatın
• Mevcut Flex Query'yi bulun → Run'a tıklayın
• Dönem'i Custom Date Range olarak ayarlayın
• Başlangıç: gerektiği kadar geriye gidin (örn. 01.01.2024)
• Bitiş: içe aktarılan en eski işlemden bir gün önce
• Format: XML → Run'ı onaylayın

2. XML dosyasını indirin ve yerel olarak kaydedin

3. Singularity Trader'a yükleyin
• Hesaplar → IBKR-Hesabı → "IBKR'yi yapılandır" → XML İçe Aktarma

4. İçe aktarma sırasında neler olur
• Yalnızca yeni işlemler içe aktarılır (tekrar yok)
• Stratejiler, kampanyalar ve Trade-Cycle'lar yeniden hesaplanır

5. Sonucu kontrol edin
• Gösterge tablosunu yenileyin — ⚠️ rozeti kaybolmuş olmalıdır

⚠️ devam ederse: Açılış işlemleri daha geriye uzanıyor → Daha erken başlangıç tarihiyle başka bir Run başlatın.

⚠️ Verkaufte Position ohne Anschaffungskosten, nach Übertrag zwischen zwei eigenen IB-Konten

Das Problem:
Du hast bei Interactive Brokers mehrere eigene Konten (z. B. ein Hauptkonto und ein separat angelegtes zweites Individual-Konto — nicht zu verwechseln mit dem automatisch erkannten Unterkonto aus einer gemeinsamen Flex Query). Eine Position — typisch bei einer Optionsandienung/-zuteilung (Assignment) — wurde ursprünglich in einem der beiden Konten aufgebaut, taucht aber irgendwann im anderen Konto auf und wird von dort verkauft. Im Steuerreport erscheint diese Position bei „Nicht abgedeckte Veräußerungen" (uncovered sales) mit der Fußnote „°" — Legende: „Mit ° gekennzeichnete Positionen haben keinen Depotübertrag als Ursache." Es fehlen also jegliche Anschaffungskosten, obwohl du die Position nachweislich selbst erworben hast.

So erkennst du den Fall sicher — Checkliste:
  1. Öffne im Quellkonto (dort, wo die Position ursprünglich entstand) die Trade-Historie und suche nach dem betroffenen Symbol. Bei einer Optionszuteilung findest du dort eine Buchung mit Kaufkurs und Datum — sie ist vorhanden.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) den Reiter „Transfers" der Konto-Detailseite. Erwartest du dort einen Eingang für dieses Symbol, findest du gar keine Zeile — nicht mal eine mit ungeklärter Herkunft (die gäbe es im Reiter zu sehen und du könntest ihr wie im vorigen FAQ-Eintrag ein Herkunftskonto zuweisen).
  3. Im Steuerreport steht die verkaufte Position unter „Nicht abgedeckte Veräußerungen" mit der Fußnote °.
Treffen alle drei Punkte zu, liegt exakt dieser Sonderfall vor.

ℹ️ Die Ursache liegt bei IBKR, nicht in sTraderZ.com
sTraderZ.com erkennt Positionsüberträge zwischen zwei Konten automatisch, sobald IBKR sie in der Flex Query als Transaktion mitliefert — siehe den FAQ-Eintrag zum regulären Positionsübertrag. Bei zwei eigenständig gehaltenen Individual-Konten (keine formale Master-/Sub-Struktur bei IBKR) meldet IBKR eine interne Umbuchung zwischen ihnen aber manchmal an keiner Stelle als Transaktion — nicht als Trade, nicht als Transfer und auch nicht im „Statement of Funds" (Kapitalflussrechnung), also selbst im vollständigsten Report, den IBKR liefert. Für sTraderZ.com — wie für jede Auswertungssoftware, die auf die offiziellen IBKR-Datenexporte angewiesen ist — gibt es dann schlicht keine Quelle, aus der sich die Anschaffungskosten automatisch übernehmen ließen. Das lässt sich softwareseitig nicht nachbessern, weil in den Rohdaten nichts steht, das man auswerten könnte.
Was du tun kannst — trage die Anschaffungskosten selbst nach:
Dafür brauchst du keinen Support-Kontakt. Auf der Konto-Detailseite gibt es genau für diesen Fall die Funktion „Manuellen Depotübertrag hinzufügen" (Karte „Depot-Überträge").
  1. Ermittle im Quellkonto (Trade-Historie) die genauen Zugangs-Buchungen: Datum, Stückzahl und Kaufkurs je Zuteilung. Wurden mehrere Zuteilungen zu unterschiedlichen Kursen/Terminen verkauft, trägst du jede Zuteilung als eigene Zeile ein — nicht als eine Zeile mit Durchschnittskurs, sonst stimmt die FIFO-Reihenfolge bei künftigen Teilverkäufen nicht mehr.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) die Konto-Detailseite → Karte „Depot-Überträge" → „Manuellen Depotübertrag hinzufügen".
  3. Fülle je Zuteilung aus: Symbol, Stückzahl, Anschaffungsdatum (das echte Datum der Zuteilung im Quellkonto, nicht das Übertragsdatum), Anschaffungskosten (Gesamtbetrag dieser Zeile, nicht der Kurs pro Stück — die Plattform rechnet daraus automatisch den Stückkurs), Übertragsdatum (an dem die Position im Zielkonto auftauchte bzw. verkauft wurde) und — falls in der Dropdown-Liste vorhanden — dein Quellkonto als Herkunftskonto.
  4. Speichern. Die Position fließt danach steuerneutral ins FIFO des Zielkontos ein, mit korrektem Anschaffungsdatum und -kurs — dein Steuerreport rechnet ab sofort richtig.
💡 So beugst du künftig vor
Verzichte, wo möglich, auf interne Umbuchungen einer Position zwischen zwei separat gehaltenen IB-Konten. Nutze stattdessen entweder ein einziges Konto für zusammengehörige Strategien, oder — falls du bewusst mehrere Konten trennen willst — richte bei IBKR eine formale Family-/Advisor-Kontostruktur ein, bei der interne Bewegungen regulär als Transfer gemeldet werden (siehe FAQ-Eintrag oben).

19. ✅ Son kontrol: tamamlanmış query nasıl görünmeli

Kaydettikten sonra IBKR sana bir özet sayfası gösterir (“Review your Activity Flex Query”). Onu bu referansla karşılaştır — her şey doğruysa query'n böyle görünmelidir.
BölümTür seçenekleri (“Options:” satırı)
Interest Accruals—
Cash TransactionsTüm alt türler (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
CFD Charges—
Cash Report—
Incoming/Outgoing Trade TransfersTrade Transfers
Forex P/L DetailsTransaction
Grant Activity—
Financial Instrument Information—
Statement of FundsBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Corporate ActionsDetail
Account Information—
Net Asset Value (NAV) in Base—
Open PositionsSummary (“Lots” yok)
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (en sık unutulan bölüm!)
Prior Period Positions—
TradesYalnızca Execution — “Closed Lots” yok, “Wash Sales” yok, “Orders”/“Asset Class”/“Symbol Summary” yok
Transaction FeesYalnızca Execution (ek olarak “Summary” değil)
TransfersTransfer (“Lots” yok)
Change in Dividend AccrualsDetail (ek olarak “Summary” değil)

Delivery Configuration ve General Configuration:

AyarDeğer
AccountsHesap numaran (örn. U1234567)
FormatXML
PeriodLast 30 Calendar Days
Profit and LossDefault
Include Offsetting Trade/Cancel Pairs?No
Include Currency Rates?No
Include Audit Trail Fields?No
Display Account Alias in Place of Account ID?No
Breakout by Day?No
Date FormatyyyyMMdd
Time FormatHHmmss
Date/Time Separator; (semi-colon)
💡 Query ID'yi not et
Aynı genel görünümün üst kısmında Query ID gösterilir (7 haneli bir sayı, örn. 1570627). 8. adımda token ile birlikte buna ihtiyacın olacak.