2.2

🔶 Interactive Brokers einrichten

Flex Query și automatische Synchronisation

1. Prezentare generală

Interactive Brokers (IBKR) offers the most comprehensive integration.

✅ Process:
1. Create Flex Query
2. Download and import Flex Query as XML for each year
3. Get updates via Flex Sync
⚠️ Important:
Flex Sync only retrieves updates from recent days. XML import builds the complete history. Without complete history, the system cannot properly evaluate trades (e.g., option strategies, campaigns, forex gains).

2. Ce este o Flex Query?

A Flex Query is a customizable report from Interactive Brokers. You define once which data you want to export, then you can retrieve this report anytime - manually or automatically.

Benefits:
• All trades, dividends, positions in one report
• Automatic synchronization possible
• Data from the last 365 days available
• No manual data entry required

Ghid pas cu pas

1

Pasul 1: Creează Flex Query la IBKR

1. Conectează-te la IBKR:
Mergi la interactivebrokers.com și autentifică-te în contul tău.

2. Deschide Flex Queries:
Navighează la: Performance & Reports → Flex Queries

3. Alege tipul corect de query:
Pagina Flex Queries afișează două tipuri de query, unul sub celălalt. Doar primul este cel corect:
✅ Activity Flex Query (dacă portalul tău este setat pe altă limbă, eticheta apare tradusă corespunzător)
Acesta este cel corect. Apasă pe ➕ din colțul din dreapta sus al acestui panou → "Create".
❌ Trade Confirmation Flex Query (dacă portalul tău este setat pe altă limbă, eticheta apare tradusă corespunzător)
Nu folosi acest tip! Conține doar confirmări de tranzacții. sTraderZ.com nu poate citi niciun fel de date din el — importul ar rămâne complet gol.
Atât timp cât nu ai creat încă niciun query, panoul Activity Flex Query afișează doar o notă care spune că nu ai niciun șablon. Simbolul ➕ este totuși acolo — în colțul din dreapta sus al acelui panou.

ℹ️ Nu ai nevoie de butonul "Configure with AI" — urmează pur și simplu pașii 2 și 3 de mai jos, acolo sunt enumerate toate setările.
2

Pasul 2: Configurează Flex Query

Query Name: ce dorești, de exemplu "SingularityTrader".

Apoi setează Delivery Configuration și General Configuration exact așa:
0 din 11 setări finalizate
3

Pasul 3: Selectează secțiunile raportului

Activează în Flex Query toate secțiunile următoare. Numele secțiunilor sunt indicate în engleză. Dacă portalul tău IBKR este setat pe altă limbă, etichetele vor apărea traduse. Lista este făcută pentru a fi bifată — progresul tău se salvează chiar dacă reîncarci pagina.
0 din 20 secțiuni activate
⚠️ Câmpuri vs. opțiuni de tip — diferența decisivă

Câmpuri (lista numerotată din interiorul fiecărei secțiuni): folosește întotdeauna "Select All" — cu cât mai multe, cu atât mai bine. Câmpurile lipsă sunt cea mai frecventă cauză a erorilor de import.

Opțiunile de tip (rândul "Options:" din partea de sus a unei secțiuni): aici este exact invers — alege un singur nivel de detaliu, exact cel indicat mai sus. Fiecare nivel suplimentar ("Summary", "Orders", "Symbol Summary", "Lots") descrie același eveniment încă o dată, într-un alt rând. sTraderZ.com nu evaluează nivelul de detaliu, ci procesează fiecare rând — de aceea, mai multe niveluri pot duce la tranzacții, comisioane și poziții numărate de două ori. Excepție: "Closed Lots" și "Wash Sales" din secțiunea Trades nu sunt doar redundante, ele trebuie să fie dezactivate.
4

Pasul 4: Salvează query-ul

Click "Continue" and then "Create".

After creation, you'll see your query in the list. Note the Query ID - you'll need it shortly.
5

Pasul 5: Generează token-ul Flex Query

Pentru preluarea automată ai nevoie de o cheie de acces. IBKR o numește token (dacă portalul tău este setat pe altă limbă, eticheta apare tradusă corespunzător) — în sTraderZ.com o vei introduce ulterior ca Flex Token.

