2.2

🔶 Interactive Brokers beállítása

Flex Query és automatikus szinkronizáció

1. Áttekintés

Az Interactive Brokers (IBKR) kínálja a legkiterjedtebb integrációt.

✅ Folyamat:
1. Flex Query létrehozása
2. Flex Query letöltése XML-ként minden évre, majd importálása
3. Frissítések lekérése Flex Sync-en keresztül
⚠️ Fontos:
A Flex Sync csak az utolsó napok frissítéseit tölti le. Az XML-import építi fel a teljes előzményt. Ha az előzmény hiányzik, a rendszer nem tudja megfelelően kiértékelni a trade-eket (pl. opciós stratégiák, kampányok, árfolyamnyereségek).

2. Mi az a Flex Query?

A Flex Query egy testreszabható riport az Interactive Brokersnél. Egyszer határozod meg, mely adatokat szeretnéd exportálni, és ezt a riportot ezután bármikor lekérheted — manuálisan vagy automatikusan.

Előnyök:
• Minden trade, osztalék és pozíció egy riportban
• Automatikus szinkronizálás lehetséges
• Az elmúlt 365 nap adatai elérhetők
• Nincs szükség manuális adatbevitelre

Lépésről lépésre útmutató

1

1. lépés: Flex Query létrehozása az IBKR-nél

1. Bejelentkezés az IBKR-nél:
Menj a interactivebrokers.com oldalra, és jelentkezz be a fiókodba.

2. Flex Queries megnyitása:
Navigálj ide: Performance & Reports → Flex Queries
Német felület: Performance & Berichte → Flex Queries

