2.2

🔶 Configurare Interactive Brokers

Flex Query e sincronizzazione automatica

1. Panoramica

Interactive Brokers (IBKR) offre l'integrazione più completa.

✅ Processo:
1. Crea Flex Query
2. Scarica e importa Flex Query come XML per ogni anno
3. Ottieni aggiornamenti tramite Flex Sync
⚠️ Importante:
Flex Sync recupera solo gli aggiornamenti degli ultimi giorni. L'importazione XML costruisce la cronologia completa. Senza cronologia completa, il sistema non può valutare correttamente i trade (es. strategie su opzioni, campagne, guadagni forex).

2. Cos'è una Flex Query?

Una Flex Query è un report personalizzabile di Interactive Brokers. Definisci una volta quali dati vuoi esportare, poi puoi recuperare questo report in qualsiasi momento - manualmente o automaticamente.

Vantaggi:
• Tutti i trade, dividendi, posizioni in un unico report
• Sincronizzazione automatica possibile
• Dati degli ultimi 365 giorni disponibili
• Nessuna immissione manuale dei dati richiesta

Guida passo dopo passo

1

Passo 1: Crea Flex Query su IBKR

1. Accedi a IBKR:
Vai su interactivebrokers.com e accedi al tuo conto.

2. Apri le Flex Queries:
Naviga su: Performance & Reports → Flex Queries

3. Scegli il tipo di query giusto:
La pagina Flex Queries elenca due tipi di query uno sotto l’altro. Solo il primo è quello corretto:
✅ Activity Flex Query (nel portale in un’altra lingua l’etichetta è tradotta di conseguenza)
Questa è quella giusta. Clicca sul ➕ in alto a destra in questo pannello → "Create".
❌ Trade Confirmation Flex Query (nel portale in un’altra lingua l’etichetta è tradotta di conseguenza)
Non usare questa! Contiene soltanto le conferme di esecuzione. sTraderZ.com non riesce a leggerne alcun dato — l’importazione risulterebbe completamente vuota.
Finché non hai ancora creato una query, il pannello Activity Flex Query mostra solo una nota che indica che non hai modelli. Il ➕ c’è comunque — nell’angolo in alto a destra di quel pannello.

ℹ️ Non ti serve il pulsante "Configure with AI" — segui semplicemente i passi 2 e 3 qui sotto: contengono tutte le impostazioni.
2

Passo 2: Configura Flex Query

Query Name: quello che preferisci, es. "SingularityTrader".

Imposta poi la Delivery Configuration e la General Configuration esattamente così:
0 di 11 impostazioni completate
3

Passo 3: Seleziona le sezioni del report

Attiva tutte le sezioni seguenti nella Flex Query. L’elenco serve per spuntarle — i tuoi progressi restano salvati anche se ricarichi la pagina.
0 di 20 sezioni attivate
⚠️ Campi vs. opzioni di tipo — la differenza decisiva

Campi (l’elenco numerato all’interno di ogni sezione): usa sempre "Select All" — più ce ne sono, meglio è. I campi mancanti sono la causa più frequente di errori di importazione.

Opzioni di tipo (la riga "Options:" in testa a una sezione): qui vale il contrario — scegli un solo livello di dettaglio, esattamente quello indicato sopra. Ogni livello aggiuntivo ("Summary", "Orders", "Symbol Summary", "Lots") descrive lo stesso evento una seconda volta in un’altra riga. sTraderZ.com non valuta il livello di dettaglio, elabora ogni riga — perciò più livelli possono portare a trade, commissioni e posizioni conteggiati due volte. Eccezione: "Closed Lots" e "Wash Sales" nella sezione "Eseguiti" non sono soltanto ridondanti, devono essere disattivati.
4

Passo 4: Salva la query

Clicca "Continue" e poi "Create".

Dopo la creazione, vedrai la tua query nell'elenco. Annota il Query ID - ti servirà tra poco.
5

Passo 5: Genera il token Flex Query

Per il recupero automatico ti serve una chiave di accesso. IBKR la chiama token — in sTraderZ.com la inserirai più avanti come Flex Token.

1. Apri il Flex Web Service:
Nella pagina Flex Queries scorri fino in fondo al blocco "Flex Web Service Configuration" e clicca su "Configure" (⚙️).

2. Attiva il servizio:
Nella pagina "Configure Flex Web Service" lo stato del Flex Web Service deve essere attivato. Se è disattivato, sTraderZ.com non può recuperare la query — IBKR rifiuterà la richiesta.

