2.2

🔶 Sett opp Interactive Brokers

Flex Query og automatisk synkronisering

1. Oversikt

Interactive Brokers (IBKR) tilbyr den mest omfattende integrasjonen.

✅ Prosess:
1. Opprett Flex Query
2. Last ned og importer Flex Query som XML for hvert år
3. Hent oppdateringer via Flex Sync
⚠️ Viktig:
Flex Sync henter bare oppdateringer fra de siste dagene. XML-import bygger den komplette historikken. Uten komplett historikk kan ikke systemet evaluere handler korrekt (f.eks. opsjonsstrategier, kampanjer, valutagevinster).

2. Hva er en Flex Query?

En Flex Query er en tilpassbar rapport fra Interactive Brokers. Du definerer én gang hvilke data du vil eksportere, deretter kan du hente den rapporten når som helst – manuelt eller automatisk.

Fordeler:
• Alle handler, utbytte, posisjoner i én rapport
• Automatisk synkronisering mulig
• Data fra de siste 365 dagene tilgjengelige
• Ingen manuell datainntasting kreves

Steg-for-steg guide

1

Steg 1: Opprett Flex Query hos IBKR

1. Logg inn hos IBKR:
Gå til interactivebrokers.com og logg inn på kontoen din.

2. Åpne Flex Queries:
Naviger til: Performance & Reports → Flex Queries

3. Velg riktig spørringstype:
Flex Queries-siden viser to spørringstyper under hverandre. Bare den første er riktig:
✅ Activity Flex Query
Dette er den riktige. Klikk på ➕ øverst til høyre i dette panelet → "Create".
❌ Trade Confirmation Flex Query
Ikke bruk denne! Den inneholder bare handelsbekreftelser. sTraderZ.com kan ikke lese noen data fra den — importen ville blitt helt tom.
Så lenge du ennå ikke har opprettet en spørring, viser Activity Flex Query-panelet bare en melding om at du ikke har noen maler. ➕-symbolet er der likevel — øverst i høyre hjørne av panelet.

ℹ️ Du trenger ikke knappen "Configure with AI" — følg bare steg 2 og 3 nedenfor, de lister opp hver eneste innstilling.
2

Steg 2: Konfigurer Flex Query

Query Name: hva du vil, f.eks. "SingularityTrader".

Sett deretter Delivery Configuration og General Configuration nøyaktig slik:
0 av 11 innstillinger fullført
3

Steg 3: Velg rapportdeler

Seksjonsnavnene er oppgitt på engelsk. Hvis IBKR-portalen din er satt til et annet språk, er etikettene oversatt der.

Aktiver alle følgende seksjoner i Flex Query. Listen er til å hake av — fremdriften din lagres selv om du laster siden på nytt.
0 av 20 seksjoner aktivert
⚠️ Felt vs. typealternativer — den avgjørende forskjellen

Felt (den nummererte listen inne i hver seksjon): bruk alltid "Select All" — jo flere, jo bedre. Manglende felt er den vanligste årsaken til importfeil.

Typealternativer ("Options:"-linjen øverst i en seksjon): her gjelder det motsatte — velg kun ett detaljnivå, nøyaktig det som er angitt ovenfor. Hvert ekstra nivå ("Summary", "Orders", "Symbol Summary", "Lots") beskriver den samme hendelsen en gang til i en ny rad. sTraderZ.com vurderer ikke detaljnivået, men behandler hver rad — flere nivåer kan derfor føre til dobbelttelte handler, gebyrer og posisjoner. Unntak: "Closed Lots" og "Wash Sales" i Trades-seksjonen er ikke bare overflødige, de må være av.
4

Steg 4: Lagre søket

Klikk på "Continue" og deretter "Create".

Etter opprettelsen ser du søket ditt i listen. Noter Query ID – du trenger det snart.
5

Steg 5: Generer Flex Query-token

For automatisk henting trenger du en tilgangsnøkkel. IBKR kaller den token — i sTraderZ.com legger du den senere inn som Flex Token.

1. Åpne Flex Web Service:
På siden Flex Queries ruller du helt ned til blokken "Flex Web Service Configuration" og klikker på "Configure" (⚙️).