3. A megfelelő query-típus kiválasztása:
A Flex Queries oldalon két terület van egymás alatt. Csak az első a helyes:
✅ Kontoumsatz-Flex-Query (angol felület: „Activity Flex Query")
Ez a helyes terület. Kattints ennek a csempének a jobb felső sarkában lévő ➕ jelre → „Create".
❌ Handelsbestätigungs-Flex-Query (angol felület: „Trade Confirmation Flex Query")
Ne használd! Ez a riporttípus csak kereskedési visszaigazolásokat tartalmaz. A sTraderZ.com nem tud belőle adatot kiolvasni — az import teljesen üres maradna.
Amíg még nem hoztál létre query-t, a „Kontoumsatz-Flex-Query" területen csak ez az üzenet látható: „Sie haben keine Vorlagen für Kontoumsatz-Flex-Queries…". A ➕ ennek ellenére ott van — ennek a csempének a jobb felső sarkában.

ℹ️ A „Mithilfe von KI konfigurieren" gombra nincs szükséged — kövesd egyszerűen a lenti 2. és 3. lépést, ott megtalálod az összes beállítást.
2

2. lépés: Flex Query beállítása

Query neve: szabadon választható, pl. „SingularityTrader".

Ezután állítsd be pontosan így a kézbesítési és az általános konfigurációt:
0 / 11 beállítás megadva
3

3. lépés: riport szakaszok kiválasztása

Aktiváld a Flex Queryben az összes alábbi szakaszt. A lista kipipálható — a haladásod akkor is megmarad, ha újratöltöd az oldalt.
0 / 20 szakasz aktiválva
⚠️ Mezők vs. típus-opciók — a legfontosabb különbség

Mezők (a szakaszonkénti számozott lista): Itt mindig a „Select All" érvényes — minél több, annál jobb. A hiányzó mezők az importhibák leggyakoribb oka.

Típus-opciók (a szakasz tetején lévő „Optionen:" sor): Itt az ellenkezője érvényes — csak egy részletezettségi szint, pontosan a fent megadott. Minden további szint („Gesamtübersicht", „Order", „Symbolzusammenfassung", „Lots") másodszor is leírja ugyanazt a folyamatot egy újabb sorban. A sTraderZ.com nem a részletezettségi szintet értékeli ki, hanem minden sort feldolgoz — több szint ezért duplán számolt trade-ekhez, díjakhoz és pozíciókhoz vezethet. Kivétel: a „Geschlossene Lots" és a „Wash Sales" a Trades szakaszban nem csupán feleslegesek, hanem kötelezően kikapcsolva kell lenniük.
4

4. lépés: Query mentése

Kattints a "Continue", majd a "Create" gombra.

A létrehozás után látni fogod a query-t a listában. Jegyezd fel a Query ID-t — hamarosan szükséged lesz rá.
5

5. lépés: Flex Query token generálása

Az automatikus lekéréshez egy hozzáférési kulcsra van szükséged. Ezt az IBKR-nél németül „Prüfcode"-nak hívják (angolul: Token) — a sTraderZ.com-ban később Flex Token-ként adod meg.

1. Flex-Web-Service megnyitása:
A Flex Queries oldalon görgess egészen le a „Flex-Web-Service-Konfiguration" blokkig, és kattints ott a „Konfigurieren" (⚙️) gombra.

2. Szolgáltatás aktiválása:
A „Flex-Web-Service konfigurieren" oldalon a Flex-Web-Service-Status-nak aktiváltnak kell lennie. Ha ki van kapcsolva, a sTraderZ.com nem tudja lekérni a query-t — az IBKR elutasítja a hozzáférést.

3. Prüfcode (ellenőrzőkód) generálása:
A „Neuen Prüfcode generieren" szakaszban:
0 / 3 beállítás megadva
⚠️ Az ellenőrzőkód csak egyetlen egyszer jelenik meg
Másold ki azonnal, és tárold biztonságos helyen. Ha elveszíted, újat kell generálnod — és eközben a régi ellenőrzőkód érvényét veszti. Ha egy szinkronizálás a régi kóddal fut, attól a pillanattól kezdve meghiúsul.

Az ellenőrzőkód 1 évig érvényes. Lejárat után generálj újat, és rögzítsd a konto-konfigurációban.
6

6. lépés: XML-export minden évre

Exportáld a Flex Query-t XML-ként a kereskedési előzményed minden évére:

1. Flex Query megnyitása:
Az IBKR-nél: Performance & Reports → Flex Queries

2. Időszak beállítása:
Szerkeszd a query-t, és állítsd az időszakot egy naptári évre (pl. 2023.01.01 – 2023.12.31)

3. Query futtatása:
Kattints a "Run" gombra, és töltsd le az XML-fájlt

4. Ismétlés minden évre:
Ismételd meg a 2–3. lépést minden évre, amikor az IBKR-nél kereskedtél (pl. 2021, 2022, 2023, 2024).
7

7. lépés: az előzmény XML-importja

Importáld az összes letöltött XML-fájlt a Singularity Traderbe:

1. Import terület megnyitása:
Menj ide: Kontók → A te IBKR-kontód → Konfiguráció → "XML feltöltése"

2. A legrégebbi év elsőként:
Kezdd a legrégebbi XML-fájllal (pl. 2021), és haladj kronologikusan előre

3. Minden év importálása:
Importáld egymás után az összes XML-fájlt egészen a jelenlegi évig

⚠️ Fontos: Ez a lépés elengedhetetlen! Teljes előzmény nélkül az opciós stratégiák, trade-kampányok és árfolyamnyereségek nem számíthatók ki helyesen.
8

8. lépés: beállítás a Singularity Traderben

1. Konto-konfiguráció megnyitása:
Menj ide: Kontók → A te IBKR-kontód → Konfiguráció

2. Flex Query adatok megadása:
• Flex Query ID: Az IBKR 7 jegyű query-azonosítója (a query-áttekintőn található, pl. 1570627)
• Flex Token: Az 5. lépésben generált ellenőrzőkód

3. Mentés és tesztelés:
Kattints a "Mentés", majd a "Szinkronizálás most" gombra a teszteléshez.
✨

Automatikus szinkronizálás

A sikeres beállítás után a trade-jeid naponta automatikusan szinkronizálódnak. Semmi mást nem kell tenned!

Mi történik szinkronizáláskor:
• Az új trade-ek importálódnak
• A pozíciók frissülnek
• Az osztalékok rögzítésre kerülnek
• Az opciós stratégiák felismerésre kerülnek
• Az árfolyamnyereségek kiszámításra kerülnek (FIFO)

Bármikor kézzel is szinkronizálhatsz, ha azonnal szeretnéd a legfrissebb adatokat.

12. Auto-Retry on Temporary Errors

IBKR Flex fetches can fail temporarily for various reasons (e.g. a brief server error at IBKR, a network timeout, or a query that is currently being processed). Singularity Trader has an automatic retry queue for this:

• If a sync fails, it is retried up to 3 times automatically (with exponential backoff).
• Only when all attempts have failed does a CRITICAL entry appear in the system log along with a notification.
• Temporary problems usually resolve themselves without you having to intervene.

You can see the current sync status in the Accounts area — green = last sync successful, yellow = retry in progress, red = failed after 3 attempts.

13. Alternative: Manual XML Import

If you prefer not to use automatic synchronization, you can export the Flex Query manually:

1. At IBKR: Flex Queries → click "Run" next to your query
2. Download: Save the XML file
3. Upload: In Singularity Trader → Accounts → Configuration → "Upload XML"

This method is also required for older data (> 365 days), since Flex Sync only goes back 1 year.

14. Imported Data at IBKR

Fully supported:
• Stock trades (buy/sell)
• Options trades incl. Greeks
• Futures and Forex
• Dividends (gross, net, withholding tax)
• Interest (credit/debit)
• Option exercises and assignments
• Stock splits and mergers
• Statement of Funds for currency FIFO

Automatically detected:
• Option strategies (spreads, iron condors, etc.)
• Covered calls / cash-secured puts
• Trade campaigns
• Currency gains under § 23 EStG

15. 📥 Data from TradingLogbook? Bring Your Tags.

📥 Coming from TradingLogbook?

You can transfer your maintained strategies as tags onto your already-imported trades — symbol + opening date is all it takes. Done in 3 minutes.

To the 3-step migration

⚠️ Troubleshooting

"Token expired":
Generate a new token at IBKR and enter it in the configuration.

"Query not found":
Verify that the Query ID is correct and that the query is active.

"No data":
Make sure all required sections are enabled in the query.

"Error during import":
Check the import log for details. Common cause: missing fields in the query.

⚠️ Reload Missing Historical Trades (⚠️ Badge on Positions)

The problem:
A ⚠️ symbol appears next to the account name for a position in the dashboard or positions list. The tooltip reads "Missing trade data — No transactions were imported for this position. As a result, the strategy cannot be detected automatically."

The cause:
The position itself is known via the IBKR portfolio snapshot, but the opening trades lie before the earliest trading day imported so far. This is typical for LEAPS (long-dated options) that were opened months or years before the first Flex Sync.

✅ The solution:
Trigger a one-time ad-hoc export with a historical date range on your existing Flex Query, download it as XML, and upload it via the XML import. There is no need to create a new Flex Query!
Step by step:
1. Trigger the historical export at IBKR
• Find your existing Flex Query → click Run
• Change the period to Custom Date Range
• From: as far back as needed (e.g. 01/01/2024)
• To: one day before the earliest already-imported trade
• Format: XML → confirm Run

2. Download the XML file and save it locally

3. Upload in Singularity Trader
• Accounts → IBKR account → "Configure IBKR" → XML Import

4. What happens during import
• Only new trades are imported (no duplicates)
• Strategies, campaigns and trade cycles are recalculated

5. Check the result
• Reload the dashboard — the ⚠️ badge should be gone

If the ⚠️ persists: The opening trades go back even further → trigger another run with an earlier start date.

⚠️ 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. ✅ Cross-check: what the finished query looks like

After saving, IBKR shows you a summary page ("Review your Activity Flex Query"). Compare it against this reference — that is what your query has to look like when everything is right.
SectionType options ("Options:" line)
Interest Accruals—
Cash TransactionsAll sub-types (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 (no "Lots")
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (the one most people forget!)
Prior Period Positions—
TradesExecution only — no "Closed Lots", no "Wash Sales", no "Orders"/"Asset Class"/"Symbol Summary"
Transaction FeesExecution only (not additionally "Summary")
TransfersTransfer (no "Lots")
Change in Dividend AccrualsDetail (not additionally "Summary")

Delivery Configuration and General Configuration:

SettingValue
AccountsYour account ID (e.g. 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)
💡 Note down the Query ID
The same overview shows the Query ID at the top (a 7-digit number, e.g. 1570627). You will need it together with the token in step 8.