2.1

🔶 Konfiguracja Interactive Brokers

Flex Query i automatyczna synchronizacja

1. Przegląd

Interactive Brokers (IBKR) oferuje najobszerniejszą integrację.

✅ Proces:
1. Utwórz Flex Query
2. Pobierz i zaimportuj Flex Query jako XML dla każdego roku
3. Otrzymuj aktualizacje przez Flex Sync
⚠️ Ważne:
Flex Sync pobiera tylko aktualizacje z ostatnich dni. Import XML buduje kompletną historię. Bez kompletnej historii system nie może prawidłowo ocenić transakcji (np. strategii opcyjnych, kampanii, zysków forex).

2. Czym jest Flex Query?

Flex Query to konfigurowalny raport z Interactive Brokers. Raz definiujesz, jakie dane chcesz wyeksportować, potem możesz ten raport pobrać w dowolnym momencie - ręcznie lub automatycznie.

Zalety:
• Wszystkie transakcje, dywidendy, pozycje w jednym raporcie
• Możliwość automatycznej synchronizacji
• Dane z ostatnich 365 dni dostępne
• Brak konieczności ręcznego wprowadzania danych

Przewodnik krok po kroku

1

Krok 1: Utwórz Flex Query w IBKR

1. Zaloguj się do IBKR:
Wejdź na interactivebrokers.com i zaloguj się na swoje konto.

2. Otwórz Flex Queries:
Przejdź do: Performance & Reports → Flex Queries

3. Wybierz właściwy typ zapytania:
Na stronie Flex Queries widoczne są dwa typy zapytań, jeden pod drugim. Poprawny jest tylko pierwszy:
✅ Activity Flex Query
To jest ten właściwy. Kliknij ➕ w prawym górnym rogu tego panelu„Create”.
❌ Trade Confirmation Flex Query
Nie używaj tego typu! Zawiera on wyłącznie potwierdzenia transakcji. sTraderZ.com nie może odczytać z niego żadnych danych — import byłby całkowicie pusty.
Dopóki nie utworzysz jeszcze żadnego zapytania, panel Activity Flex Query pokazuje tylko komunikat, że nie masz szablonów. Przycisk ➕ mimo to tam jest — w prawym górnym rogu tego panelu.

ℹ️ Przycisk „Configure with AI” nie jest potrzebny — wystarczy wykonać kroki 2 i 3 poniżej, zawierają one wszystkie ustawienia.
2

Krok 2: Skonfiguruj Flex Query

Nazwa zapytania (Query Name): dowolna, np. „SingularityTrader”.

Następnie ustaw sekcje Delivery Configuration i General Configuration dokładnie tak:
0 z 11 ustawień gotowych
3

Krok 3: Wybierz sekcje raportu

Włącz w Flex Query wszystkie poniższe sekcje. Nazwy sekcji podano po angielsku. Jeśli Twój portal IBKR jest ustawiony na inny język, etykiety będą przetłumaczone. Listę można odhaczać — Twój postęp zostaje zapisany, nawet jeśli przeładujesz stronę.
0 z 20 sekcji włączonych
⚠️ Pola a opcje typu — kluczowa różnica

Pola (numerowana lista wewnątrz każdej sekcji): zawsze używaj „Select All” — im więcej, tym lepiej. Brakujące pola to najczęstsza przyczyna błędów importu.

Opcje typu (wiersz „Options:” na górze sekcji): tutaj obowiązuje zasada odwrotna — wybierz tylko jeden poziom szczegółowości, dokładnie ten podany powyżej. Każdy dodatkowy poziom („Summary”, „Orders”, „Symbol Summary”, „Lots”) opisuje to samo zdarzenie po raz drugi, w kolejnym wierszu. sTraderZ.com nie ocenia poziomu szczegółowości, lecz przetwarza każdy wiersz — kilka poziomów może więc prowadzić do podwójnie liczonych transakcji, opłat i pozycji. Wyjątek: „Closed Lots” i „Wash Sales” w sekcji Trades nie są tylko nadmiarowe — one muszą być wyłączone.
4

Krok 4: Zapisz zapytanie

Kliknij "Continue", a następnie "Create".

Po utworzeniu zobaczysz swoje zapytanie na liście. Zanotuj Query ID - za chwilę będzie ci potrzebne.
5

Krok 5: Wygeneruj token Flex Query

Do automatycznego pobierania potrzebujesz klucza dostępu. IBKR nazywa go token — w sTraderZ.com wprowadzisz go później jako Flex Token.

1. Otwórz Flex Web Service:
Na stronie Flex Queries przewiń na sam dół do bloku „Flex Web Service Configuration” i kliknij „Configure” (⚙️).