1. Deschide Flex Web Service:
Pe pagina Flex Queries, derulează până jos, la blocul "Flex Web Service Configuration", și apasă pe "Configure" (⚙️).

2. Activează serviciul:
Pe pagina "Configure Flex Web Service", Flex Web Service status trebuie să fie enabled. Dacă este dezactivat, sTraderZ.com nu poate prelua query-ul — IBKR va respinge cererea.

3. Generează tokenul:
În secțiunea "Generate New Token":
0 din 3 setări finalizate
⚠️ Tokenul este afișat o singură dată
Copiază-l imediat și păstrează-l în siguranță. Dacă îl pierzi, trebuie să generezi unul nou — iar astfel tokenul vechi devine imediat invalid. Orice sincronizare care mai folosește tokenul vechi va eșua din acel moment.

Tokenul este valabil 1 an. După expirare, generează unul nou și salvează-l în configurarea contului tău.
6

Pasul 6: Export XML pentru toți anii

Export the Flex Query as XML for each year of your trading history:

1. Open Flex Query:
At IBKR: Performance & Reports → Flex Queries

2. Adjust Date Range:
Edit the query and set the date range to one calendar year (e.g., 01/01/2023 - 12/31/2023)

3. Run Query:
Click "Run" and download the XML file

4. Repeat for Each Year:
Repeat steps 2-3 for all years you've traded at IBKR (e.g., 2021, 2022, 2023, 2024).
7

Pasul 7: Import XML al istoricului

Import all downloaded XML files into Singularity Trader:

1. Open Import Section:
Go to Accounts → Your IBKR Account → Configuration → "Upload XML"

2. Oldest Year First:
Start with the oldest XML file (e.g., 2021) and work your way forward chronologically

3. Import All Years:
Import all XML files sequentially up to the current year

⚠️ Important: This step is essential! Without complete history, option strategies, trade campaigns, and forex gains cannot be calculated correctly.
8

Pasul 8: Configurare în Singularity Trader

1. Deschide configurarea contului:
Mergi la Conturi → contul tău IBKR → Configurare

2. Introdu datele Flex Query:
• Flex Query ID: ID-ul de query din 7 cifre de la IBKR (afișat în lista query-urilor, de exemplu 1570627)
• Flex Token: tokenul generat la pasul 5

3. Salvează și testează:
Apasă pe "Save" și apoi pe "Sync Now" pentru a testa.
✨

Sincronizare automată

After successful setup, your trades are automatically synchronized daily. You don't need to do anything else!

What happens during sync:
• New trades are imported
• Positions are updated
• Dividends are recorded
• Option strategies are recognized
• Forex gains are calculated (FIFO)

You can always manually sync anytime if you want the latest data immediately.

12. Reîncercare automată la erori temporare

Reîncercare automată la erori temporare Cererile IBKR Flex pot eșua ocazional din diverse motive (ex. eroare temporară de server la IBKR, timeout de rețea, cerere în curs de procesare). Singularity Trader dispune de o coadă automată de reîncercare:

• Dacă o sincronizare eșuează, se reîncearcă automat de până la 3 ori (cu intervale exponențiale).
• Abia după ce toate încercările eșuează apare o intrare CRITICAL în Jurnalul de sistem și o notificare.
• Problemele temporare se rezolvă de obicei singure, fără intervenție din partea ta.

Poți vedea starea curentă a sincronizării în secțiunea Conturi — verde = ultimul succes, galben = reîncercare în curs, roșu = eșuat după 3 încercări.

13. Alternativă: Import manual XML

Alternativă: Import manual XML Dacă nu dorești sincronizare automată, poți exporta manual Flex Query:

1. La IBKR: Flex Queries → Clic pe "Run" lângă cererea ta
2. Descărcare: Salvează fișierul XML
3. Încărcare: În Singularity Trader → Conturi → Configurare → "Încarcă XML"

Această metodă este necesară și pentru date mai vechi (> 365 zile), deoarece Flex Sync acoperă doar 1 an în urmă.

14. Date importate de la IBKR

