BTC214,0k zł6,97%
ETH5,26k zł2,59%
XRP3,15 zł1,38%
LTC150 zł10,50%
BCH654 zł0,63%
DOT2,32 zł8,92%

Automatyzacja i screening w analizie technicznej — narzędzia, workflow i pułapki

Forex to 28 najczęściej śledzonych par, dziesiątki interwałów i setki kombinacji wskaźników — a Ty masz jedną parę oczu. Próba ręcznego skanowania każdego wykresu po kolei to gwarancja, że o 17:00 będziesz miał mgłę umysłową i wejdziesz z frustracji w setup widmo na NZD/CAD. Screening automatyzuje tę pierwszą, mechaniczną fazę: filtruje rynek i podsuwa instrumenty, na które warto spojrzeć. Problem w tym, że łatwo przesunąć się od „pomocnego filtra" do ślepego zaufania wobec narzędzia, które nie rozumie kontekstu, nie widzi spreadu w rollowerze i nie wie, że za godzinę jest NFP.

Automatyzacja i screening w analizie technicznej — screener, alerty i workflow na rynku Forex
Najważniejsze w 60 sekund
  • Screener nie zarabia. Co najwyżej oszczędza ci czas na odrzucaniu śmieci. Jeśli nie umiesz odsiać fałszywego układu po screeningu, tylko szybciej znajdziesz stratę. Decyzja o wejściu i zarządzanie ryzykiem pozostają po twojej stronie.
  • Wpatrywanie się w wykres bez planu zwykle zwiększa liczbę impulsywnych wejść, nie jakość decyzji. Każda godzina gapienia się w pięciominutowe świece to jeden dodatkowy trade, który otworzysz z nudów. Alert ma cię odciągnąć od ekranu, żebyś nie handlował nudy zamiast setupu.
  • Backtest nie mówi, ile zarobisz. Mówi tylko, czy twoja logika nie jest kompletnym śmieciem na danych historycznych. To dużo, ale to nie to samo co przewaga na żywo — żywy rynek dokłada slippage, zmienny spread, requote'y i twoją psychologię, z których żadnego Strategy Tester nie modeluje dobrze.
  • Między ręcznym handlem a pełnym EA jest pięć poziomów automatyzacji. Większość detalistów powinna zatrzymać się na poziomach 2–4 (alert wskaźnikowy → screener → pół-auto). Pełna automatyzacja (EA, poziom 5) to osobna dyscyplina, bliższa inżynierii niż tradingowi dyskrecjonalnemu.

1. Po co automatyzować — i co właściwie automatyzujesz

Swing trader pracujący na Forex ma do dyspozycji 28 najczęściej śledzonych kombinacji między 8 głównymi walutami (USD, EUR, GBP, JPY, CHF, AUD, NZD, CAD) — czyli tzw. majors i crosses — plus kilkanaście par egzotycznych, a u wielu brokerów także indeksy, surowce i kryptowaluty. Ręczne otwieranie każdego wykresu na W1, D1 i H4, sprawdzanie średnich kroczących, oscylatorów i stref S/R to w sumie kilkadziesiąt minut pracy. Codziennie. Screening automatyzuje tę pierwszą, mechaniczną fazę[8].

Nie automatyzujesz decyzji o wejściu — automatyzujesz przeszukiwanie. Screener nie mówi „kupuj". Mówi „popatrz na to" — tyle samo entuzjazmu co kolega z działu analiz, który przesyła ci wykres z dopiskiem „FYI". Co z tym zrobisz — zależy od kontekstu, wyższego interwału, zarządzania ryzykiem i twojego doświadczenia.

Screening rozwiązuje dwa banalne problemy, o których nikt nie mówi głośno. Po 20. wykresie z rzędu przestajesz widzieć — spada koncentracja i łatwiej przeoczyć subtelne układy. Po trzech miesiącach handlu masz ulubione 4 pary i resztę rynku ignorujesz, nawet jeśli krzyżówki jenowe robią w tym czasie najczystsze trendy roku. Screener nie traci koncentracji po 15. wykresie i sprawdza wszystkie pary bez uprzedzeń.

Czego screening nie rozwiązuje: nie powie ci, czy setup jest dobry. Sygnał „RSI < 30" to nie to samo co „kup teraz". Bez analizy kontekstu, price action i zarządzania pozycją screener generuje szum, nie sygnały.

Automatyczny screening 28 par walutowych Forex — od ręcznego przeglądu wykresów do screenera filtrującego instrumenty po kryteriach technicznych
Automatyczny screening 28 par walutowych Forex — od ręcznego przeglądu wykresów do screenera filtrującego instrumenty po kryteriach technicznych

2. Spektrum automatyzacji: od alertu do algorytmu

Między „ręcznie" a „robotem" jest pięć stopni. Większość traderów, którzy po roku nadal zarabiają, siedzi gdzieś między stopniem 2 a 4 — nie wyżej. Najczęstszy błąd detalistów to próba wejścia od razu w pełną auto-egzekucję bez opanowania screeningu, alertów i ręcznej walidacji setupu.

PoziomCo robi maszynaCo robi traderPrzykłady
1. Alert cenowyPowiadamia, gdy cena osiągnie poziomAnalizuje, decyduje, wykonujeAlert na EUR/USD = 1,0700
2. Alert wskaźnikowyPowiadamia, gdy wskaźnik spełni warunekAnalizuje kontekst, decydujeRSI(14) < 30 na D1
3. ScreenerFiltruje listę instrumentów wg kryteriówPrzegląda wyniki, analizuje, decydujeTradingView Screener
4. Pół-auto systemGeneruje sygnał + sugerowane parametryZatwierdza lub odrzuca, zarządza pozycjąWłasny wskaźnik (custom indicator) + alert w Pine Script
5. Pełna automatyzacjaAnalizuje, otwiera, zarządza, zamykaMonitoruje, interweniuje w awaryjnych sytuacjachExpert Advisor (EA) w MT4/MT5

Poziomy 1–3 to narzędzia, z których korzysta większość traderów niezależnie od doświadczenia[9]. Poziom 4 wymaga umiejętności programowania lub konfiguracji gotowych narzędzi. Poziom 5 to osobna dyscyplina, bliższa inżynierii niż tradingowi dyskrecjonalnemu[4].

Spektrum automatyzacji tradingu — pięć poziomów od alertu cenowego do EA Pięć pionowych kolumn przedstawiających kolejne poziomy automatyzacji: alert cenowy, alert wskaźnikowy, screener, pół-automat i pełny EA. Każda kolumna zawiera opis co robi maszyna, co trader i typowy przykład narzędzia. Spektrum automatyzacji — pięć poziomów, gdzie siedzi detaliczny trader większość zyskownych traderów retail operuje na poziomach 2–4; poziom 5 to osobna dyscyplina 1 Alert cenowy Maszyna: powiadamia przy osiągnięciu poziomu Trader: analizuje, decyduje, wykonuje zlecenie Przykład: EUR/USD = 1,0700 próg wejścia: zero 2 Alert wskaźnikowy Maszyna: monitoruje warunek wskaźnika Trader: analizuje kontekst, decyduje, wykonuje Przykład: RSI(14) < 30 na D1 próg wejścia: niski 3 Screener Maszyna: filtruje listę par wg wielu kryteriów Trader: przegląda wyniki, analizuje, decyduje Przykład: TradingView Screener próg wejścia: średni 4 Pół-automat Maszyna: generuje sygnał i sugeruje parametry Trader: zatwierdza, zarządza pozycją ręcznie Przykład: własny Pine Script próg wejścia: wysoki 5 Expert Advisor Maszyna: analizuje, otwiera, zarządza, zamyka Trader: monitoruje, interweniuje awaryjnie Przykład: EA w MT5 / cBot próg: inżynieria STREFA PRAKTYCZNA — poziomy 2–4 większość zyskownych detalistów operuje tutaj · skok od razu na poziom 5 to najczęstszy sposób na spalenie konta w pierwszych miesiącach
Pięć poziomów automatyzacji tradingu. Poziomy 1–3 są dostępne dla każdego bez programowania, poziom 4 wymaga Pine Script lub MQL, poziom 5 (Expert Advisor) to osobna dyscyplina — i miejsce, w którym giną konta początkujących, którzy chcą od razu „pasywny dochód". Strefa praktyczna, w której operuje większość zyskownych traderów retail, to poziomy 2–4: alert wskaźnikowy, screener i pół-auto.

Artykuł koncentruje się na poziomach 1–4. Pełna automatyzacja (EA) pojawia się tu głównie w kontekście pułapek — bo to tam wpadają ludzie, którzy zbyt wcześnie sięgają po robota.

3. Kryteria screeningowe w praktyce

Zły screener nie pokazuje złych par — pokazuje za dużo pozornie dobrych. To gorsze, bo marnuje uwagę i buduje fałszywe poczucie, że „rynek coś ci dziś daje". Parametry screenera muszą być wystarczająco selektywne, by ograniczać szum, ale nie tak ciasne, by eliminować większość sensownych setupów. Poniżej najczęściej stosowane filtry na Forex[3].

Jak mierzyć skuteczność screenera. Dobry screener nie jest tym, który wyrzuca więcej wyników — tylko tym, który poprawia jakość watchlisty: mniej false positives, wyższy win rate lub profit factor na próbce pochodzącej z setupów przepuszczonych przez filtr. Najprostszy sprawdzian: weź 100 alertów ze screenera z ostatnich tygodni, podziel na te, które przerodziły się w realny trade (handlowany lub pominięty po ręcznej walidacji), i policz, ile z nich miało domkniętą tezę (TP) vs ile pękło jako false breakout albo fałszywy sygnał. Jeśli screener nie podnosi tego współczynnika mierzalnie w stosunku do „brak filtra", pełni wyłącznie funkcję kosmetycznego zawężenia rynku — nie narzędzia z przewagą statystyczną. Sensowny cel: po screeningu jakość watchlisty wyraźnie lepsza niż bez niego, a nie tylko „mniej wykresów do obejrzenia".

Filtry trendowe

  • Cena względem EMA/SMA. Najprostszy filtr: cena powyżej EMA 200 na D1 = trend wzrostowy, poniżej = spadkowy. Można dodać warunek nachylenia (EMA rośnie, nie jest płaska). Filtr gruby, ale skutecznie eliminuje kontrtrend — a kontrtrend na siłę to jedna z rzeczy, które potrafią wykrwawić konto szybciej niż brak setupu.
  • Crossing średnich. EMA 50 przecina EMA 200 od dołu (golden cross) — popularne kryterium screeningowe. Samo w sobie to nie jest sygnał wejścia, ale wskazuje na instrumenty, na których coś zaczyna się zmieniać w strukturze trendu.
  • ADX powyżej progu. ADX(14) > 25 = rynek w trendzie, < 20 = konsolidacja. Przydatny głównie jako filtr negatywny: jeśli ADX jest poniżej 20, sygnały trendowe na tym instrumencie mają niską wartość — i lepiej szukać okazji gdzie indziej.

Filtry momentum i oscylatory

  • RSI w strefach ekstremalnych — z dużym zastrzeżeniem dla D1. RSI(14) poniżej 30 (wyprzedanie) lub powyżej 70 (wykupienie). Na Forex na D1 zdarza się rzadko — i kiedy się zdarza, zwykle nie oznacza „okazji kontrariańskiej". Częściej oznacza, że coś się właśnie rozpadło fundamentalnie: zmiana stóp procentowych, ryzyko geopolityczne, interwencja banku centralnego. RSI < 30 na D1 to filtr do otwarcia wykresu i sprawdzenia, dlaczego rynek wali — nie sygnał kontrtrendu. Na H4/H1 ekstrema RSI są częstsze i mniej dramatyczne, ale tym samym mniej informacyjne.
  • Dywergencja cena–oscylator. Cena robi nowe szczyty, RSI nie potwierdza. Trudniejsze do zautomatyzowania niż proste progi, ale niektóre skrypty Pine Script na TradingView radzą sobie z wykrywaniem prostych dywergencji. Złożone, wielofalowe dywergencje — to dalej domena ludzkiego oka.
  • MACD-Histogram — zmiana znaku. Histogram przecina zero z dołu — momentum zmienia kierunek. Prosty do zakodowania, często używany jako wstępny filtr do dalszej analizy.