2. Aktywuj usługę:
Na stronie „Configure Flex Web Service” status Flex Web Service musi być włączony. Jeśli jest wyłączony, sTraderZ.com nie może pobrać zapytania — IBKR odrzuci żądanie.

3. Wygeneruj token:
W sekcji „Generate New Token”:
0 z 3 ustawień gotowych
⚠️ Token jest wyświetlany tylko raz
Skopiuj go natychmiast i przechowuj bezpiecznie. Jeśli go zgubisz, musisz wygenerować nowy — a nowy token natychmiast unieważnia stary. Każda synchronizacja korzystająca jeszcze ze starego tokenu od tego momentu zawiedzie.

Token jest ważny 1 rok. Po wygaśnięciu wygeneruj nowy i zapisz go w konfiguracji konta.
6

Krok 6: Eksport XML dla wszystkich lat

Wyeksportuj Flex Query jako XML dla każdego roku twojej historii tradingowej:

1. Otwórz Flex Query:
W IBKR: Performance & Reports → Flex Queries

2. Dostosuj zakres dat:
Edytuj zapytanie i ustaw zakres dat na jeden rok kalendarzowy (np. 01/01/2023 - 31/12/2023)

3. Uruchom zapytanie:
Kliknij "Run" i pobierz plik XML

4. Powtórz dla każdego roku:
Powtórz kroki 2-3 dla wszystkich lat, w których handlowałeś w IBKR (np. 2021, 2022, 2023, 2024).
7

Krok 7: Import XML historii

Zaimportuj wszystkie pobrane pliki XML do Singularity Trader:

1. Otwórz sekcję importu:
Przejdź do Konta → Twoje konto IBKR → Konfiguracja → "Upload XML"

2. Najstarszy rok najpierw:
Zacznij od najstarszego pliku XML (np. 2021) i pracuj chronologicznie do przodu

3. Zaimportuj wszystkie lata:
Importuj wszystkie pliki XML sekwencyjnie aż do bieżącego roku

⚠️ Ważne: Ten krok jest niezbędny! Bez kompletnej historii nie można prawidłowo obliczyć strategii opcyjnych, kampanii tradingowych i zysków forex.
8

Krok 8: Konfiguracja w Singularity Trader

1. Otwórz konfigurację konta:
Przejdź do Konta → Twoje konto IBKR → Konfiguracja

2. Wprowadź dane Flex Query:
Flex Query ID: 7-cyfrowy identyfikator zapytania z IBKR (widoczny w przeglądzie zapytania, np. 1570627)
Flex Token: token wygenerowany w kroku 5

3. Zapisz i przetestuj:
Kliknij „Zapisz”, a następnie „Synchronizuj teraz”, aby przetestować.

Automatyczna synchronizacja

Po pomyślnej konfiguracji twoje transakcje są automatycznie synchronizowane codziennie. Nie musisz nic więcej robić!

Co się dzieje podczas synchronizacji:
• Nowe transakcje są importowane
• Pozycje są aktualizowane
• Dywidendy są rejestrowane
• Strategie opcyjne są rozpoznawane
• Zyski forex są obliczane (FIFO)

Zawsze możesz ręcznie zsynchronizować, jeśli chcesz najnowsze dane natychmiast.

12. Automatyczne ponawianie przy tymczasowych błędach

Pobrania Flex IBKR mogą czasami zakończyć się niepowodzeniem z różnych przyczyn (np. chwilowy błąd serwera IBKR, timeout sieci, zapytanie w trakcie przetwarzania). Singularity Trader posiada automatyczną kolejkę powtórzeń:

• Jeśli synchronizacja się nie powiedzie, zostanie automatycznie ponowiona do 3 razy (z wykładniczymi odstępami).
• Dopiero gdy wszystkie próby zawiodą, w dzienniku systemowym pojawi się wpis CRITICAL i powiadomienie.
• Tymczasowe problemy zazwyczaj rozwiązują się same, bez konieczności interwencji.

Aktualny status synchronizacji możesz sprawdzić w sekcji Konta — zielony = ostatnia synchronizacja udana, żółty = trwa ponowienie, czerwony = nieudane po 3 próbach.

13. Alternatywa: Ręczny import XML

Jeśli nie chcesz automatycznej synchronizacji, możesz ręcznie wyeksportować Flex Query:

1. W IBKR: Flex Queries → "Run" obok swojego zapytania
2. Pobierz: Zapisz plik XML
3. Prześlij: W Singularity Trader → Konta → Konfiguracja → "Prześlij XML"

Ta metoda jest też niezbędna dla starszych danych (> 365 dni), ponieważ Flex Sync sięga tylko 1 rok wstecz.

14. Importowane dane z IBKR