Date importate de la IBKR Complet suportat:
• Tranzacții cu acțiuni (cumpărare/vânzare)
• Tranzacții cu opțiuni incl. Greeks
• Futures și Forex
• Dividende (brut, net, impozit reținut la sursă)
• Dobânzi (credit/debit)
• Exercitări și cesionări de opțiuni
• Splituri de acțiuni și fuziuni
• Statement of Funds pentru FIFO valutar

Recunoscut automat:
• Strategii de opțiuni (Spreaduri, Iron Condori etc.)
• Covered Calls / Cash-Secured Puts
• Campanii de tranzacționare
• Câștiguri valutare conform § 23 EStG

15. 📥 Vii de la TradingLogbook? Adu-ți etichetele.

📥 Altdaten vom TradingLogbook? Tags mitnehmen.
📥 Vii de la TradingLogbook?

Poți transfera strategiile îngrijite ca etichete pe tranzacțiile deja importate — Simbol + Data de deschidere sunt suficiente. Gata în 3 minute.

La migrarea în 3 pași

⚠️ Depanare

Depanare "Token expirat":
Generează un token nou la IBKR și introdu-l în configurare.

"Cerere negăsită":
Verifică dacă Query ID este corect și cererea este activă.

"Nicio dată":
Asigură-te că toate secțiunile necesare din cerere sunt activate.

"Eroare la import":
Verifică Jurnalul de import pentru detalii. Frecvent: Câmpuri lipsă în cerere.

⚠️ Reîncărcarea tranzacțiilor istorice lipsă (Insignă ⚠️ la Poziții)

Reîncărcarea tranzacțiilor istorice lipsă (Insignă ⚠️ la Poziții) Problema:
În tabloul de bord sau în listele de poziții apare un simbol ⚠️ lângă numele contului la o poziție. Tooltipul arată: "Date de tranzacționare lipsă — Pentru această poziție nu a fost importată nicio tranzacție. Prin urmare, strategia nu poate fi recunoscută automat."

Cauza:
Poziția în sine este cunoscută prin instantaneul de portofoliu de la IBKR, dar tranzacțiile de deschidere se află înainte de cea mai veche zi de tranzacționare importată până acum. Aceasta este tipic pentru LEAPS (opțiuni pe termen lung) deschise cu luni sau ani înainte de primul Flex-Sync.

✅ Soluția:
Inițiază un export Ad-hoc unic cu interval de date istorice din cererea Flex existentă, descarcă ca XML și încarcă prin importul XML. Nu este necesară crearea unei noi Flex Query!
Pas cu pas:
1. Inițiază exportul istoric la IBKR
• Găsește Flex Query existentă → Clic pe Run
• Setează Perioada la Custom Date Range
• De la: cât de departe în urmă este necesar (ex. 01.01.2024)
• Până la: o zi înainte de cea mai veche tranzacție deja importată
• Format: XML → Confirmă Run

2. Descarcă fișierul XML și salvează-l local

3. Încarcă în Singularity Trader
• Conturi → Contul IBKR → "Configurează IBKR" → Import XML

4. Ce se întâmplă la import
• Se importă doar tranzacțiile noi (fără duplicate)
• Strategiile, campaniile și Trade-Cycle-urile sunt recalculate

5. Verifică rezultatul
• Reîncarcă tabloul de bord — insigna ⚠️ ar trebui să fi dispărut

Dacă ⚠️ persistă: Tranzacțiile de deschidere sunt și mai îndepărtate → Inițiază un alt run cu o dată de start mai timpurie.

⚠️ 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 zweites Individual-Konto), egal ob du sie über eine gemeinsame Flex Query oder getrennt eingebunden hast. 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 — 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. Einen Eingang dieses Papiers mit Stückzahl findest du dort nicht. Höchstens steht am Tag des Übertrags eine Zeile mit dem Namen des Papiers und dem Betrag 0.
  3. Im Steuerreport steht die verkaufte Position unter „Nicht abgedeckte Veräußerungen" mit der Fußnote °.
  4. Der Übertrag liegt vor dem 13.08.2026, und dein Konto wurde vor diesem Tag erstmals eingelesen.