Filtry cenowe i strukturalne

  • Bliskość do S/R. Cena w odległości X pipsów od kluczowego wsparcia lub oporu. Wymaga wcześniejszego zdefiniowania poziomów — co w pełni automatycznym screeningu jest trudne, ale w pół-automatycznym workflow (poziomy narysowane ręcznie + alert) — proste i bardzo skuteczne.
  • Przełamanie zakresu N-dniowego. Cena przebija najwyższe maksimum z ostatnich 20 świec (Donchian Channel breakout). Klasyczne kryterium trend-followingowe — Richard Donchian stosował je w latach 50. i mimo prostoty pozostaje popularne zarówno w testach[3], jak i w praktyce.
  • Fibonacci — cena przy zniesieniu. Cena zbliża się do zniesienia 61,8% ostatniego swingu. Zakodowanie Fibonacciego to koszmar algorytmiczny — wymaga identyfikacji swingów, która na czystych, jednoznacznych trendach działa, a w konsolidacji rysuje poziomy na szumie. Skrypty TradingView pozwalają to zautomatyzować, ale traktuj wynik jako podpowiedź do ręcznej weryfikacji, nie gotowy setup.

Filtry kontekstu makro i kosztów — czego żaden screener nie pokaże sam

Techniczny filtr na H1/H4 traci sens ekonomiczny, jeśli w ciągu 30–60 minut wypada tier-1 event (NFP, CPI, decyzja Fed/ECB) albo rollover. Poniższe filtry warto dołożyć osobno — najczęściej ręcznie lub w zewnętrznym arkuszu, bo wbudowane screenery ich nie obsługują natywnie:

  • Excluder kalendarzowy. Jeśli w ciągu 24 h (swing) lub 2 h (intraday) wypada tier-1 event — odrzucasz setup automatycznie, niezależnie od tego, co pokazuje screener. Na Forex Factory ustawiasz filtr „High impact" i traktujesz jako twardą regułę.
  • Filtr spreadu. Jeśli w ostatniej godzinie spread był szerszy niż 2× typowy dla danej pary i sesji — setup czeka. To nie jest moment na wejście; coś dzieje się po stronie płynności, czego wykres nie pokazuje.
  • Filtr zmienności (ATR). ATR(14) powyżej N-dniowej średniej + 20% = „rynek jest dziś gwałtowniejszy niż zwykle" → stop i target muszą być szersze, sizing mniejszy. Poniżej średniej + 20% = „cienki dzień" → ryzyko, że screener łapie szum, nie ruch strukturalny.

Screener nie pociąga za spust. Alert w TradingView to dzwonek do drzwi — to ty musisz sprawdzić, kto za nimi stoi, zanim otworzysz pozycję. Analiza formacji cenowych, kontekst wielointerwałowy i zarządzanie ryzykiem — to dalej twoja robota.

Level 2 / Order Flow w detalicznym FX — iluzja. Jeśli planujesz automatyzację opartą o order book (DOM, Level 2, order flow analysis), pamiętaj, że na rynku OTC spot FX widzisz wyłącznie księgę zleceń konkretnego brokera, nie konsolidowanej księgi rynku. W krytycznych momentach (publikacje makro, otwarcia sesji, interwencje) płynność w tej księdze wysycha — to tzw. ghost liquidity: widzisz wyświetloną głębokość, ale w momencie egzekucji znika. Bot uderza zleceniem market w pozorną ścianę, przebija ją i dostaje fill na piętrze cenowym kilka–kilkanaście pipsów dalej. Dla strategii breakoutowych na niskich TF to jeden z głównych powodów, dla których backtesty (zakładające wypełnienie na cenie wybicia) rozjeżdżają się z live. Order flow ma sens głównie na rynkach z centralną księgą (futures CME) — na spot FX detaliczny trader operuje na proxy, nie na realnym obrazie rynku.
Reżimy rynkowe — screener nie jest uniwersalny

Screener skalibrowany pod trend (np. „cena > EMA 200 + ADX > 25") będzie generował dużo sygnałów w okresach trendowych, a w konsolidacji — prawie nic. Odwrotnie: screener range-tradingowy (np. „cena przy ekstremum Bollingera + RSI w ekstremum") świetnie pracuje w bocznym rynku, a w trendzie daje serię fałszywych sygnałów kontrariańskich. Narzędzie nie jest uniwersalne — jest reżimowo zależne. Praktyka: albo prowadź dwa zestawy filtrów (trend + range) i przełączaj je ręcznie w zależności od reżimu D1/W1, albo świadomie ogranicz screening do jednego reżimu i akceptuj, że „pusty tydzień" to normalna faza.

War story — „polowanie na pule płynności" po wybiciu. Ustawiasz prosty alert screenera na wybicie lokalnego szczytu na H4. Alert się aktywuje, wchodzisz długo — i cena często zawraca tuż po wejściu. To nie zawsze pech — w wielu przypadkach mechanika rynku OTC. Zlecenia stop loss traderów shortowych oraz pending orders breakoutowców typowo kumulują się nad oczywistym szczytem, tworząc pulę płynności, z której większy uczestnik może korzystać do realizacji swoich zleceń bez nadmiernego przesuwania ceny. Screener, który filtruje po samym „czystym wybiciu" bez filtra kontekstu (ADX, makro, sesja) regularnie wpuszcza traderów w takie sytuacje. Praktyczna konsekwencja: filtruj wybicia przez ADX > 25 w kierunku wybicia i wchodź po potwierdzeniu następnej świecy, nie przy pierwszym dotknięciu poziomu.
Spektrum automatyzacji tradingu — od prostego alertu cenowego przez screener i wskaźnik po Expert Advisor i pełny algorytm handlowy
Spektrum automatyzacji tradingu — od prostego alertu cenowego przez screener i wskaźnik po Expert Advisor i pełny algorytm handlowy

4. TradingView — screener, alerty, Pine Script

Wbudowany screener

TradingView oferuje Screener dostępny z dolnego panelu platformy. Dla Forex pozwala filtrować po dziesiątkach kryteriów: cena, zmiana procentowa, oscylatory, średnie kroczące, wolumen. Jedno ostrzeżenie dotyczące wolumenu: jeśli screener filtruje po „wolumenie" na Forex, operuje na danych zastępczych z jednego źródła (zwykle tick volume z konkretnego feedu brokera, nie wolumen całego rynku spot FX). Traktuj ten filtr jako pomocniczy, nie decyzyjny — setup „z podwyższonym wolumenem" na TradingView i faktyczną aktywnością w księdze zleceń market makerów to często dwie różne historie. Wyniki aktualizują się w czasie zbliżonym do rzeczywistego.

Praktyczny zestaw filtrów na start: interwał D1, RSI(14) poniżej 35 lub powyżej 65, cena powyżej/poniżej EMA 200, zmiana procentowa z ostatnich 5 sesji > 1%. Tak skonfigurowany screener zwykle wyrzuca kilka par dziennie — konkretna liczba zależy od warunków rynkowych: w trendującym rynku filtr przepuści więcej wyników, w konsolidacji mniej.

Alerty w TradingView

TradingView pozwala ustawiać alerty na: cenę (prosta), wskaźnik (RSI przekracza próg), narysowaną linię trendu (cena dotyka) oraz własny warunek zdefiniowany w Pine Script. Alerty przychodzą jako push na telefon, e-mailem lub przez webhook — co otwiera drogę do integracji z botami, Discordem czy Telegramem. Alerty potrafią uratować psychikę (nie siedzisz przed ekranem przez 8 godzin czekając na ruch), ale pamiętaj: sygnał zawsze przychodzi po fakcie. W momencie, gdy dostajesz pusha na telefon, świeca już się wydarzyła, a algorytmy instytucjonalne (ale też hobbystyczne boty z webhooków na całym świecie) zdążyły zareagować. Używaj alertów jako dzwonka do analizy, nie jako wyzwalacza egzekucji.

Limity alertów zależą od planu — stan na marzec 2026 (sprawdź aktualny cennik na tradingview.com/pricing): Essential pozwala na 20 alertów cenowych + 20 technicznych, Plus po 100, Premium 400, Ultimate 1000. Darmowe konto ma kilka jednocześnie — dla tradera monitorującego 10–15 par to realne ograniczenie i częsty powód przejścia na płatny plan.

Pine Script — własne wskaźniki i strategie

Pine Script to język skryptowy TradingView. Nie wymaga doświadczenia programistycznego na poziomie Pythona — składnia jest prostsza, dokumentacja dobra, a społeczność opublikowała tysiące gotowych skryptów, które można adaptować. Co możesz z nim zrobić:

  • Własny wskaźnik (custom indicator) — np. wskaźnik, który rysuje strzałkę, gdy RSI < 30 AND cena jest w strefie 50–61,8% zniesienia Fibonacci AND EMA 50 > EMA 200. Trzy warunki, które ręcznie sprawdzałbyś kilka minut na wykresie — skrypt robi to natychmiast.
  • Alert na bazie własnego wskaźnika — skrypt generuje alert automatycznie, gdy warunki się zbiegną. Dostajesz powiadomienie na telefon i otwierasz wykres gotowy do analizy.
  • Backtest strategii — Pine Script ma wbudowany moduł strategy(), który pozwala przetestować logikę na danych historycznych. Wyniki widoczne w zakładce „Strategy Tester": krzywa kapitału (equity curve), drawdown, procent trafień (win rate), współczynnik zysku (profit factor).

Ważne rozróżnienie dotyczące Pine Script i egzekucji zleceń: Pine Script jest genialny do malowania po wykresie i alertów, ale wysyłanie przez niego sygnałów po webhookach do środowiska brokera detalicznego to proszenie się o poślizg. Pine Script służy przede wszystkim do analizy, sygnałów i backtestów w ekosystemie TradingView — nie jest silnikiem wykonawczym po stronie brokera. Wykonanie zleceń wymaga osobnej warstwy: albo natywnej integracji brokerskiej (TradingView ma takie integracje z częścią brokerów), albo zewnętrznego workflow opartego na webhookach, które wysyłają sygnał do API brokera lub pośrednika typu 3Commas. Każdy element łańcucha (TradingView → webhook → pośrednik → API brokera) może wprowadzić opóźnienie, duplikat sygnału albo brak egzekucji. Do screeningu i alertów — Pine Script wystarcza bez integracji. Do automatycznej egzekucji — lepsza ścieżka to MT4/MT5 z EA albo Python z bezpośrednim API brokera.

Przykładowy minimalny alert w Pine Script — RSI w wyprzedaniu pod EMA 200 na D1, 10 linii kodu:

//@version=5
indicator("Alert: RSI<30 + cena<EMA200", overlay=true)
rsi_val = ta.rsi(close, 14)
ema200  = ta.ema(close, 200)

oversold       = rsi_val < 30
below_ema200   = close < ema200
setup_signal   = oversold and below_ema200

plot(ema200, color=color.blue, linewidth=2)
alertcondition(setup_signal, title="RSI_oversold_below_EMA200",
               message="{{ticker}} — RSI < 30 pod EMA 200 D1")

Wklejasz w Pine Editor, dodajesz do wykresu, klikasz „Create Alert" → wybierasz warunek. Tyle. Webhook (opcjonalnie) wysyła ten sam komunikat JSON-em do dowolnego serwera.

War story — webhook dotarł, broker nie wykonał jak myślisz. Ustawiasz alert w TradingView, webhook leci do pośrednika, pośrednik pcha zlecenie do API brokera. Na wykresie wszystko wygląda natychmiastowo. W realu alert przyszedł z opóźnieniem 3 sekund, rynek ruszył po publikacji CPI, a wejście poszło 12 pipsów wyżej, niż zakładał model. To nie błąd strategii — to błąd wiary, że „automatyczne" znaczy „natychmiastowe". Im krótszy interwał, tym bardziej łańcuch technologiczny staje się częścią ryzyka transakcji. Na D1 3 sekundy opóźnienia nie mają znaczenia; na M5 wokół newsów potrafią zjeść całe R:R.
TradingView — screener Forex z filtrami RSI i EMA oraz panel alertów na wykresie cenowym
TradingView — screener Forex z filtrami RSI i EMA oraz panel alertów na wykresie cenowym

5. MT4/MT5 — skanery, wskaźniki, EA

MetaTrader pozostaje dominującą platformą egzekucji u wielu brokerów Forex. Jego siła w kontekście automatyzacji to język MQL4/MQL5 i możliwość tworzenia Expert Advisors (EA) — programów, które mogą automatycznie otwierać i zamykać pozycje.

Custom indicators i skanery