2. Aktiver tjenesten:
På siden "Configure Flex Web Service" må Flex Web Service status være enabled. Er den av, kan ikke sTraderZ.com hente spørringen — IBKR avviser forespørselen.

3. Generer token:
I seksjonen "Generate New Token":
0 av 3 innstillinger fullført
⚠️ Token vises bare én gang
Kopier den umiddelbart og oppbevar den sikkert. Mister du den, må du generere en ny — og det gjør den gamle token ugyldig med én gang. Enhver synkronisering som fortsatt bruker den gamle token, vil feile fra det øyeblikket.

Token er gyldig i 1 år. Etter utløp genererer du en ny og legger den inn i kontokonfigurasjonen din.
6

Steg 6: XML-eksport for alle år

Eksporter Flex Query som XML for hvert år av handelshistorikken din:

1. Åpne Flex Query:
Hos IBKR: Performance & Reports → Flex Queries

2. Juster datoperiode:
Rediger søket og angi datoperioden til ett kalenderår (f.eks. 2023-01-01 – 2023-12-31)

3. Kjør søket:
Klikk på "Run" og last ned XML-filen

4. Gjenta for hvert år:
Gjenta trinn 2–3 for alle år du har handlet hos IBKR.
7

Steg 7: XML-import av historikk

Importer alle nedlastede XML-filer til Singularity Trader:

1. Åpne importseksjonen:
Gå til Kontoer → Din IBKR-konto → Konfigurasjon → "Upload XML"

2. Eldste år først:
Begynn med den eldste XML-filen (f.eks. 2021) og arbeid deg kronologisk fremover

3. Importer alle år:
Importer alle XML-filer i rekkefølge opp til inneværende år

⚠️ Viktig: Dette steget er essensielt! Uten komplett historikk kan ikke opsjonsstrategier, handelskampanjer og valutagevinster beregnes korrekt.
8

Steg 8: Konfigurer i Singularity Trader

1. Åpne kontokonfigurasjon:
Gå til Kontoer → Din IBKR-konto → Konfigurasjon

2. Angi Flex Query-data:
• Flex Query ID: Den 7-sifrede spørrings-ID-en fra IBKR (vises i spørringsoversikten, f.eks. 1570627)
• Flex Token: Token du genererte i steg 5

3. Lagre og test:
Klikk på "Lagre" og deretter "Synkroniser nå" for å teste.
✨

Automatisk synkronisering

Etter vellykket konfigurasjon synkroniseres handlerne dine automatisk daglig. Du trenger ikke gjøre noe mer!

Hva som skjer ved synkronisering:
• Nye handler importeres
• Posisjoner oppdateres
• Utbytte registreres
• Opsjonsstrategier gjenkjennes
• Valutagevinster beregnes (FIFO)

Du kan alltid synkronisere manuelt hvis du vil ha de nyeste dataene umiddelbart.

12. Automatisk ny forsøk ved midlertidige feil

IBKR Flex-hentinger kan mislykkes én gang av ulike årsaker (f.eks. kortvarig serverfeil hos IBKR, nettverks-timeout, spørring behandles akkurat nå). Singularity Trader har for dette en automatisk forsøks-kø:

• Mislykkes en synkronisering, gjentas den automatisk opptil 3 ganger (med eksponensielle intervaller).
• Først når alle forsøk mislykkes, vises en CRITICAL-oppføring i systemloggen og et varsel.
• Midlertidige problemer løser seg som regel av seg selv uten at du trenger å gripe inn.

Du ser gjeldende synkroniseringsstatus i kontoseksjonen — grønn = sist vellykket, gul = nytt forsøk pågår, rød = mislykket etter 3 forsøk.

13. Alternativ: manuell XML-import

Hvis du ikke ønsker automatisk synkronisering, kan du eksportere Flex Query manuelt:

1. Hos IBKR: Flex Queries → "Run" ved siden av spørringen din
2. Last ned: Lagre XML-filen
3. Last opp: I Singularity Trader → Kontoer → Konfigurasjon → "Last opp XML"

Denne metoden er også nødvendig for eldre data (> 365 dager), siden Flex Sync bare går 1 år tilbake.

14. Importerte data fra IBKR