3. Genera il token:
Nella sezione "Generate New Token":
0 di 3 impostazioni completate
⚠️ Il token viene mostrato una sola volta
Copialo subito e conservalo in modo sicuro. Se lo perdi devi generarne uno nuovo — e così facendo il vecchio token viene invalidato immediatamente. Ogni sincronizzazione che usa ancora il vecchio token fallirà da quel momento in poi.

Il token è valido per 1 anno. Dopo la scadenza generane uno nuovo e salvalo nella configurazione del tuo conto.
6

Passo 6: Esportazione XML per tutti gli anni

Esporta la Flex Query come XML per ogni anno della tua cronologia di trading:

1. Apri Flex Query:
Su IBKR: Performance & Reports → Flex Queries

2. Regola il periodo:
Modifica la query e imposta il periodo su un anno di calendario (es. 01/01/2023 - 31/12/2023)

3. Esegui la query:
Clicca "Run" e scarica il file XML

4. Ripeti per ogni anno:
Ripeti i passaggi 2-3 per tutti gli anni in cui hai fatto trading su IBKR (es. 2021, 2022, 2023, 2024).
7

Passo 7: Importazione XML della cronologia

Importa tutti i file XML scaricati in Singularity Trader:

1. Apri la sezione di importazione:
Vai su Conti → Il tuo conto IBKR → Configurazione → "Carica XML"

2. Inizia dall'anno più vecchio:
Inizia con il file XML più vecchio (es. 2021) e procedi cronologicamente

3. Importa tutti gli anni:
Importa sequenzialmente tutti i file XML fino all'anno corrente

⚠️ Importante: Questo passaggio è essenziale! Senza la cronologia completa, le strategie su opzioni, le campagne di trade e i guadagni forex non possono essere calcolati correttamente.
8

Passo 8: Configura in Singularity Trader

1. Apri la configurazione del conto:
Vai su Conti → Il tuo conto IBKR → Configurazione

2. Inserisci i dati Flex Query:
• Flex Query ID: L’ID a 7 cifre della query da IBKR (visibile nella panoramica della query, es. 1570627)
• Flex Token: Il token generato al passo 5

3. Salva e testa:
Clicca "Salva" e poi "Sincronizza ora" per testare.
✨

Sincronizzazione automatica

Dopo una configurazione avvenuta con successo, i tuoi trade vengono sincronizzati automaticamente ogni giorno. Non devi fare nient'altro!

Cosa succede durante la sincronizzazione:
• I nuovi trade vengono importati
• Le posizioni vengono aggiornate
• I dividendi vengono registrati
• Le strategie su opzioni vengono riconosciute
• I guadagni forex vengono calcolati (FIFO)

Puoi sempre sincronizzare manualmente in qualsiasi momento se vuoi i dati più recenti immediatamente.

12. Retry automatico in caso di errori temporanei

Le richieste IBKR Flex possono fallire occasionalmente per vari motivi (es. errore temporaneo del server IBKR, timeout di rete, query in elaborazione). Singularity Trader dispone di una coda di retry automatica:

• Se una sincronizzazione fallisce, viene ripetuta automaticamente fino a 3 volte (con intervallo esponenziale).
• Solo quando tutti i tentativi falliscono, appare una voce CRITICAL nel log di sistema e una notifica.
• I problemi temporanei si risolvono solitamente da soli, senza che tu debba intervenire.

Puoi vedere lo stato di sincronizzazione attuale nella sezione Conti — verde = ultimo successo, giallo = retry in corso, rosso = fallito dopo 3 tentativi.

13. Alternativa: importazione manuale XML

Se non desideri la sincronizzazione automatica, puoi esportare la Flex Query manualmente:

1. Su IBKR: Flex Queries → "Run" accanto alla tua query
2. Scaricare: Salvare il file XML
3. Caricare: In Singularity Trader → Conti → Configurazione → "Carica XML"

Questo metodo è necessario anche per i dati storici (> 365 giorni), poiché Flex Sync risale solo a 1 anno indietro.

14. Dati importati da IBKR

Completamente supportato:
• Trade su azioni (acquisto/vendita)
• Trade su opzioni con Greeks
• Futures e Forex
• Dividendi (lordo, netto, ritenuta alla fonte)
• Interessi (avere/dare)
• Esercizi e assegnazioni di opzioni
• Split azionari e fusioni
• Rendiconto dei fondi (Statement of Funds) per il FIFO valutario

Riconosciuto automaticamente:
• Strategie su opzioni (Spread, Iron Condor, ecc.)
• Covered Call / Cash-Secured Put
• Campagne di trading
• Plusvalenze in valuta estera ai sensi del § 23 EStG

15. 📥 Dati dal TradingLogbook? Porta con te i tuoi tag.