W MQL4/MQL5 możesz napisać (lub pobrać z MQL5 Market) wskaźnik, który skanuje wiele instrumentów z Market Watch i wyświetla dashboard: nazwa pary, kierunek trendu, wartość RSI, odległość od kluczowych MA. Popularne narzędzia tego typu to np. „Multi-Currency Dashboard" czy „Scanner RSI" — ich jakość jest bardzo różna, więc warto sprawdzić recenzje i przetestować na demo zanim zaczniesz na nich polegać.

Istotna różnica w stosunku do TradingView: wskaźniki MT4/MT5 działają lokalnie (na twoim komputerze lub VPS), nie w chmurze. Skanowanie odbywa się z prędkością twojego połączenia z serwerem brokera — i wymaga, żeby platforma była otwarta. Jeśli zamkniesz laptopa i pójdziesz na spacer, alerty MT4 nie zadziałają (chyba że platforma pracuje na VPS-ie). TradingView skanuje po stronie serwera, więc alerty działają nawet gdy masz wyłączony komputer. Dla swing tradera, który nie chce być przywiązany do biurka, to konkretna różnica w codziennym użytkowaniu.

Expert Advisors — pełna automatyzacja

EA to programy, które mogą samodzielnie handlować. Zakres możliwości jest ogromny — od prostego „kup, gdy EMA 50 przetnie EMA 200 od dołu" po skomplikowane systemy z dynamicznym zarządzaniem pozycją, trailing stopami i analizą wielu interwałów.

Rynek gotowych EA (MQL5 Market, fora tradingowe) jest zaśmiecony produktami niskiej jakości — z pięknym backtestem i katastrofalnymi wynikami na żywo. Więcej o tym w sekcji o pułapkach — ale krótko: jeśli widzisz equity curve rosnącą pod 45° bez żadnego drawdownu, traktuj to jako sygnał ostrzegawczy, nie zachętę do zakupu.

Latencja i geografia serwera brokera. EA na VPS-ie w Frankfurcie handlujący przez brokera z serwerem w Nowej Zelandii dodaje 250+ ms latencji do każdego zlecenia. Na D1 to nieistotne; na M5 w szczytach zmienności to 1–3 pipsów różnicy w cenie fill. Zanim wynajmiesz VPS, sprawdź lokalizację serwera brokera (wystarczy test ping z narzędzi typu ipinfo.io) i wybierz hosting w TYM SAMYM datacenter lub przynajmniej mieście. ForexVPS/BeeksFX zwykle publikują mapy zgodności z konkretnymi brokerami. Profesjonalne środowiska idą dalej: VPS-y w klastrach Equinix LD4 (Londyn) lub NY4 (Nowy Jork) pozwalają na cross-connect światłowodem bezpośrednio do serwera liquidity providera lub do matchmakera brokera w tej samej serwerowni — redukuje to latencję do pojedynczych milisekund. Dla detalicznego swingu na D1 to zupełna przesada; dla strategii intraday opartych na newsach czy breakoutach na M1 — infrastrukturalna granica między „działa" a „nie działa". Latencja to nie luksus — to część rzeczywistej mechaniki egzekucji, której Strategy Tester nie modeluje.
Model B-Book i egzekucja „nieoczekiwanie gorsza". Jeśli handlujesz u brokera w modelu B-Book (lub mieszanym), broker po drugiej stronie ma ekonomiczny interes w tym, byś tracił. W praktyce: dopóki twoje pozycje są drobne i nieregularne, nikt się nimi nie zajmuje. Ale jeśli twój EA zacznie regularnie wyciągać pieniądze na krótkich ruchach, część brokerów reaguje — wolniejszą egzekucją, requote'ami w momentach zmienności, „plug-inami" dodającymi milisekundy opóźnienia. Na koncie A-Book (STP/ECN) tego problemu zwykle nie ma, ale koszty jawne (spread, prowizja) bywają wyższe. Model execution venue to tylko część obrazu: jakość egzekucji zależy też od płynności konkretnych dostawców, polityki fill policy, pluginów brokera i charakteru twojej strategii — binarne „B-Book zły, A-Book dobry" jest zbyt uproszczone. Dla systematycznej automatyzacji A-Book z przejrzystą polityką wygrywa zwykle na dłuższej próbce; dla dyskrecjonalnego swingu z niską częstotliwością transakcji różnica w praktyce bywa pomijalna.

MT5 vs MT4

MT5 oferuje lepsze możliwości backtestingu — przede wszystkim Strategy Tester obsługujący wiele symboli jednocześnie (multi-currency), co jest realną przewagą przy testowaniu strategii portfelowych. MT4 testuje strategię na jednym symbolu i jednym okresie naraz. MT5 ma też bogatszy język MQL5 (klasy, wskaźniki na bazie wielu symboli). Mimo to MT4 wciąż ma ogromną bazę użytkowników i gotowych narzędzi. Wybór zależy głównie od brokera — nie od preferencji tradera, bo wielu brokerów oferuje tylko jedną z tych platform.

TradingView screener i Pine Script — interfejs skanera walutowego z filtrami technicznymi i przykładowy kod alertu w Pine Script
TradingView screener i Pine Script — interfejs skanera walutowego z filtrami technicznymi i przykładowy kod alertu w Pine Script

6. Workflow: od skanu do watchlisty

Screening ma sens tylko wtedy, gdy jest częścią powtarzalnego procesu. Poniższy workflow sprawdza się u wielu swing traderów na Forex — a w miarę zdobywania doświadczenia modyfikujesz jego parametry pod własny styl.

  1. Weekend: przegląd W1. Raz w tygodniu otwierasz 28 głównych par na interwale tygodniowym. Ręcznie — nie ma tu czego automatyzować, bo szukasz kontekstu strukturalnego, nie sygnałów. Zaznaczasz kierunek trendu i kluczowe strefy wsparcia i oporu (S/R). To zajmuje może 30–40 minut, ale daje obraz całego rynku, którego nie zastąpi żaden screener.
  2. Poniedziałek rano: screener D1. Odpalasz screener z kryteriami dopasowanymi do swojego stylu (np. RSI < 35, cena przy EMA 200, ADX > 25). Dostajesz kilka par. Każdą otwierasz na D1 i sprawdzasz ręcznie: czy pasuje do kontekstu z tygodniówki? Czy jest blisko poziomu z wyższego interwału?
  3. Tworzenie watchlisty — z kontrolą korelacji i filtrem makro. Pary, które przeszły oba filtry, lądują na watchliście (idealne 2–5 par). Przed dodaniem kolejnej pary sprawdź korelację z tym, co już masz: długie pozycje na EUR/USD i GBP/USD + krótka na USD/CHF to nie trzy setupy, to jedna ekspozycja short USD z potrójną koncentracją ryzyka. W praktyce wiele „różnych" setupów FX to po prostu różne ekspresje tego samego risk-on/risk-off albo long/short USD — MyFxBook Correlation albo rzut oka na DXY pokazują to w 30 sekund. Dla swingów D1/W1 warto dołożyć filtr makro drugiego rzędu — pozycjonowanie COT, kierunek DXY i spread rentowności US10Y vs zagraniczne odpowiedniki. To nie jest trigger wejścia, tylko warstwa kontekstu: setup techniczny w kierunku zgodnym z makro ma inną wagę niż ten sam setup pod prąd dominujących przepływów. Nigdy nie używaj COT jako samodzielnego powodu wejścia — raport jest opóźniony o kilka dni i nadaje się do filtrowania hipotez, nie do timingu. Osobny krok: zanim ustawisz alert, policz orientacyjny rozmiar pozycji (kalkulator poniżej w artykule) na podstawie odległości do potencjalnego SL — selekcja setupu bez prawidłowego sizingu to połowa roboty.
  4. Alerty i oczekiwanie. Na parach z watchlisty ustawiasz alerty: cenowe (cena dotrze do strefy), wskaźnikowe (RSI wejdzie w ekstremalną strefę), lub na narysowanych obiektach (dotknięcie linii trendu). Nie siedzisz i nie gapisz się w wykres — czekasz na powiadomienie.
  5. Alert → analiza → decyzja. Alert się aktywuje. Otwierasz wykres, robisz analizę wielointerwałową (D1 → H4), szukasz potwierdzenia price action. Jeśli setup jest — wchodzisz. Jeśli nie — zostawiasz i czekasz dalej. Brak setupu to nie problem — to informacja.

Trading to nie praca na taśmie — nie da się tego opisać w kategoriach „X minut dziennie". W jednym tygodniu spędzisz przed wykresem 15 minut, bo rynek zdechł; w innym zarwiesz noc, bo Bank Japonii wszedł z interwencją i wszystkie screenerowe setupy z D1 nadają się do kosza. Rutyna workflow pozwala zachować rygor, nie oszczędza czasu sama z siebie. Screening eliminuje problem „zmęczenia uwagi" po 20. wykresie: zamiast przeglądać wszystko od A do Z, patrzysz tylko na to, co przeszło filtr.

Workflow screeningu — od weekendu do decyzji w 5 krokach Pięć poziomych paneli ułożonych jeden pod drugim pokazujących pełny proces: weekendowy przegląd W1, poniedziałkowy screener D1, budowa watchlisty z kontrolą korelacji, ustawianie alertów, reakcja na alert z decyzją wejście/brak wejścia. Workflow od weekendu do wejścia — pięć kroków, w których screening ma sens 1 Weekend — ręczny przegląd W1 1× tygodniowo · 30–40 min · 28 par • kierunek tygodniowy (trend / konsolidacja) • kluczowe strefy S/R z W1 rysowane ręcznie · notatka „EUR/USD wzrost, wsparcie 1,0650–1,0700" 2 Poniedziałek rano — screener D1 codziennie rano · 10–15 min · automat filtruje rynek • filtry: EMA 200 (kierunek), RSI 14 (momentum), ADX > 25 (siła) • 28 par → screener zostawia zwykle 3–6 kandydatów do ręcznej walidacji 3 Watchlista — walidacja + kontrola korelacji 5–10 min · 2–5 par na watchliście • otwórz D1/W1 każdej pary, sprawdź zgodność z kontekstem tygodniowym • MyFxBook Correlation / DXY — czy nie dodajesz ekspozycji już otwartym tradem 4 Alerty — praca pasywna brak interakcji z wykresem · push na telefon • cenowy (strefa S/R z W1) + wskaźnikowy (RSI w ekstremum) • nie śledzisz rynku · robisz coś innego · limity alertów zależne od planu 5 Alert → analiza → decyzja: wejście albo BRAK WEJŚCIA analiza MTF (D1 → H4) · potwierdzenie price action · checklista: spread, kalendarz, sizing · brak setupu ≠ problem
Pięciokrokowy workflow screeningu dla swing tradera. Trzy pierwsze kroki przygotowują kontekst (W1) i zawężają pole obserwacji (D1 screener + ręczna walidacja + kontrola korelacji). Czwarty to czyste oczekiwanie — nie siedzisz przed ekranem, tylko czekasz na alert. Piąty to pojedyncza decyzja: wejście albo brak wejścia, obie wartościowe. Pominięcie któregokolwiek kroku (szczególnie weekendowego W1 albo kontroli korelacji) prowadzi do trade'ów, które „technicznie pasują", ale strukturalnie są po złej stronie rynku.
Schemat workflow screeningu: Weekend W1, Poniedziałek D1, Watchlista, Alerty, Analiza i decyzja o wejściu w pozycję
Schemat workflow screeningu: Weekend W1, Poniedziałek D1, Watchlista, Alerty, Analiza i decyzja o wejściu w pozycję
Watchlista vs. obsesja

Watchlista z 15 par to nie watchlista — to nadal cały rynek, tylko z ładniejszą nazwą i większą iluzją kontroli. Ogranicz się do 3–5 par jednocześnie. Pusty screener w środę to nie awaria narzędzia — to rynek mówiący „nie dziś". Najlepsi swing traderzy, których znam, w roku handlują przez 8 miesięcy, a pozostałe 4 patrzą, jak ich equity curve się nie zmienia — i tak jest dobrze.

7. Poniedziałek rano — jak wygląda screening 28 par

Żeby workflow z poprzedniej sekcji nie był abstrakcją, pokażę jak może wyglądać konkretny poniedziałek rano.

8:15. W screenerze TradingView filtry na D1 (dane z piątkowego zamknięcia sesji): RSI(14) < 35, cena poniżej EMA 200, ADX(14) > 20. Cel: pary w wyprzedaniu w ramach trendu spadkowego.