W pełni obsługiwane:
• Transakcje akcjami (kupno/sprzedaż)
• Transakcje opcjami z Grekami
• Kontrakty futures i Forex
• Dywidendy (brutto, netto, podatek u źródła)
• Odsetki (kredytowe/debetowe)
• Wykonania i cesje opcji
• Splity akcji i fuzje
• Statement of Funds dla walutowego FIFO

Automatycznie rozpoznawane:
• Strategie opcyjne (Spreads, Iron Condors itp.)
• Covered Calls / Cash-Secured Puts
• Kampanie tradingowe
• Zyski walutowe zgodnie z § 23 EStG

15. 📥 Dane z TradingLogbook? Przenieś swoje tagi.

📥 Przychodzisz z TradingLogbook?

Twoje strategie możesz przenieść jako tagi na już zaimportowane transakcje — wystarczy Symbol + data otwarcia. Gotowe w 3 minuty.

Do migracji w 3 krokach

⚠️ Rozwiązywanie problemów

„Token wygasł":
Wygeneruj nowy token w IBKR i wprowadź go w konfiguracji.

„Nie znaleziono zapytania":
Sprawdź, czy Query ID jest poprawne i czy zapytanie jest aktywne.

„Brak danych":
Upewnij się, że wszystkie wymagane sekcje są aktywne w zapytaniu.

„Błąd importu":
Sprawdź dziennik importu w celu uzyskania szczegółów. Częsta przyczyna: brakujące pola w zapytaniu.

⚠️ Ładowanie brakujących historycznych transakcji (⚠️-odznaka przy pozycjach)

Problem:
Na pulpicie nawigacyjnym lub na listach pozycji przy pozycji widoczny jest symbol ⚠️ obok nazwy konta. Podpowiedź pokazuje „Brakujące dane transakcji — Dla tej pozycji nie zaimportowano żadnych transakcji. W rezultacie strategia nie może być automatycznie rozpoznana."

Przyczyna:
Sama pozycja jest znana ze snapshotu portfela IBKR, ale transakcje otwarcia leżą przed najwcześniejszym dotychczas zaimportowanym dniem handlowym. Jest to typowe dla LEAPS (długoterminowe opcje), które zostały otwarte miesiące lub lata przed pierwszą synchronizacją Flex.

✅ Rozwiązanie:
W istniejącym Flex Query jednorazowo uruchom eksport ad-hoc z historycznym zakresem dat, pobierz jako XML i prześlij przez import XML. Nie trzeba tworzyć nowego Flex Query!
Krok po kroku:
1. Uruchom historyczny eksport w IBKR
• Znajdź istniejący Flex Query → kliknij Run
• Ustaw Period na Custom Date Range
• Od: tak daleko wstecz jak potrzeba (np. 01.01.2024)
• Do: dzień przed najwcześniejszą zaimportowaną transakcją
• Format: XML → potwierdź Run

2. Pobierz plik XML i zapisz lokalnie

3. Prześlij do Singularity Trader
• Konta → Konto IBKR → „Konfiguruj IBKR" → Import XML

4. Co dzieje się podczas importu
• Importowane są tylko nowe transakcje (bez duplikatów)
• Strategie, kampanie i cykle transakcji są przeliczane od nowa

5. Sprawdź wynik
• Odśwież pulpit — odznaka ⚠️ powinna zniknąć

Jeśli ⚠️ nadal widoczna: Transakcje otwarcia leżą jeszcze dalej w przeszłości → uruchom kolejny eksport z wcześniejszą datą startową.

18. ✅ Kontrola końcowa: jak wygląda gotowe zapytanie

Po zapisaniu IBKR pokazuje stronę podsumowania („Review your Activity Flex Query”). Porównaj ją z tą tabelą wzorcową — tak musi wyglądać Twoje zapytanie, gdy wszystko jest ustawione poprawnie.
SekcjaOpcje typu (wiersz „Options:”)
Interest Accruals
Cash TransactionsWszystkie podtypy (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 (bez „Lots”)
Open Dividend Accruals
Option Exercises, Assignments and Expirations(sekcja najczęściej zapominana!)
Prior Period Positions
Tradestylko Executionbez „Closed Lots”, bez „Wash Sales”, bez „Orders”/„Asset Class”/„Symbol Summary”
Transaction Feestylko Execution (bez dodatkowego „Summary”)
TransfersTransfer (bez „Lots”)
Change in Dividend AccrualsDetail (bez dodatkowego „Summary”)

Delivery Configuration i General Configuration:

UstawienieWartość
AccountsTwój numer konta (np. 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)
💡 Zanotuj Query ID
Na tej samej stronie podsumowania na górze widoczny jest Query ID (7-cyfrowa liczba, np. 1570627). Będzie potrzebny razem z tokenem w kroku 8.