Fullstendig støttet:
• Aksjehandler (kjøp/salg)
• Opsjonshandler inkl. Greeks
• Futures og Forex
• Utbytte (brutto, netto, kildeskatt)
• Renter (kredit/debet)
• Opsjonsutøvelser og tildelinger
• Aksjesplitter og fusjoner
• Statement of Funds for valuta-FIFO

Automatisk gjenkjent:
• Opsjonsstrategier (Spreads, Iron Condors, osv.)
• Covered Calls / Cash-Secured Puts
• Handelskampanjer
• Valutagevinster etter § 23 EStG

15. 📥 Data fra TradingLogbook? Ta med taggene dine.

📥 Kommer du fra TradingLogbook?

De vedlikeholdte strategiene dine kan du ta med som tagger på allerede importerte handler — symbol + åpningsdato er nok. Ferdig på 3 minutter.

Til 3-trinns-migreringen

⚠️ Feilsøking

"Token utløpt":
Generer et nytt token hos IBKR og legg det inn i konfigurasjonen.

"Spørring ikke funnet":
Kontroller at Query ID er korrekt og at spørringen er aktiv.

"Ingen data":
Sørg for at alle nødvendige seksjoner i spørringen er aktivert.

"Feil ved import":
Sjekk importloggen for detaljer. Vanlig årsak: Manglende felt i spørringen.

⚠️ Laste inn manglende historiske handler (⚠️-merke ved posisjoner)

Problemet:
I dashbordet eller i posisjonsoversiktene vises et ⚠️-symbol ved en posisjon ved siden av kontonavnet. Verktøytipset viser "Manglende handelsdata — Ingen transaksjoner ble importert for denne posisjonen. Dermed kan ikke strategien gjenkjennes automatisk."

Årsaken:
Posisjonen i seg selv er kjent via IBKR-porteføljens øyeblikksbilde, men åpningshandlene ligger før den eldste importerte handelsdagen. Dette er typisk for LEAPS (langsiktige opsjoner) som ble åpnet måneder eller år før den første Flex Sync.

✅ Løsningen:
Start en engangs ad-hoc-eksport med historisk tidsrom for den eksisterende Flex Query, last ned som XML og last opp via XML-importen. Det er ikke nødvendig å opprette en ny Flex Query!
Steg for steg:
1. Start historisk eksport hos IBKR
• Finn eksisterende Flex Query → klikk Run
• Endre Period til Custom Date Range
• Fra: så langt tilbake som nødvendig (f.eks. 01.01.2024)
• Til: én dag før den eldste allerede importerte handelen
• Format: XML → bekreft Run

2. Last ned XML-filen og lagre lokalt

3. Last opp i Singularity Trader
• Kontoer → IBKR-konto → "Konfigurer IBKR" → XML Import

4. Hva som skjer ved importen
• Bare nye handler importeres (ingen duplikater)
• Strategier, kampanjer og handelssykluser beregnes på nytt

5. Kontroller resultatet
• Last inn dashbordet på nytt — ⚠️-merket skal være borte

Hvis ⚠️ fortsatt vises: Åpningshandlene ligger enda lengre tilbake → start en ny kjøring med en tidligere startdato.

⚠️ 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. ✅ Kontrollsjekk: slik ser den ferdige spørringen ut

Etter lagringen viser IBKR deg en oppsummeringsside ("Review your Activity Flex Query"). Sammenlign den med denne referansen — slik må spørringen din se ut når alt er riktig.
SeksjonTypealternativer ("Options:"-linjen)
Interest Accruals—
Cash TransactionsAlle undertyper (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 (ingen "Lots")
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (den som flest glemmer!)
Prior Period Positions—
TradesKun Execution — ingen "Closed Lots", ingen "Wash Sales", ingen "Orders"/"Asset Class"/"Symbol Summary"
Transaction FeesKun Execution (ikke "Summary" i tillegg)
TransfersTransfer (ingen "Lots")
Change in Dividend AccrualsDetail (ikke "Summary" i tillegg)

Delivery Configuration og General Configuration:

InnstillingVerdi
AccountsDin konto-ID (f.eks. 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)
💡 Noter deg Query ID
Den samme oversikten viser Query ID øverst (et 7-sifret tall, f.eks. 1570627). Du trenger den sammen med token i steg 8.