Screener wyrzuca 4 pary. Otwieram każdą na D1:

  • AUD/USD — RSI 28, cena pod EMA 200, ale na W1 tuż nad silną strefą wsparcia z 2023. Idzie na watchlistę, alert cenowy na dolną granicę strefy.
  • NZD/USD — podobna sytuacja, ale na W1 brak wyraźnej strefy blisko. Cena w „powietrzu". Odrzucam.
  • EUR/GBP — RSI 33, ale ADX już tylko 18. Screener bazował na piątkowym zamknięciu D1, kiedy ADX wynosił 21 — przez weekend nie zaktualizował się. Rynek w konsolidacji, nie w trendzie. Odrzucam.
  • GBP/CHF — RSI 31, cena pod EMA 200, ADX 27. Na W1 zniesienie 61,8% Fibonacci 40 pipsów od ceny. Idzie na watchlistę. Dwa alerty: cenowy na 61,8% i wskaźnikowy na RSI < 25.

Z 28 par screener odfiltrował 4, ręczna weryfikacja pozostawiła 2 na watchliście. 12 minut. Warto zauważyć: screener przepuścił EUR/GBP, bo ADX zmienił się po zamknięciu. Dlatego ręczna weryfikacja po screeningu nie jest opcjonalna — jest częścią procesu.

War story — screener znalazł 4 setupy, korelacja zabiła portfel. Inny poniedziałek. Screener wyrzuca AUD/USD, NZD/USD, EUR/USD i GBP/USD — wszystkie w wyprzedaniu na D1. Trader traktuje to jako „cztery niezależne okazje" i otwiera longi na każdej z nich, po 1R na pozycję. Logicznie: cztery pary, więc cztery setupy × 1R = 4R maksymalnej ekspozycji. W środę o 14:30 wychodzi CPI z USA powyżej oczekiwań, dolar dostaje impuls w górę, wszystkie cztery pozycje tracą jednocześnie. Drawdown nie wynosi 4R (jakby zakładała arytmetyka), tylko blisko 3,5R — bo korelacja EUR/USD ↔ GBP/USD jest ~0,8, a AUD/USD ↔ NZD/USD ~0,9. Problem nie był po stronie screenera. Problemem było to, że trader patrzył na tickery, a nie na wspólny mianownik ryzyka — ekspozycję na USD. Cztery alerty na tym samym koszyku to nie confluence, to jeden sygnał pokazany z czterech perspektyw; jedna pozycja albo kilka mniejszych pozycji rozłożonych na koszyki o różnej korelacji (np. USD + JPY + commodities) byłyby właściwą odpowiedzią.

8. Alerty — jak nie przegapić bez śledzenia

Wpatrywanie się w wykres bez planu zwykle kończy się nadtradingiem, nie lepszą analizą[7]. Alert ogranicza ekspozycję na ekran, a to bywa skuteczniejszym sposobem na redukcję impulsywnych wejść niż kolejny filtr techniczny. Definiujesz warunki, na które czekasz, i idziesz robić coś innego.

Market vs limit order — krótka zasada

Zanim zaczniesz myśleć o alertach i egzekucji, dobrze mieć w głowie jeden trade-off: market order płaci za pewność wykonania, limit order płaci za ryzyko niewypełnienia. Jeśli cena ruszy szybciej, niż zdążysz wejść limitem, zlecenie nie wykona się wcale — i przegapiasz ruch. Jeśli walisz marketem w cienkim rynku albo wokół newsa, płacisz za to slippage i rozszerzonym spreadem. Na D1/H4 ze spokojną sesją limit zwykle wygrywa (lepsza średnia cena wejścia); na newsach i breakoutach pewność wykonania bywa ważniejsza niż drobna poprawa ceny — z zastrzeżeniem, że dokładnie wtedy slippage bywa najwyższy. Świadoma decyzja o typie zlecenia to część setupu, nie techniczna kosmetyka.

Rodzaje alertów

  • Cenowy. „Powiadom mnie, gdy EUR/USD dotrze do 1,0700". Ustawiasz na poziomach S/R, zniesieniach Fibonacci, strefach zainteresowania. Zero kodowania.
  • Wskaźnikowy. „RSI(14) < 30 na D1" lub „MACD-Histogram zmienił znak". W TradingView: klik na wskaźnik → Create Alert. W MT4/MT5: przez własny wskaźnik z funkcją alertu (uwaga — alert MT4 wymaga otwartej platformy lub VPS-a, bo działa lokalnie).
  • Na obiekcie graficznym. TradingView pozwala ustawiać alerty na narysowanych liniach trendu i strefach — cena dotknęła twojej linii z tygodniówki, dostajesz push na telefon. Łączy ręcznie narysowaną analizę z automatycznym powiadomieniem.
  • Złożony warunek. Wielowarunkowy alert: „cena poniżej EMA 200 AND RSI < 35 AND ADX > 25". Wymaga Pine Script lub MQL, ale ustawia się raz.

Jak łączyć alerty w praktyce

Strefowe + wskaźnikowe. W weekend rysujesz strefy na W1/D1, ustawiasz na nich alerty cenowe. Równolegle ustawiasz alerty wskaźnikowe (RSI < 30) na parach z watchlisty. Gdy oba się aktywują w zbliżonym czasie — masz silniejszy sygnał niż każde z tych kryteriów osobno. Podejście strefowe dobrze współgra z analizą wsparcia i oporu, wskaźnikowe — ze strategiami opartymi na oscylatorach.

Jedno ostrzeżenie: przebodźcowanie (alarm fatigue) jest realne. Jeśli ustawisz 30 alertów na wszystko, co się rusza, po kilku dniach wyciszysz telefon, przegapiając jedyny sensowny setup w tygodniu — a to gorsze niż brak alertów, bo daje fałszywe poczucie, że „monitorujesz rynek". Ogranicz alerty do par z aktualnej watchlisty (3–5 par) i usuwaj te, które straciły aktualność.

Rollover trap — najczęściej pomijany kontekst alertów D1. Twój automatyczny alert z zamknięcia świecy D1 najczęściej aktywuje się o 23:00 czasu serwera brokera (koniec doby bankowej). Uwaga: między 22:00 a 00:00 CET banki zmieniają dobę, płynność na spot FX znika, a spready u części brokerów rozjeżdżają się 5–10×. Alert wskaźnikowy, który aktywuje cię w tym oknie — szczególnie na parach z JPY czy egzotykach — to alert w najgorszej możliwej chwili na egzekucję. Zasada praktyczna: alerty z D1 przerabiaj rano w aktywnej sesji (overlap LDN–NY), nie „natychmiast po zamknięciu świecy". Jeśli setup wymaga reakcji w rollowerze, to nie jest setup — to rosyjska ruletka ze spreadem.
Spread rośnie dokładnie wtedy, gdy alert odpala się wokół newsa. Filtr techniczny na H1/H4 traci sens ekonomiczny, jeśli w ciągu 30–60 minut wypada NFP, CPI albo decyzja Fed/ECB. Spread EUR/USD u ECN brokera potrafi skoczyć z 0,3 do 3–10 pipsów w oknie kilkudziesięciu sekund wokół publikacji. Alert wskaźnikowy ustawiony na to okno realizuje się po najgorszej możliwej cenie po rozszerzeniu. Połącz screening z kalendarzem makro: alerty w oknie ±15 min wokół tier-1 eventu traktuj jako informację „nie handluj teraz", nie „reaguj natychmiast".
Korelacja i „confluence" z jednego koszyka. Screener odpala rano 4 alerty na koszyku USD: AUD/USD, NZD/USD, EUR/USD, GBP/USD — wszystkie w wyprzedaniu. To nie są 4 okazje, to jedna okazja na USD z czterech perspektyw. Zanim otworzysz 4 longi, sprawdź DXY: jeśli dolar jest w trendzie spadkowym na D1, wchodzisz raz (lub redukujesz sumaryczny lot z 4×1 lota do ~4×0,4 lota), nie cztery razy. Korelacja EUR/USD ↔ GBP/USD to typowo ~0,8; traktuj skorelowane alerty jako jeden sygnał, nie jako confluence.
Macierz korelacji głównych par FX — typowe wartości roczne Heatmapa 6x6 z wartościami korelacji między EUR/USD, GBP/USD, AUD/USD, USD/JPY, USD/CHF i indeksem DXY. Kolory od ciemnozielonego (silna dodatnia) przez żółty (słaba) do ciemnoczerwonego (silna ujemna). Macierz korelacji głównych par — typowe wartości roczne korelacja 12-miesięczna, orientacyjna; w krótkich oknach i przy reżimach makro może się wyraźnie odchylać korelacja z ↓ EUR/USD long GBP/USD long AUD/USD long USD/JPY long USD/CHF long DXY long EUR/USD long +1,00 +0,80 +0,65 −0,30 −0,90 −0,95 GBP/USD long +0,80 +1,00 +0,70 −0,20 −0,75 −0,85 AUD/USD long +0,65 +0,70 +1,00 −0,10 −0,60 −0,70 USD/JPY long −0,30 −0,20 −0,10 +1,00 +0,30 +0,40 USD/CHF long −0,90 −0,75 −0,60 +0,30 +1,00 +0,85 DXY long −0,95 −0,85 −0,70 +0,40 +0,85 +1,00 Skala: +1,0 +0,8 +0,65 ~0 −0,6 −0,85 −0,95 Praktyczna reguła: wejścia na 2+ parach z |korelacją| ≥ 0,7 = redukuj sumaryczny lot
Typowe korelacje 12-miesięczne głównych par FX i indeksu dolara (DXY). Długa pozycja na EUR/USD, GBP/USD i krótka na USD/CHF to praktycznie ten sam trade — short USD z potrójną ekspozycją. Heatmapa pokazuje, dlaczego „4 niezależne alerty" ze screenera często są jednym sygnałem makro pokazanym z czterech perspektyw. Wartości są orientacyjne; w skrajnych reżimach (flash crashe, interwencje banków centralnych) korelacje konwergują do 1 lub −1, więc ekspozycja portfela rośnie właśnie wtedy, kiedy trader najmniej tego oczekuje.
Przykład: alert strefowy na EUR/USD

Na W1 widzisz, że EUR/USD ma silną strefę wsparcia w okolicy 1,0680–1,0720 (kilkukrotne odbicia w ciągu ostatniego roku). Rysujesz prostokąt strefy na TradingView, klikasz prawym → „Add Alert on EUR/USD". Ustawiasz: „cena wchodzi w strefę" → push na telefon. Jednocześnie tworzysz drugi alert: RSI(14) na D1 < 30. Jeśli oba się aktywują w podobnym czasie, otwierasz wykres H4, szukasz formacji odwrócenia (np. pin bar z dolnym knotem wychodzącym poza strefę). Jeśli formacja jest — planujesz wejście. Jeśli nie — czekasz dalej. Cała interakcja z wykresem zajęła 3 minuty od momentu alertu.

Backtesting strategii — equity curve, drawdown i kluczowe metryki (win rate, profit factor, Sharpe ratio) na wykresie wyników testowych
Backtesting strategii — equity curve, drawdown i kluczowe metryki (win rate, profit factor, Sharpe ratio) na wykresie wyników testowych

9. Backtesting — co testować i jak interpretować wyniki

Backtesting to sprawdzanie, jak twoja strategia zadziałałaby na danych historycznych[1]. Backtest nie mówi, ile zarobisz. Mówi tylko, czy twoja logika nie jest kompletnym śmieciem na danych historycznych. To dużo, ale to nie to samo co przewaga na żywo. Alternatywa — testowanie od razu na żywym koncie — jest po prostu droższa.

Co warto testować

Nie każdy element strategii da się sensownie przetestować na historii. Dobrze poddają się backtestingowi elementy oparte na jednoznacznych, programowalnych regułach:

  • Reguły wejścia oparte na wskaźnikach. „Kup, gdy RSI(14) spadnie poniżej 30 na D1 i EMA 50 > EMA 200" — to jest jednoznaczne i programowalne. Nie ma tu miejsca na interpretację.
  • Reguły wyjścia i SL/TP. Stały SL 50 pipsów, TP 100 pipsów. Albo trailing stop 2× ATR. Mierzalne, porównywalne.
  • Porównanie wariantów. Czy RSI < 30 lepiej działa na D1 czy na H4? Czy SL 40 pipsów daje lepszy profit factor niż SL 60? Backtest odpowie — z zastrzeżeniami, o których za chwilę.

