Pełna recenzja – TrendPullback ATR Pro
Nazwa bota: UltimateActivationAwareBot – TrendPullback ATR Pro
Główny rynek: US500 (indeks S&P 500 CFD)
Referencyjna dźwignia: 1:500
Styl: Podążanie za trendem z głębokimi cofnięciami oraz zaawansowanym zarządzaniem ryzykiem/pozycją.
Potrzebujesz pomocy przy dostrajaniu tego cBota lub chcesz pomysły na niestandardową optymalizację dla swojego brokera, symbolu lub interwału czasowego?
1. Główna idea
TrendPullback ATR Pro to wielofiltracyjny system trend–cofnięcie zaprojektowany, aby:
- handlować zgodnie ze strukturą trendu (nie przeciwko niemu),
- czekać na znaczące cofnięcia zamiast gonić za impulsowymi świecami,
- dostosowywać się do zmiennej zmienności za pomocą ATR,
- unikać długotrwałych ekstremów za pomocą RSI.
Logika:
- Struktura trendu przez EMA (20/50/200)
-
- Long: cena powyżej EMA200 i EMA20 > EMA50 > EMA200
- Short: cena poniżej EMA200 i EMA20 < EMA50 < EMA200
- Potwierdzenie momentum przez ADX + DI+/DI−
-
- ADX powyżej minimalnego progu (brak płaskich zakresów),
- DI+/DI− zgodne z kierunkiem transakcji.
- Głębokość cofnięcia mierzona w ATR
-
- Cena musi cofnąć się w kierunku EMA20 co najmniej o
PullbackAtrK × ATR. - To filtruje małe, szumne spadki.
- Cena musi cofnąć się w kierunku EMA20 co najmniej o
- RSI jako filtr „zdrowotny”
-
- Unika wejść przy ekstremalnym wykupieniu/wyprzedaniu bez normalizacji.
- Wyzwalacz wejścia
-
- albo przebicie powyżej/poniżej EMA20,
- albo wybicie/przebicie poprzedniego słupka.
🔎 Ważna uwaga:
Optymalizacja i walidacja zostały przeprowadzone głównie na US500 z dźwignią 1:500.
Uzyskanie solidnych wyników na indeksie giełdowym takim jak US500 jest znacznie trudniejsze niż na złocie (XAUUSD), które jest zwykle łatwiejsze do optymalizacji i bardziej podatne na przeuczenie.
Ten bot został więc dostrojony z indeksami jako głównym polem testowym, a nie tylko w środowisku „tylko złoto”.
2. Praktyczne zastosowanie i przebieg pracy
Krok 1 – Zawsze zaczynaj na demo
- Zacznij od US500 M30 lub H1.
- Używaj RiskPerc ≈ 0,25–0,50% na transakcję.
- Celuj w co najmniej 3–6 miesięcy danych historycznych w backtestach, a następnie testuj na demo na żywo.
Krok 2 – Optymalizuj w blokach
Nie zmieniaj wszystkiego naraz. Pracuj warstwami:
- Filtry reżimu i trendu (EMA, ADX, percentyl ATR)
Upewnij się, że bot unika oczywistych bocznych ruchów. - Logika wejścia (cofnięcie + wyzwalacz)
Sprawdź, czy wejścia następują po prawdziwych cofnięciach, a nie losowo. - Zarządzanie transakcją (SL/TP, częściowe, BE, trailing, tryb agresywny)
Skup się na wielokrotnościach R i profilu obsunięcia kapitału, nie tylko na zysku netto.
Krok 3 – US500 vs złoto vs inne aktywa
- Dla US500 typowe zakresy startowe (do przetestowania):
-
- AtrSLmult: 1,8–2,5
- AtrTPmult: 2,5–3,5
- PullbackAtrK: 0,20–0,35
- RiskPerc: 0,25–0,5
- Dla złota (XAUUSD):
-
- zasada działania jest zasadniczo taka sama,
- ale ATR i skale pipsów są bardzo różne.
→ zawsze wykonuj oddzielną optymalizację dla każdego instrumentu.
Krok 4 – Tryb agresywny
- AggressiveMode = true:
-
- wyłącza częściowe TP,
- aktywuje trailing dopiero po
TrailStartR × R.
- Dobry dla:
-
- maksymalizacji zyskownych pozycji,
- traderów komfortowo czujących się ze zmiennością kapitału.
- Nie zalecany jeśli:
-
- nie lubisz obsunięć kapitału,
- już stosujesz wysoką dźwignię/wysokie ryzyko na transakcję.
3. Rozbicie parametrów z wskazówkami dotyczącymi użycia
3.1. Podstawowe, dni i sesja
- Label
Etykieta grupy dla wszystkich pozycji tego bota; przydatna, jeśli używasz wielu systemów na tym samym symbolu. - SignalTF
Interwał czasowy generujący sygnały i wskaźniki.
Zalecane: M30 lub H1 na US500. - AllowLong / AllowShort
Możesz wyłączyć jedną stronę, jeśli testy pokażą silną asymetrię (np. tylko long na indeksach). - OneTradePerBar
True = czystsze zachowanie, unika wielu nałożonych wejść na jednym słupku. - Filtry dni i sesji
-
- Włącz tylko dni, które chcesz (pon–pt).
- Start/koniec sesji = okno czasowe w ciągu dnia (czas serwera).
- Przydatne, aby unikać okresów niskiej płynności lub nocnych.
- MaxSpreadPips
Bardziej istotne dla FX; nadal bezpieczne, aby mieć limit maksymalnego spreadu dla indeksów.
3.2. Wolumen / zarządzanie ryzykiem
- UseRiskPositionSizing = true
Zalecane: bot używa SL w pipsach i salda konta do obliczania wielkości pozycji. - RiskPerc
-
- Konserwatywny: 0,25%
- Standardowy: 0,50%
Przekroczenie 1% przy dźwigni 1:500 może być bardzo agresywne.
- FixedVolumeUnits
Używane tylko jeśliUseRiskPositionSizing = false.
Dobre do szybkich testów, ale mniej stabilne długoterminowo niż sizing oparty na ryzyku.
3.3. SL/TP: oparte na ATR vs stałe pipsy
- UseAtrStops = true
ATR SL/TP dostosowują się do zmienności; te same ustawienia działają w różnych reżimach zmienności. - AtrSLmult / AtrTPmult
-
- 2×ATR SL to klasyczny poziom „daj trochę miejsca, ale nie absurdalny”.
- 3×ATR TP daje ~1,5R jeśli używasz czystego SL/TP.
Połącz z częściowymi zamknięciami i trailingiem dla większej finezji.
- UsePipsStops
Jeśli włączone, SL/TP oparte na pipsach zastępują ATR.
Używaj tylko jeśli znasz wartość pipsa i chcesz stałe numeryczne stopy. - SlLongPips / TpLongPips – specyficzne dla longów
- SlShortPips / TpShortPips – specyficzne dla shortów
To rozdzielenie jest świetne, jeśli twoje testy pokazują asymetrię (np. indeksy często zachowują się inaczej przy panicznych shortach vs powolnych longach).
3.4. ATR trailing stop (long vs short)
- UseAtrTrailLong / AtrTrailLongMult
- UseAtrTrailShort / AtrTrailShortMult
Możesz:
- włączyć trailing ATR tylko dla longów lub tylko dla shortów,
- użyć różnych mnożników: np. ciaśniejszy trailing na shortach, jeśli mają tendencję do szybkiego odwracania.
Logika mnożnika:
- 1,0–1,5 → ciasny trailing; szybko chroni, ale wcześnie ucina zyski.
- 2,0–3,0 → luźny trailing; pozwala transakcjom oddychać, ale toleruje głębsze cofnięcia.
W Trybie Agresywnym trailing zaczyna się dopiero, gdy zysk przekroczy TrailStartR × R.
3.5. Częściowe TP i wyjście czasowe
- PartialAtR
Ile R zysku przed częściowym zamknięciem.
1,0 to popularny wybór: zabezpiecz część zysku przy 1R, resztę pozwól biec. - PartialPercent
30–60% to zazwyczaj dobry zakres. 50% to prosty domyślny wybór. - MaxBarsInTrade
Maksymalna liczba słupków sygnałowych, przez które transakcja pozostaje otwarta. -
- 0 = wyłączone.
- Dla M30, 50 słupków ≈ kilka dni; można użyć jako „limit czasu”, aby transakcje nie trwały w nieskończoność.
3.6. Break-even dla każdej strony (long / short)
- UseBreakEven, UseBreakEvenLong, UseBreakEvenShort
Główne i per-strona przełączniki logiki BE. - BeLongTriggerPips / BeShortTriggerPips
Zysk (w pipsach) wymagany przed przesunięciem SL do BE. -
- Zbyt niski → będziesz ciągle zatrzymywany na BE.
- Zbyt wysoki → BE ma małą wartość psychologiczną.
- BeLongOffsetPips / BeShortOffsetPips
Mały dodatni offset pomaga pokryć spread + prowizje (np. 1–2 pipsy).
3.7. Tryb agresywny
- AggressiveMode
-
- wyłącza częściowe TP,
- aktywuje trailing dopiero po
TrailStartR × R.
- TrailStartR
Przykład: 1,5 lub 2,0
Trailing SL zacznie podążać za ceną dopiero, gdy transakcja osiągnie 1,5R/2R zysku.
Używaj tego trybu w bardziej kierunkowych, przekonujących środowiskach lub przy niższym bazowym ryzyku na transakcję.
3.8. Filtry reżimu
- UseEmaTrend, EmaFastPeriod, EmaMidPeriod, EmaSlowPeriod
Stos EMA definiuje reżim trendu. Wyłączenie tego sprawia, że system jest bardziej „zawsze włączony” i ogólnie bardziej hałaśliwy. - UseAdx, AdxPeriod, AdxMin
ADX filtruje fazy niskiego trendu.
Typowy ADXMin: 18–20+. - UseRsi, RsiPeriod, RsiOB, RsiOS
RSI zapobiega wejściom, gdy ruch jest już na ekstremalnych poziomach.
Bot sprawdza także nachylenie RSI (poprawa względem poprzedniego słupka). - PullbackAtrK
Minimalna głębokość cofnięcia względem EMA20 w jednostkach ATR.
Wyższe wartości → mniej, ale głębszych cofnięć.
3.9. Filtry zmienności i po wyciśnięciu
- UseAtrPct, AtrPctLookback, AtrPctMin
Użyj tego, aby handlować tylko wtedy, gdy aktualny ATR jest powyżej określonego percentyla z ostatniej historii.
Przykład: AtrPctMin = 0,6 → ignoruj dolne 40% cichej zmienności. - UsePostSqueeze, BbPeriod, SqueezePct, ExpansionPct
Klasyczna logika „ściskania Bollinger Bands, a potem ekspansji”: -
- najpierw kompresja zmienności (ściskanie),
- następnie ekspansja, po której bot może handlować.
3 .10 . Telemetria
- WriteCsv, CsvPath
Jeśli prawda, bot zapisuje status do CSV (kapitał, dzienny PnL, kolejne straty itp.).
Idealne do analizy zewnętrznej w Excelu/Pythonie, szczególnie w połączeniu z Rolling Start Analysis do testowania odporności na różne daty startowe.
5 | 100 % | |
4 | 0 % | |
3 | 0 % | |
2 | 0 % | |
1 | 0 % |