Treffen alle Punkte zu, liegt genau dieser Fall vor.

ℹ️ Die Ursache: ein Importfehler bei sTraderZ.com (seit 13.08.2026 behoben)
IBKR meldet Überträge zwischen deinen Konten im Abschnitt „Transfers" der Flex Query, auch bei zwei eigenständig gehaltenen Individual-Konten. Bis zum 13.08.2026 hat sTraderZ.com Wertpapierüberträge aus diesem Abschnitt aber nicht richtig übernommen: Gespeichert wurde nur ein leerer Vermerk, Papier und Stückzahl gingen verloren. Seit der Korrektur kommen neue Überträge vollständig an. Ältere Importe wurden dadurch aber nicht nachträglich repariert, dafür braucht es einen erneuten Import des Zeitraums. In solchen Altimporten stehen übrigens auch Geldüberträge zwischen deinen Konten mit 0 € in den Einzahlungen.
Was du tun kannst — den Zeitraum des Übertrags neu importieren:
  1. Bei IBKR: Performance & Berichte → Flex Queries, bei deiner bestehenden Flex Query auf ▶ „Ausführen". Der Abschnitt „Transfers" muss in der Query aktiviert sein (siehe Schritt 3 oben).
  2. Zeitraum „Benutzerdefiniert" auf das Jahr des Übertrags setzen, Format XML. Ein Lauf darf höchstens 365 Tage umfassen, bei mehreren betroffenen Jahren also je Jahr ein Lauf.
  3. In sTraderZ.com: Konten → dein IBKR-Konto → „IBKR konfigurieren" → XML-Import, die Dateien nacheinander hochladen (älteste zuerst). Führst du Quell- und Zielkonto mit getrennten Flex Queries, importierst du den Zeitraum für beide Konten. Bereits vorhandene Trades werden erkannt und nicht doppelt angelegt.
  4. Danach steht der Übertrag im Reiter „Transfers" beider Konten, und Anschaffungsdatum samt Kosten wandern mit ins Zielkonto. Voraussetzung: Beide Konten sind in sTraderZ.com derselben Person zugeordnet (Konten → Personen). Zum Schluss den Steuerreport des betroffenen Jahres neu erzeugen.
⚠️ Schon von Hand nachgetragen?
Hast du die Anschaffungskosten für diese Position bereits über „Manuellen Depotübertrag hinzufügen" erfasst, stehen die Stücke nach dem Neuimport doppelt in der Rechnung: einmal aus deiner Erfassung, einmal aus dem importierten Übertrag. Melde dich in diesem Fall über Feedback & Tickets, wir entfernen die von Hand erfassten Einträge.
Notlösung, falls der Neuimport nicht hilft — Anschaffungskosten von Hand nachtragen:
Das ist nur nötig, wenn IBKR den Zeitraum nicht mehr liefert oder der Übertrag von einem anderen Broker kam. Auf der Konto-Detailseite gibt es dafür 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.

19. ✅ Verificare finală: cum arată query-ul gata configurat

După salvare, IBKR îți afișează o pagină de sinteză ("Review your Activity Flex Query"). Compar-o cu această referință — așa trebuie să arate query-ul tău dacă totul este corect.
SecțiuneOpțiuni de tip (rândul "Options:")
Interest Accruals—
Cash TransactionsToate subtipurile (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 (fără "Lots")
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (secțiunea uitată cel mai des!)
Prior Period Positions—
Tradesdoar Execution — fără "Closed Lots", fără "Wash Sales", fără "Orders"/"Asset Class"/"Symbol Summary"
Transaction Feesdoar Execution (nu suplimentar "Summary")
TransfersTransfer (fără "Lots")
Change in Dividend AccrualsDetail (nu suplimentar "Summary")

Delivery Configuration și General Configuration:

SetareValoare
AccountsID-ul contului tău (de exemplu 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)
💡 Notează-ți Query ID-ul
Aceeași pagină de sinteză afișează sus Query ID (un număr din 7 cifre, de exemplu 1570627). Ai nevoie de el împreună cu tokenul la pasul 8.