Słabo poddaje się backtestingowi to, co wymaga ludzkiej oceny:

  • Price action i formacje świecowe. Pin bar na wsparciu „wygląda przekonująco" — ale algorytmiczna definicja pin bara (knot > 2× ciało, ciało w górnym lub dolnym kwintyle) łapie tylko część przypadków, które doświadczony trader rozpoznaje wzrokiem. Reszta to kontekst, którego algorytm nie widzi.
  • Kontekst strukturalny. „Kupuję na końcu fali 2 w impulse Elliotta" — sensowna strategia, ale identyfikacja fali 2 jest subiektywna i bardzo trudna do zakodowania w sposób wiarygodny.
  • Decyzje uznaniowe. Doświadczony trader omija setupy, które „technicznie spełniają kryteria, ale coś mu nie gra". Tego nie zaprogramujesz — a jednocześnie to jest często ta różnica, która oddziela zyskowny trading od zyskownego backtestu.

Jakość danych — temat, o którym mało kto mówi

Wynik backtestu jest tak wiarygodny, jak dane, na których go przeprowadzasz. Na Forex to poważna kwestia. Rynek jest zdecentralizowany — dane z twojego brokera mogą się różnić od danych z innego (inne spready, drobne różnice w OHLC). Dane OHLC tracą informację o ruchu ceny wewnątrz świecy: jeśli SL i TP były ciasne, nie wiadomo, co nastąpiło pierwsze — dotknięcie SL czy TP.

Dane tickowe (tick-by-tick) są dokładniejsze, ale cięższe do zdobycia. MT5 Strategy Tester ma tryb „Every tick based on real ticks" — przy ciasnym SL tego warto używać. Osobna kwestia to spread historyczny: wiele backtestów zakłada stały spread, podczas gdy na żywo spread rozszerza się w newsy i w nocy. Strategia świetna ze spreadem 1,5 pipsa na EUR/USD może być stratna, gdy realny spread skacze do 8–12 pipsów[2]. W MT4 Strategy Tester domyślnie ustawia spread „current" (aktualny) — traktuj to jako optymistyczne dolne oszacowanie, nie realny warunek rynkowy; MT5 pozwala ustawić „Random" lub konkretną wartość.

Bid/ask vs mid-price. Darmowe dane historyczne (Yahoo Finance, większość darmowych API) podają cenę mid — średnią między bid a ask. Dla tradera retail to oznacza, że backtest systematycznie zawyża zyski o połowę spreadu na każdej transakcji. Przy 200 transakcjach rocznie na EUR/USD i spreadzie 1 pips to dodatkowe 100 pipsów fantomowego zysku w backteście. Dukascopy Historical Data Feed i TrueFX dają bid/ask oddzielnie — używaj ich. Jeśli testujesz na danych gorszej jakości — traktuj wyniki z dodatkowym marginesem.

Sygnały barclose vs intrabar. Pine Script domyślnie generuje sygnały na zamknięciu świecy (barstate.isconfirmed), ale część traderów w testach przestawia na sygnały intrabar — i ich backtest nagle wygląda o 30% lepiej. Powód: intrabar łapiesz każdy dotyk poziomu, nawet jeśli świeca zamknie się w innym miejscu. Na żywo połowa tych sygnałów zniknie, zanim zdążysz kliknąć. Testuj zawsze na zamknięciu świec — chyba że twoja strategia jest intencjonalnie intrabar-based (breakout na pending stop orders).

War story — whipsaw w oknie NFP. Piątek, 14:30 CET, publikacja Non-Farm Payrolls. Algorytm breakoutowy widzi wybicie oporu na M5, kupuje EUR/USD. Kilka–kilkanaście sekund później cena zawraca o kilkadziesiąt pipsów, uderza w stop loss, po czym wraca do pierwotnego kierunku i robi nowe szczyty. Na wykresie H1 ze stałym spreadem zostaje czytelna, zyskowna świeca; na M5 z realnymi warunkami — długi cień i zamknięty stratny trade. To klasyczny whipsaw w oknie makro: algorytmy dostawców płynności potrafią wstrząsnąć księgą zleceń w obie strony, zanim rynek złapie kierunek dnia. Strategy Tester z danych OHLC w ogóle tego nie odda, bo świeca H1 zamknie się po fakcie w pożądanym miejscu. Praktyczna reguła dla backtestu: wykluczaj sygnały w oknie ±15 minut wokół tier-1 eventu lub testuj osobno próbkę takich trade'ów, żeby zobaczyć ich realny wpływ na expectancy.

Koszty swap/rollover w logice EA. Budujesz „darmową maszynkę" do trzymania pozycji przez tygodnie? Algorytm musi uwzględniać ujemne punkty swap, nie tylko spread i slippage. Strategia trend-followingowa na parach egzotycznych (np. short USD/MXN, long USD/TRY) potrafi wygenerować piękny zysk brutto z ruchu cenowego, który po 3–4 tygodniach trzymania jest całkowicie zjadany przez ujemny carry trade. MT5 Strategy Tester uwzględnia swap, jeśli broker go przekazuje do platformy; MT4 bywa kapryśny i wymaga ręcznej weryfikacji tabeli swapów u brokera. W backteście Pythona swap zwykle musisz doliczyć samodzielnie — dla swingów to nie kosmetyka, to realny koszt decydujący o zyskowności netto.

War story — Czarny Czwartek CHF, 15 stycznia 2015. Tysiące EA opartych na mean-reversion grało pod obronę poziomu 1,2000 na EUR/CHF. Na danych z poprzednich 3+ lat wyglądało to jak darmowe pieniądze: cena odbijała od podłogi SNB, EA zamykał na kilkunastu pipsach zysku, cykl się powtarzał. Backtest pokazywał przykładnego drawdownu rzędu 3–5%. O 10:30 CET SNB zniósł peg. Rynek zniknął na kilkanaście minut; ceny przeskakiwały po kilkaset pipsów bez kwotowania pośredniego. EA realizowały SL po pierwszej dostępnej cenie — u części brokerów detalicznych klienci zostali z saldami ujemnymi rzędu setek tysięcy euro. Alpari UK ogłosiło niewypłacalność. Lekcja: backtest z definicji nie modeluje zdarzeń, których nie ma w danych historycznych. Żaden algorytm nie uchroni cię przed black swanem — tylko position sizing, rozsądna dźwignia i świadomość ryzyka zdarzenia.

Jak interpretować wyniki

Kluczowe metryki backtestingu:

MetrykaCo mówiNa co uważać
Profit Factor (PF)Suma zysków / suma stratWielu traderów traktuje PF powyżej 1,5 jako punkt wyjścia[1], ale to heurystyka, nie twarda granica. PF > 3 na dużej próbce (200+ transakcji) może być realny — ale na małej próbce (< 100 transakcji) bywa po prostu efektem losowym, nie overfittingiem
Max DrawdownNajwiększy spadek kapitału od szczytu do dołkaNa żywym koncie drawdown często okazuje się głębszy niż w backteście[2]. Planuj z zapasem
Win RateProcent transakcji zyskownychBez kontekstu R:R bezużyteczny. 30% trafień + R:R 1:3 = zyskowna strategia
Liczba transakcjiIle transakcji wygenerował testNie ma jednej magicznej liczby — zależy od strategii. Ogólnie: im więcej, tym większa wiarygodność statystyczna. Przy mniej niż 100 transakcjach wnioski traktuj z dużą ostrożnością[5]
Sharpe RatioZwrot skorygowany o zmiennośćSharpe > 1 to solidny wynik. Sharpe > 2 na Forex zdarza się — ale wymaga dodatkowej weryfikacji, bo często wynika z dopasowania parametrów do danych[6]

Przykład: źle zrobiony backtest i jak go poprawić

Trader Jan testuje strategię: „kup, gdy RSI(14) < 30 na D1 na EUR/USD, SL 50 pips, TP 150 pips". Testuje na danych z lat 2020–2025, optymalizuje RSI (próbuje wartości od 10 do 30), optymalizuje SL (od 30 do 80 pipsów), optymalizuje TP (od 80 do 200 pipsów). Wybiera kombinację RSI=22, SL=43, TP=167 — bo ta ma najwyższy profit factor: 2,8.

Problem: Jan przetestował dziesiątki kombinacji na tych samych danych i wybrał najlepszą. Strategia ma 3 optymalizowane parametry, a najlepsza kombinacja wygląda podejrzanie „unikalna" — drobna zmiana parametrów drastycznie pogarsza wyniki. To klasyczny overfitting.

Jak poprawić: Jan powinien podzielić dane na okres treningowy (2020–2023) i testowy (2024–2025). Optymalizować na danych treningowych, a potem sprawdzić wybraną kombinację na danych testowych — ani razu wcześniej. Jeśli profit factor na danych testowych spada z 2,8 do 0,9, strategia jest dopasowana do przeszłości, nie do rynku.

Zapamiętaj: backtest zwykle pokazuje warunki lepsze niż egzekucja na żywo, chyba że bardzo rygorystycznie modelujesz koszty i jakość wykonania. Na żywym koncie dochodzi slippage, requote'y zjadają R:R, a twoja psychologia po serii pięciu strat wyłącza algorytm dokładnie przed falą największych zysków. Strategia z max drawdownem 15% w backteście na żywo często okazuje się głębsza[2] — zakładaj margines bezpieczeństwa.

Forward testing — most między backtestem a żywym kontem

Zanim wrzucisz strategię na żywe konto, przetestuj ją forward: na koncie demo lub mikro-koncie z realnymi warunkami rynkowymi, przez minimum 2–3 miesiące (lepiej 6). Forward test eliminuje problem dopasowania do przeszłości — bo przyszłości jeszcze nie znasz. Jeśli wyniki forward testu są dramatycznie gorsze od backtestingu — strategia jest prawdopodobnie overfitted, a piękna equity curve z backtestu to artefakt, nie przewaga.[1]

Monte Carlo — twój realny worst case