📥 Vieni dal TradingLogbook?

Puoi trasferire le tue strategie taggate ai trade già importati — bastano simbolo + data di apertura. Fatto in 3 minuti.

Alla migrazione in 3 passi

⚠️ Risoluzione dei problemi

"Token scaduto":
Genera un nuovo token su IBKR e inseriscilo nella configurazione.

"Query non trovata":
Verifica che l'ID della query sia corretto e che la query sia attiva.

"Nessun dato":
Assicurati che tutte le sezioni richieste siano attivate nella query.

"Errore durante l'importazione":
Controlla il log di importazione per i dettagli. Causa frequente: campi mancanti nella query.

⚠️ Ricaricare i trade storici mancanti (⚠️ badge sulle posizioni)

Il problema:
Nel dashboard o negli elenchi di posizioni appare un simbolo ⚠️ accanto al nome del conto per una posizione. Il tooltip mostra "Dati di trade mancanti — Nessuna transazione è stata importata per questa posizione. Di conseguenza la strategia non può essere riconosciuta automaticamente."

La causa:
La posizione stessa è nota tramite lo snapshot del portafoglio IBKR, ma i trade di apertura si trovano prima del giorno di trading più vecchio finora importato. Ciò è tipico per i LEAPS (opzioni a lungo termine) aperti mesi o anni prima del primo Flex Sync.

✅ La soluzione:
Dalla Flex Query esistente, avviare puntualmente un'esportazione ad-hoc con intervallo di date storico, scaricare come XML e caricare tramite l'importazione XML. Non è necessario creare una nuova Flex Query!
Passo dopo passo:
1. Avviare l'esportazione storica su IBKR
• Cercare la Flex Query esistente → cliccare su Run
• Cambiare il periodo su Custom Date Range
• Dal: così lontano nel passato quanto necessario (es. 01/01/2024)
• Al: un giorno prima del trade più vecchio già importato
• Formato: XML → confermare Run

2. Scaricare il file XML e salvarlo localmente

3. Caricare in Singularity Trader
• Conti → Conto IBKR → "Configura IBKR" → XML Import

4. Cosa succede durante l'importazione
• Vengono importati solo i trade nuovi (nessun duplicato)
• Strategie, campagne e Trade-Cycle vengono ricalcolati

5. Verificare il risultato
• Ricaricare il dashboard — il badge ⚠️ dovrebbe essere sparito

Se il ⚠️ persiste: I trade di apertura sono ancora più indietro → avviare un altro run con una data di inizio precedente.

⚠️ 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. ✅ Controprova: come appare la query finita

Dopo il salvataggio IBKR mostra una pagina di riepilogo ("Review your Activity Flex Query"). Confrontala con questo riferimento — è così che deve apparire la tua query se tutto è corretto.
SezioneOpzioni di tipo (riga "Options:")
Interessi maturati—
Transazioni in contantiTutti i sottotipi (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
Tariffe CFD—
Resoconto di liquidità—
Trasferimenti eseguiti in ingresso/uscitaTrade Transfers
Dettagli del P/L su forexTransaction
Attività piano incentivazione—
Informazioni sullo strumento finanziario—
Rendiconto dei fondiBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Operazioni societarieDetail
Coordinate del conto—
Valore patrimoniale netto (VPN) in valuta di base—
Posizioni aperteSummary (niente "Lots")
Dividendi maturati correnti—
Esercizi, assegnazioni e scadenze delle opzioni— (la sezione che quasi tutti dimenticano!)
Posizioni del periodo precedente—
EseguitiSolo Execution — niente "Closed Lots", niente "Wash Sales", niente "Orders"/"Asset Class"/"Symbol Summary"
Commissioni sulle transazioniSolo Execution (non in aggiunta "Summary")
TrasferimentiTransfer (niente "Lots")
Variazione dei dividendi maturatiDetail (non in aggiunta "Summary")

Delivery Configuration e General Configuration:

ImpostazioneValore
ContiL’ID del tuo conto (es. U1234567)
FormatoXML
PeriodoUltimi 30 giorni civili
Profitti e perditePredefinito
Includere le coppie operazione di compensazione/annullamento?No
Includere i tassi di cambio?No
Vuoi includere i campi dell’audit trail?No
Mostrare l’alias del conto piuttosto che l’ID?No
Presentazione dati per giorno?No
Formato della datayyyyMMdd
Formato dell’oraHHmmss
Separatore data/ora; (punto e virgola)
💡 Annota il Query ID
Nella stessa panoramica, in alto, è indicato il Query ID (un numero a 7 cifre, es. 1570627). Ti servirà insieme al token nel passo 8.