Jeśli twój backtest ma 150 transakcji z profit factor 1,8, symulacja Monte Carlo (przetasowanie kolejności trade'ów 1000 razy) pokaże, jak głęboki drawdown byłby w najgorszym z 1000 scenariuszy. Zwykle 1,5–2× gorszy niż historyczny maksymalny drawdown. To jest twój realny worst case, nie to, co widzisz w Strategy Testerze. Narzędzia w pandas/Python (np. vectorbt) robią to natywnie; w MT5 musisz najczęściej wyeksportować wyniki do arkusza i policzyć ręcznie. Praktyczna reguła: jeśli 95 percentyl Monte Carlo DD > 30% kapitału, strategia jest zbyt zmienna dla komfortowego trzymania się jej przez cały cykl strat.

10. Python w screeningu i backtestingu

Python nie jest już narzędziem wyłącznie dla kwantów — prosty screener i pipeline alertowy da się dziś postawić detalicznie bez dużej infrastruktury. Techniczny próg wejścia jest niski: pandas, wrapper brokerskiego API i VPS za kilkadziesiąt złotych miesięcznie wystarczą do startu. Ale utrzymanie poprawnego pipeline'u danych i egzekucji nadal wymaga dyscypliny technicznej — aktualizacji wrapperów, monitorowania błędów API, świadomego zarządzania ryzykiem w kodzie.

Co daje Python, czego nie dają TradingView ani MT4/MT5:

  • Dowolne źródło danych. Możesz pobierać dane z API brokerów (OANDA, Interactive Brokers), darmowych źródeł (yfinance dla indeksów, ccxt dla krypto) lub płatnych dostawców. Nie jesteś ograniczony do tego, co oferuje platforma.
  • Zaawansowana analiza statystyczna. Testy istotności, korekta Bonferroniego przy wielokrotnych porównaniach, wizualizacja rozkładów zwrotów — to rzeczy, które w Pine Script są albo niemożliwe, albo bardzo niewygodne. W Pythonie z bibliotekami scipy i statsmodels to kilka linijek kodu.
  • Elastyczność backtestingu. Biblioteki backtrader i vectorbt pozwalają testować strategie portfelowe (wiele par jednocześnie), strategie z dynamiczną alokacją kapitału, strategie z korelacjami między instrumentami. Pine Script i MQL mają tu ograniczenia.
  • Pipeline od screeningu do egzekucji. Cały workflow — pobranie danych, screening, generowanie sygnałów, wysyłanie alertów (e-mail, Telegram), a nawet egzekucja zleceń przez API brokera — może działać w jednym skrypcie.
  • Analiza sentymentu. Niektórzy traderzy eksperymentują z automatyczną analizą sentymentu z wiadomości i raportów ekonomicznych, włączając ten sygnał do pipeline screeningowego. Narzędzia do tego istnieją (od prostych skryptów po API modeli językowych), ale w praktyce detalicznej to wciąż raczej eksperyment niż gotowe rozwiązanie.

Minimalny screener RSI w Pythonie — szkielet kodu z OANDA API:

import pandas as pd
from oandapyV20 import API
from oandapyV20.endpoints import instruments

api = API(access_token='TWÓJ_TOKEN_OANDA', environment='practice')
pairs = ['EUR_USD', 'GBP_USD', 'USD_JPY', 'AUD_USD', 'NZD_USD']

for p in pairs:
    params = {'count': 100, 'granularity': 'D'}
    r = instruments.InstrumentsCandles(instrument=p, params=params)
    api.request(r)
    candles = [c for c in r.response['candles'] if c['complete']]
    close = pd.Series([float(c['mid']['c']) for c in candles])  # mid; do live użyj bid/ask
    delta = close.diff()
    gain  = delta.clip(lower=0).rolling(14).mean()
    loss  = -delta.clip(upper=0).rolling(14).mean()
    rsi   = 100 - (100 / (1 + gain / loss))
    if rsi.iloc[-1] < 30:
        print(f"{p}: RSI = {rsi.iloc[-1]:.1f} — w wyprzedaniu")

Tyle. Jeśli chcesz źródło bez zakładania konta brokerskiego, alternatywy to ccxt (świetne do krypto, mniej do spot FX) albo historyczne tickowe dane Dukascopy/TrueFX jako pliki CSV. Nie używaj Yahoo Finance (yfinance) do intraday FX — to źródło nadaje się do akcji i indeksów, ale dla par walutowych zwraca dane z opóźnieniem, bez bid/ask i z brakami dla par egzotycznych.

Python daje pełną kontrolę, ale każdy błąd w logice backtestu albo w pętli egzekucji staje się błędem finansowym, nie tylko programistycznym. Źle napisana pętla retry potrafi wysłać 50 duplikatów zlecenia do API brokera, zanim zdążysz wcisnąć Ctrl+C. Jeśli nigdy nie pisałeś w Pythonie, zacznij od Pine Script — da ci 80% tego, czego potrzebujesz, za 20% wysiłku.

War story — zemsta pętli while True. Dobrze zapowiadający się quant napisał w Pythonie bota z logiką uśredniania strat (Martingale) podłączonego do OANDA REST API. Błąd logiczny: brak twardego limitu iteracji i brak exponential backoff w pętli retry przy błędzie HTTP 503. O 3:00 nocy broker robił przerwę techniczną serwerów. Bot, nie mogąc odczytać stanu pozycji, zaczął zapętlać zlecenia BUY co 100 ms, nie czekając na potwierdzenie. Rano trader obudził się z kilkudziesięcioma otwartymi pozycjami na EUR/TRY, rozłożonymi na szczycie nocnego swingu, i wezwaniem do uzupełnienia depozytu rzędu 5-cyfrowej kwoty USD. Wnioski operacyjne: (1) zawsze używaj rate limiting po stronie klienta — np. max 1 req/s; (2) implementuj idempotency keys (klucz żądania rozpoznawany przez API brokera, który chroni przed duplikacją); (3) po błędzie serwera rób exponential backoff (1 s → 2 s → 4 s → 8 s → przerwanie) z twardym limitem 5–8 prób; (4) nigdy nie pisz pętli while True wysyłającej zlecenia handlowe bez kill-switcha. Rate limiting i backoff to nie zalecenie — to polisa na życie konta.
Python w screeningu i backtestingu — fragment kodu z bibliotekami pandas i backtrader do automatycznej analizy danych cenowych
Python w screeningu i backtestingu — fragment kodu z bibliotekami pandas i backtrader do automatycznej analizy danych cenowych

11. Pułapki automatyzacji

Automatyzacja oszczędza czas i redukuje błędy emocjonalne — ale wprowadza własne problemy. Poniżej najczęstsze.

Overfitting (dopasowanie do przeszłości)

Overfitting to nie „błąd". To domyślne zachowanie mózgu konfrontowanego z danymi i interfejsem optymalizacji. Jeśli Strategy Tester ma zielony slider i przycisk „Optimize" — wpadniesz. Pytanie brzmi: zrozumiesz to w tygodniu, czy po trzech miesiącach żywego tradingu? System „zapamiętuje" przeszłość zamiast wychwytywać powtarzalne wzorce. Objaw: piękna equity curve w backteście, strata od pierwszego dnia na żywo.

Sygnały ostrzegawcze overfittingu:[5]

  • Strategia ma więcej niż 4–5 parametrów do optymalizacji.
  • Drobna zmiana parametru (RSI 14 → RSI 15) drastycznie zmienia wyniki — tzw. „kruchość" (fragility).
  • Backtest na jednym okresie daje świetne wyniki, na innym — stratę.
  • Podejrzanie wysokie metryki (PF > 3, Sharpe > 2) przy małej próbce (< 100 transakcji) — częściej efekt losowy niż prawdziwa przewaga. Przy dużej próbce (500+) takie wyniki nie są wykluczone, ale wymagają rygorystycznej walidacji out-of-sample.

Lekarstwem jest testowanie out-of-sample: dzielisz dane na część treningową (np. 2018–2022) i testową (2023–2025). Optymalizujesz na danych treningowych, sprawdzasz na testowych. Jeśli wyniki się rozjeżdżają — strategia jest dopasowana do konkretnej historii, nie do rynku. Pardo[1] szczegółowo opisuje walk-forward analysis, które formalizuje ten proces.

War story — optymalizacja genetyczna i „cudowny parametr". Trader uruchamia MT5 Strategy Tester z algorytmem genetycznym na EUR/USD, 5 lat danych, 6 parametrów do optymalizacji. Po 12 godzinach procesor jeszcze dymi, ale wynik: profit factor 4,3, drawdown 6%, 847 trade'ów. Piękno. Parametry: RSI=16, SL=63,2 pipsa, TP=214,8 pipsa, filtr ATR=1,237, delta EMA=37, min. ADX=23,6. Następny tydzień na żywo: −18% konta. Powód: algorytm nie znalazł przewagi rynkowej — znalazł szum w danych i nauczył się go na pamięć. Gdy zmieniasz okres testu o miesiąc w którąkolwiek stronę, PF spada z 4,3 do 0,8. Optymalizacja genetyczna bardzo łatwo znajduje kombinacje parametrów, które wyglądają świetnie na danych treningowych, ale nie mają trwałej przewagi poza próbką — a ich równoległe testowanie w Strategy Testerze ma wizualny charakter „badawczy", co dodatkowo uwiarygadnia wyniki przed samym traderem. Zasada operacyjna: maksymalnie 3 parametry do optymalizacji, walk-forward analysis obowiązkowa, wynik z optymalizatora traktuj jako hipotezę do forward testu, nie jako system.

Data snooping (podglądanie danych)

Przetestowałeś 50 wariantów strategii na tych samych danych i wybrałeś ten z najlepszymi wynikami. Problem: przy 50 próbach na tych samych danych coś musi wypaść dobrze — statystycznie. To nie jest odkrycie „działającej" strategii, to efekt losowy. Aronson[5] i Lopez de Prado[6] poświęcają temu problemowi całe rozdziały i nie bez powodu — to pułapka, w którą wpadają nawet doświadczeni traderzy.

Rozwiązanie: jeśli testujesz wiele wariantów, stosuj korektę statystyczną (Bonferroni, White's Reality Check) lub przynajmniej bądź świadomy, że wynik z 50. próby jest wielokrotnie mniej wiarygodny niż wynik z pierwszej.

Survivorship bias w gotowych EA

Na forach widzisz EA z equity curve rosnącą pod 45°. Nie widzisz tysięcy EA wycofanych ze sprzedaży, bo zbankrutowały[10]. To survivorship bias — dotyka też strategii publikowanych przez influencerów: kto chwalił się 300% w 2024, zwykle milczy o -80% w 2025.

Myfxbook „verified" — co naprawdę oznacza. Myfxbook reklamuje się jako „sprawdzona historia konta". W praktyce: tryb „Full" pokazuje rzeczywiste transakcje, ale sprzedawca EA może ukrywać określone okresy, używać konta demo lub konta „custom" z podmienianymi trade'ami. Szczególnie podejrzane: konta z idealną equity curve przez 6 miesięcy, na których nagle pojawia się „data gap" przez 2 tygodnie w momencie, gdy reszta rynku miała czerwony miesiąc. Zanim kupisz EA z „verified Myfxbook", sprawdź trzy rzeczy: (1) czy typ konta to Real, nie Demo, (2) czy track record pokrywa ostatnie zdarzenia szokowe (CHF 2015, GBP 2016, Liz Truss 2022, SVB 2023), (3) czy broker jest regulowany. Większość „verified" EA sprzedawanych na MQL5 Market nie przechodzi tych trzech filtrów.

Iluzja kontroli

Im bardziej system jest „automatyczny", tym mniej trader monitoruje, co się dzieje. EA handluje przez noc, spread na USD/TRY rozszerza się do 15 pipsów o 3:00, poślizg zjada 3 stopy z rzędu — a trader dowiaduje się rano. EA nie jest pasywnym dochodem — wymaga monitoringu i okresowej walidacji na bieżących danych.

War story — GBP flash crash, 7 października 2016, 00:07 GMT. GBP/USD spada z 1,2600 do okolic 1,15 w ciągu około dwóch minut (ekstremum zależne od feedu). Każdy EA trend-following, który miał podłączony long GBP, dostaje kaskadę stop lossów. Problem: spread u większości brokerów w tej chwili wynosi 300–800 pipsów, a u niektórych przez kilkadziesiąt sekund po prostu nie ma kwotowania. EA realizuje SL „po rynku" i dostaje fill kilkaset pipsów poniżej zaplanowanego poziomu. Rano trader otwiera MT4 i widzi, że jego „bezpieczny system z max drawdown 8%" ma −47%. Wniosek: każdy EA, który nie ma twardego warunku „jeśli spread > X pipsów lub brak kwotowania przez Y sekund, NIE otwieraj nowych pozycji i rozważ zamknięcie istniejących", jest EA w wersji beta. Ten warunek musi być w kodzie, nie w twojej głowie o 3:00 w nocy.
War story — Knight Capital, 1 sierpnia 2012 (case ryzyka software, nie FX). To nie historia z rynku walutowego — dotyczy rynku akcji i HFT, ale jako ostrzeżenie o ryzyku software'owym automatyzacji działa uniwersalnie. Firma wdraża nowe oprogramowanie na 7 z 8 serwerów; ósmy przez pomyłkę zachowuje starą flagę z martwego kodu sprzed lat. W ciągu 45 minut od otwarcia sesji Knight wygenerował miliony transakcji, w dużej części kupując drogo i sprzedając tanio. Strata: 440 mln USD, upadek firmy w tym samym kwartale. Lekcja dla detala: EA, którego nie czytałeś linia po linii, jest bombą z timerem, którego nie widzisz. Kupiony „czarny box" z MQL5 Market potrafi zrobić ci mini-Knighta w skali twojego konta w jedną noc — i ty nawet nie będziesz wiedzieć, która flaga była problemem. Zanim uruchomisz EA na żywym rachunku, musisz być w stanie przeczytać każdą funkcję handlową i wiedzieć, co się stanie w skrajnych przypadkach (brak kwotowania, requote, disconnect, spread-spike).
Twardy warunek spread filter — co musi być w kodzie. Z war story GBP 2016 płynie prosty wniosek operacyjny: każdy EA powinien zawierać warunek typu if (spread > max_spread) { return; } przed każdą funkcją otwarcia pozycji. Klucz: max_spread nie powinno być sztywną liczbą dla wszystkich par — na EUR/USD 5 pipsów to anomalia, na USD/TRY czy na egzotykach to normalny dzień. Sensowna implementacja: max_spread = k × ATR(14, TF_wejścia) albo max_spread = 0,15 × odległość_do_SL. Dodatkowy bezpiecznik: max_slippage przy składaniu zlecenia i awaryjne zamykanie wszystkich pozycji przy przekroczeniu global_drawdown_cap (np. 10% kapitału w tydzień). EA bez tych trzech warunków to EA w wersji beta, niezależnie od tego, co pokazuje backtest.
Asymetrie egzekucji — slippage i Last Look. Dwa mechanizmy, których żaden Strategy Tester nie modeluje, a które na żywo konsekwentnie pracują przeciw agresywnym algorytmom. Asymetryczny slippage: część detalicznych brokerów daje pełny poślizg, gdy cena idzie na twoją niekorzyść, ale zachowuje dla siebie pozytywny slippage, gdy ruch jest po twojej stronie — rozkład cen wykonania statystycznie skośny w dół, niewidoczny pojedynczo, na próbce tysiąca transakcji widać go w equity. Last Look: nawet na A-Booku banki i LP-y mają 20–50 ms na decyzję o odrzuceniu zlecenia — jeśli w tym okienku rynek się ruszył na ich niekorzyść, rezygnują z realizacji. Dla algorytmów „przewidujących" mikroruchy (toxic flow) odsetek rejects rośnie, a odrzucane bywają właśnie najbardziej dochodowe zlecenia. Praktyka: (1) pytaj brokera o politykę symetrii slippage'u przed otwarciem konta; (2) dla strategii z dużą liczbą transakcji wybieraj ECN/STP z przejrzystą polityką; (3) dla swingu D1/H4 oba mechanizmy są niezauważalne, dla HFT/newsowych strategii to główne źródło rozjazdu backtest vs live.
War story — toksyczny bot na prop firm. Znajomy uruchamia na koncie prop firm (100 000 USD) zaawansowanego bota do arbitrażu opóźnień (latency arbitrage) kupionego z MQL Market. Zdaje fazę pierwszą w 45 minut. Drugą — w godzinę. Przy próbie wypłaty pierwszej transzy dostaje e-mail z działu ryzyka prop firmy: „Violation of Terms: Toxic Trading Flow / Exploiting Demo Feed Latency". Konto zamknięte, zyski anulowane, opłata za challenge nie zwrócona. Uwaga: prop firmy często oferują rachunki na feedach demo lub symulatorach, których charakterystyka różni się od realnego A-Booka (szczególnie w zakresie opóźnienia kwotowania). Algorytm, który wykorzystuje tę różnicę, zarabia „na papierze", ale regulamin firmy najczęściej kwalifikuje to jako exploiting. Przed podłączeniem jakiegokolwiek EA na koncie prop firm przeczytaj w całości sekcję regulaminu o strategiach zabronionych — i nie polegaj na cudzych podsumowaniach.

Czarna skrzynka

Jeśli nie rozumiesz, dlaczego twój system zarabia, nie wiesz, kiedy przestanie. Kupiony EA bez dokumentacji logiki to czarna skrzynka — a rynki zmieniają charakter[10], więc prędzej czy później trzeba będzie zdecydować, czy zmienić parametry, wyłączyć system, czy przeczekać.

Wskaźniki repaintujące

Część wskaźników zmienia swoje historyczne wartości po pojawieniu się nowych świec — to tzw. repainting. Na wykresie historycznym wyglądają perfekcyjnie (każdy sygnał „trafiony"), ale w czasie rzeczywistym sygnał może się pojawić i zniknąć, zanim zdążysz zareagować. Dotyczy to np. ZigZag i wielu custom indicators z MQL5 Market. Jeśli testujesz wskaźnik — sprawdź go na żywo (forward test) przez przynajmniej kilka tygodni, zanim zaczniesz mu ufać w backtestach.

Prop Firmy a automatyzacja

Jeśli handlujesz na koncie prop firm, sprawdź aktualny regulamin zanim włączysz EA. Wiele firm zabrania pełnej automatyzacji, traktując ją jako naruszenie zasad — ale jednocześnie pozwala na screenery, alerty i pół-automatyczne wskaźniki. Zasady różnią się między firmami i potrafią się zmieniać, więc nie polegaj na cudzych podsumowaniach: czytaj regulamin sam. Podłączenie EA bez sprawdzenia to ryzyko utraty konta i zysku.

Red flags gotowego EA — osiem sygnałów ostrzegawczych Osiem ułożonych w siatce 4×2 ramek pokazujących sygnały ostrzegawcze przy ocenie gotowego Expert Advisora: równa equity curve, wysoki profit factor na małej próbce, brak forward testu, czarna skrzynka kodu, kruchość parametrów, brak ochrony spreadowej, tylko jeden okres testu, konto demo na Myfxbook. Red flags gotowego EA — osiem sygnałów, przy których NIE kupujesz jeśli EA „trafia" choćby w dwa z tych punktów, traktuj zakup jako akt wiary, nie decyzję inwestycyjną 1 Equity curve pod 45° bez żadnego drawdownu Równa linia wzrostu to artefakt optymalizacji, nie realny wynik rynkowy. Prawdziwa strategia ma serie strat — to normalne. Co sprawdzić: max DD ≥ 15% i serie ≥ 5 strat pod rząd 2 PF > 3 na < 100 trade'ach efekt losowy, nie przewaga Profit factor 3+ przy małej próbce często wychodzi z szczęścia, nie z logiki. Na dużej próbce (500+) PF zwykle spada do 1,3–1,8. Co sprawdzić: liczba transakcji w reprezentatywnej próbce 3 Brak forward testu strategia nigdy nie była na żywo Bez 3–6 miesięcy na demo lub mikro-koncie nie wiesz, czy backtest przeniesie się. „Forward test" nie jest opcjonalny — jest obowiązkowy. Co sprawdzić: Myfxbook z realnym kontem ≥ 6 mies. 4 Czarna skrzynka kod zamknięty Jeśli nie możesz przeczytać każdej linii handlowej, nie wiesz kiedy przestanie. „Knight Capital w skali twojego konta" = realne. Co sprawdzić: dostęp do źródła MQL/Python 5 Kruchość parametrów RSI 14→15 łamie wyniki Jeśli drobna zmiana parametru drastycznie pogarsza wynik — to klasyczny overfitting. Rynek nie zachowuje niuansu „akurat RSI=16,4". Co sprawdzić: wrażliwość wyniku na ±10% parametru 6 Brak stop-spread padnie na pierwszym flash EA bez warunku „jeśli spread > X, nie otwieraj" zrealizuje SL przy 300 pip rozszerzeniu kwotowania. GBP 7.10.2016, CHF 2015, Liz Truss 2022 to lekcje. Co sprawdzić: kod zawiera MaxSpread / MaxSlippage 7 Tylko jeden okres testu brak walk-forward / out-of-sample Test tylko na 2020–2024 bez walidacji out-of-sample (np. 2018–2019) = data snooping w najlepszej formie. Walk-forward analysis to minimum (Pardo). Co sprawdzić: test na 2+ rozłącznych okresach 8 Myfxbook „Demo" nie „Real" Konto demo na Myfxbook to reklama, nie dowód. Nigdy nie było prawdziwych pieniędzy po stronie EA. Podobnie „custom data" — trade'y edytowalne ręcznie. Co sprawdzić: typ konta = Real, broker regulowany Zasada weryfikacji: 2+ red flags = nie kupujesz, niezależnie od ceny i rekomendacji
Osiem najczęstszych sygnałów ostrzegawczych przy ocenie gotowego Expert Advisora. Pojedynczy red flag nie dyskwalifikuje produktu automatycznie (czasem jest wytłumaczalny), ale trafienie w dwa lub więcej oznacza, że „sprzedawca" albo nie wie, co robi, albo próbuje ci sprzedać overfitting z ładną stroną docelową. Zasada praktyczna: jeśli musisz uzasadniać sobie, dlaczego któryś z red flags „akurat tu nie dotyczy" — to właśnie dotyczy.

12. Czego nie automatyzować na początku

Pokusa „pasywnego dochodu" z EA jest silna, ale skok od zera do pełnej automatyzacji kończy się zwykle stratą — i to nie z powodu złego kodu, tylko braku fundamentów. Co lepiej robić ręcznie na początku:

  • Zarządzanie pozycją. Wielkość pozycji, przesuwanie SL, częściowe zamykanie — to są decyzje, które wymagają kontekstu i oceny sytuacji. EA zrobi dokładnie to, co mu każesz, ale „dokładnie to, co mu każesz" i „to, co powinieneś zrobić w danej chwili" to często dwie różne rzeczy. Ucz się zarządzać pozycją ręcznie, zanim zautomatyzujesz.
  • Interpretacja kontekstu makro. Screener nie wie, że za godzinę jest NFP (Non-Farm Payrolls) i spready zaraz się rozszerzą trzykrotnie. Nie wie, że bank centralny zmienił retorykę. Tego typu kontekst musisz dodawać sam.
  • Wybór par do handlu. Screener pomaga je filtrować, ale finalna selekcja — zwłaszcza na początku — powinna być twoja. Dzięki temu uczysz się, co działa na różnych parach, jakie mają charakterystyki (np. że GBP/JPY jest dużo bardziej zmienny niż EUR/CHF) i rozwijasz intuicję, której później nie zastąpi żaden algorytm.
  • Trzymanie pozycji przez weekend z dźwignią i bez zabezpieczenia. Nigdy nie pozwalaj EA handlować przez weekend na krzyżówkach z dźwignią, jeśli nie masz zabezpieczenia (redukcja lotu, opcje, twardy spread filter przy niedzielnym otwarciu). Black swan events — weekendowy komunikat banku centralnego, referendum, interwencja walutowa, geopolityka — otwierają niedzielę lukami, których stop loss nie obsłuży po deklarowanej cenie. Historia zna dziesiątki przypadków, gdzie „bezpieczny system z max DD 8%" po weekendzie miał −40% lub więcej.
  • Otwieranie pozycji bez kontroli Free Margin (margin stop-out blindness). Większość kupionych EA nie monitoruje dostępnego depozytu zabezpieczającego. Kiedy rynek wpada w spiralę i korelacje konwergują do +1 (jak w scenariuszach flash-crashowych), bot dalej otwiera pozycje grid albo uśrednia stratne zlecenia — aż do momentu, w którym broker automatycznie zamyka najcięższą pozycję z powodu wykroczenia poza poziom margin stop-out. Twardy warunek w kodzie EA: if (AccountFreeMarginCheck < required_margin) { return; } przed każdym otwarciem nowej pozycji.
Grid i Martingale bez twardego limitu — mina, nie strategia. Algorytm, który odpowiada na każdą stratę otwarciem większej pozycji (klasyczny Martingale) albo rozstawia siatkę zleceń w obu kierunkach na z góry ustalonych poziomach cenowych (grid), matematycznie działa — ale tylko w warunkach, gdy rynek oscyluje. Przy silnym trendzie jednokierunkowym, luce weekendowej albo black swan evencie ekspozycja rośnie wykładniczo i jednym ruchem ceny likwiduje konto. Grid bez twardego limitu łącznej ekspozycji (globalny max lot, global drawdown cap, warunek zatrzymania przy trendzie wyższego TF) nie jest strategią, tylko odwlekaniem realizacji straty. „Equity curve rosnąca pod 45°" w reklamach takich systemów to zwykle 6 miesięcy przed pierwszym trendem, po którym następuje pełne wyzerowanie konta. Jeśli nie umiesz z góry policzyć maksymalnej łącznej straty w scenariuszu najgorszym — nie uruchamiasz gridu ani Martingale, nawet demo.
Koszt infrastruktury — realny rachunek. Zanim zdecydujesz o poziomie automatyzacji, policz koszty: VPS ForexVPS/BeeksFX dla MT4/MT5 to ok. 25–40 USD/mies. (300–480 USD/rok); TradingView Premium (400 alertów) ok. 60 USD/mies. (720 USD/rok); Dukascopy tickowe dane historyczne EUR/USD za 10 lat — 0 PLN (darmowe). Przy koncie 5 000 USD i ryzyku 1% na trade musisz wyciągnąć z rynku 3–4 zyskowne trade'y rocznie tylko po to, żeby pokryć infrastrukturę. Do tego dochodzi koszt niepokazany w żadnej tabeli opłat: koszt twojego czasu — utrzymanie skryptów, aktualizacje API brokera (zmiany endpointów, nowe wymagania uwierzytelniania), debugowanie webhooków, restart VPS po aktualizacji systemu. Dla hobbysty to 2–4 godziny miesięcznie; dla kogoś z ambicją trzymania własnego frameworka — znacznie więcej. To nie argument przeciwko automatyzacji, tylko za trzeźwą kalkulacją, zanim zaczniesz opłacać subskrypcje „bo ktoś w YouTube polecał".

Automatyzuj to, co jest tępe, żmudne i powtarzalne: skan, filtr, alert. Nie automatyzuj tego, czego sam jeszcze nie rozumiesz — inaczej tylko szybciej zautomatyzujesz własną głupotę. Automatyzację rozwijaj etapami; pełna auto-egzekucja bez zrozumienia procesu zwykle kończy się stratą szybciej niż handel ręczny.

13. Narzędzia — porównanie

NarzędzieJęzyk skryptowyScreeningAlertyBacktestingAuto-egzekucjaKoszt (marzec 2026)
TradingView (Free)Pine ScriptTak (Forex screener)Kilka jednocześniePine Script strategy()Nie (webhook do API)0 USD
TradingView (Essential–Ultimate)Pine ScriptTak (zaawansowane filtry)20–1000 w zależności od planuPine Script strategy()Webhook + API brokera lub natywna integracja brokerska~15–60 USD/mies.
MT4MQL4Własne wskaźniki (custom indicators)Tak (popup, push, email)Strategy Tester (1 symbol)Expert Advisors0 USD (od brokera)
MT5MQL5Własne wskaźnikiTak (popup, push, email)Strategy Tester (multi-currency)Expert Advisors0 USD (od brokera)
cTraderC#OgraniczonyTakcTrader AutomatecBots0 USD (od brokera)
PythonPythonPełna elastycznośćWłasne (e-mail, Telegram, push)backtrader, vectorbt, własnyPrzez API brokera (OANDA, IBKR)0 USD (open source)

Koszty orientacyjne na marzec 2026. Limity alertów TradingView zmieniają się — podane wartości pochodzą z oficjalnego cennika na dzień publikacji. MT4/MT5 i cTrader dostarczane bezpłatnie przez brokerów.

Minimalny zestaw startowy — od tego zacznij
  • Interwał główny: D1 — na nim screenujesz i analizujesz. Kontekst bierzesz z W1.
  • Watchlista: 8–12 par do screeningu, z czego 2–5 trafia na bieżącą watchlistę w danym tygodniu.
  • 2 filtry screeningowe: EMA 200 (kierunek trendu) + RSI 14 (momentum). Proste, ale eliminują 80% szumu.
  • 1 typ alertu na start: cenowy, na strefach S/R z tygodniówki. Później dodasz wskaźnikowe.
  • 0 EA na starcie. Serio. Naucz się najpierw handlować ręcznie z pomocą screenera i alertów. Robot przyjdzie później — i prawdopodobnie wcale nie jest ci potrzebny.
  • Obowiązkowy forward test po każdym backteście. Minimum 2–3 miesiące na demo, zanim wrzucisz strategię na żywe konto.

Kalkulator wielkości pozycji — wbudowany

Selekcja setupu bez prawidłowego sizingu to połowa roboty. Podaj wielkość konta, % ryzyka i odległość do SL w pipsach — kalkulator zwróci zalecany rozmiar pozycji i kwotową stratę w razie trafienia SL. Formuła: rozmiar_pozycji [loty] = (kapitał × ryzyko%) ÷ (SL_pipsy × wartość_pipsa).

Kwotowa strata przy SL: 100 USD (kapitał × ryzyko%)
Zalecany rozmiar pozycji: 0,25 lota (≈ 25 000 USD kontraktu)
Szacunkowy koszt wejścia/wyjścia: 7,50 USD (spread + prowizja w obie strony)
Realne ryzyko netto (strata SL + koszty): 107,50 USD
„Koszt wejścia+wyjścia" to suma spreadu i prowizji w pipsach dla pełnej pętli transakcji (open + close). Typowo 1–5 pipsów dla EUR/USD u ECN brokera w aktywnej sesji, 5–15 pipsów u MM-brokera lub na egzotykach. Wartość pipsa podana orientacyjnie dla majors z USD kwotowanym; dla innych instrumentów użyj kalkulatora brokera z aktualnymi kursami.

Kalkulator operacyjny, nie porada inwestycyjna. Jest świadomie uproszczony i najbardziej dokładny dla par majors z USD jako walutą kwotowaną. Dla innych instrumentów (egzotyki, krzyżówki bez USD, złoto, indeksy, krypto) wartość pipsa na lot zależy od kursu i specyfikacji kontraktu — sprawdź w kalkulatorze brokera lub u MyFxBook z aktualnymi danymi rynkowymi.

Disclaimer regulacyjny. Artykuł ma charakter edukacyjny i nie stanowi porady inwestycyjnej, rekomendacji nabycia lub zbycia instrumentów finansowych ani oferty świadczenia usług maklerskich. Handel kontraktami na różnice kursowe (CFD), walutami i pochodnymi wiąże się z wysokim ryzykiem i może skutkować utratą całości zainwestowanego kapitału oraz zobowiązaniami przekraczającymi depozyt. Raporty regulatorów (ESMA, krajowe organy nadzoru) konsekwentnie pokazują, że znaczna większość rachunków detalicznych CFD kończy okres rozliczeniowy na stracie. Narzędzia automatyzacji (screenery, EA, algorytmy) zwiększają tempo egzekucji — i równolegle tempo strat, jeśli są nieprzemyślane. Przed użyciem automatu na żywym rachunku oceń swoje doświadczenie, zrozumienie ryzyka i sytuację finansową; w razie wątpliwości skonsultuj się z licencjonowanym doradcą inwestycyjnym.

FAQ — Automatyzacja i screening w AT

Czy potrzebuję umieć programować, żeby korzystać ze screeningu?

Nie. Wbudowane screenery TradingView i dashboardy MT4/MT5 działają na zasadzie „klikasz filtry, ustawiasz progi, dostajesz listę". Pine Script i MQL dodają możliwości (własne warunki, złożone alerty), ale podstawowy screening nie wymaga pisania kodu.

Czy warto kupić gotowy Expert Advisor (EA)?

Z dużą ostrożnością. Rynek gotowych EA jest pełen produktów overfitted — piękny backtest, katastrofa na żywo. Jeśli rozważasz zakup: szukaj forward testu na Myfxbook z potwierdzoną historią, sprawdź niezależne recenzje i upewnij się, że rozumiesz logikę systemu. EA, którego nie rozumiesz, to czarna skrzynka.

Ile alertów powinienem mieć ustawionych jednocześnie?

Zależy od stylu, ale 5–15 alertów jednocześnie to rozsądny zakres dla swing tradera. Zbyt mało — możesz przegapić okazję. Zbyt dużo — dostajesz powiadomienia co godzinę i zaczynasz je ignorować (i to jest gorsze niż brak alertów, bo daje fałszywe poczucie, że „monitorujesz rynek"). Ustawiaj alerty na parach z watchlisty, nie na całym rynku.

Jak wiarygodny jest backtest na Forex?

Backtest daje ci dolną granicę problemów — na żywo będzie gorzej (slippage, rozszerzające się spready, psychologia). Wiarygodność zależy mocno od jakości danych: test na danych tickowych z uwzględnieniem zmiennego spreadu jest dużo bardziej miarodajny niż test na danych OHLC H1 ze stałym spreadem. Traktuj backtest jako test logiki, nie prognozę zysków. Wyniki forward testu (demo, 3–6 miesięcy) są zawsze bardziej miarodajne niż sam backtest.

TradingView czy MT4/MT5 do screeningu?

TradingView i MT nie konkurują o to samo. TradingView jest wygodniejszy do filtrowania i alertów (screener w chmurze, alerty push bez konieczności trzymania platformy otwartej, Pine Script). MT4/MT5 wciąż dominuje do egzekucji zleceń u wielu brokerów. Przestań szukać jednej platformy do wszystkiego — wielu traderów ma analiza + alerty w TradingView, a egzekucja w MT4/MT5, i to jest OK.

Czy Python jest lepszy do backtestingu niż Pine Script?

Python (backtrader, vectorbt, pandas) daje większą elastyczność: dowolne dane, pełna kontrola, zaawansowana analiza statystyczna. Pine Script jest prostszy i wystarczy dla większości strategii opartych na wskaźnikach. Jeśli umiesz programować — masz więcej możliwości. Jeśli nie — Pine Script pokryje większość potrzeb.

Czy muszę odpalać screener codziennie?

Nie — jeśli jesteś swing traderem na D1, wystarczy rano w poniedziałek (pełny scan) i szybkie sprawdzenie w środę lub czwartek (czy coś nowego wpadło na radar). Resztę robi za ciebie system alertów ustawionych w poniedziałek. Codzienne odpalanie screenera ma sens przy krótszych interwałach (H4, H1), ale na D1 rynek nie zmienia się na tyle szybko, żeby trzeba było skanować go każdego dnia od nowa.

Źródła

Źródła główne

  1. Robert Pardo, The Evaluation and Optimization of Trading Strategies, 2nd ed., Wiley, 2008 — metodologia backtestingu, walk-forward analysis, rozpoznawanie overfittingu; kluczowa praca w kontekście walidacji strategii automatycznych.
  2. Ernest P. Chan, Quantitative Trading: How to Build Your Own Algorithmic Trading Business, 2nd ed., Wiley, 2021 — praktyczny przewodnik po budowaniu strategii ilościowych: od screeningu po egzekucję algorytmiczną.
  3. Perry J. Kaufman, Trading Systems and Methods, 6th ed., Wiley, 2020 — encyklopedyczne omówienie systemów transakcyjnych: filtry trendowe, screening, testowanie i optymalizacja strategii.
  4. Andreas F. Clenow, Following the Trend, Wiley, 2013 — systematyczne podejście do tradingu trendowego: screening instrumentów, backtesting portfela, zarządzanie pozycją; praktyczne aspekty automatyzacji.

Lektury uzupełniające

  1. David Aronson, Evidence-Based Technical Analysis, Wiley, 2007 — statystyczna walidacja metod AT: data mining bias, testy istotności, problem wielokrotnych porównań (data snooping); kluczowa lektura dla każdego, kto testuje strategie.
  2. Marcos Lopez de Prado, Advances in Financial Machine Learning, Wiley, 2018 — rozdz. 8–11: cross-validation w finansach, feature importance, pułapki backtestingu na danych finansowych.
  3. Alexander Elder, The New Trading for a Living, Wiley, 2014 — sekcja o automatyzacji: alerty, screenery, rola technologii w procesie decyzyjnym tradera dyskrecjonalnego.
  4. Kathy Lien, Day Trading and Swing Trading the Currency Market, 3rd ed., Wiley, 2016 — praktyczne aspekty screeningu par walutowych i organizacji workflow na Forex.
  5. Lukas Menkhoff, Mark P. Taylor, „The Obstinate Passion of Foreign Exchange Professionals: Technical Analysis", Journal of Economic Literature, Vol. 45, No. 4, 2007 — przegląd stosowania AT na Forex; kontekst dla dyskusji o roli automatyzacji wśród profesjonalnych traderów walutowych.
  6. Andrew W. Lo, Adaptive Markets: Financial Evolution at the Speed of Thought, Princeton University Press, 2017 — hipoteza rynków adaptacyjnych: dlaczego strategie, które działały w przeszłości, mogą przestać działać; implikacje dla automatyzacji i backtestingu.

Jarosław Wasiński LinkedIn

Redaktor naczelny MyBank.pl • Analityk finansowy i rynkowy

mgr Jarosław Wasiński — niezależny analityk i praktyk z ponad 20-letnim doświadczeniem w sektorze finansowym. Twórca i redaktor naczelny portalu MyBank.pl, dostarczającego rzetelną wiedzę o finansach osobistych, bankowości i inwestycjach od 2004 roku.

  • Bankowość i produkty finansowe: porównania kont osobistych i firmowych, analiza taryf opłat, testy aplikacji mobilnych, recenzje kredytów, lokat i kart kredytowych — z naciskiem na realne koszty i ukryte opłaty.
  • Rynki finansowe i makroekonomia: analiza fundamentalna rynków walutowych (Forex) i makroekonomicznych od 2007 roku, zarządzanie ryzykiem kapitału, struktura rynków OTC.
  • Kryptowaluty: analiza rynku kryptowalut, mechanizmów blockchain i tokenizacji aktywów w kontekście portfela inwestycyjnego.

Autor setek komentarzy rynkowych, analiz porównawczych produktów bankowych i materiałów edukacyjnych. Zwolennik transparentności — każdy ranking i recenzja na MyBank.pl opiera się na jawnej metodologii i zweryfikowanych źródłach (taryfy banków, regulaminy promocji, dane NBP).

Treści mają charakter edukacyjny i informacyjny — nie stanowią porady inwestycyjnej, rekomendacji ani oferty. Decyzje finansowe podejmuj na podstawie własnej analizy i konsultacji z doradcą.