Momentum trading opiera decyzje na wcześniejszym ruchu cen. Aby zamienić ten pomysł w strategię, trzeba określić okres pomiaru, moment wejścia, wyjście, wielkość pozycji i koszty. Dodatni wskaźnik sam w sobie nie dowodzi przewagi. Poniżej znajdziesz prosty prototyp do sprawdzenia, bez obietnicy zyskowności i bez dopisywania udanych transakcji do historii rynku.
Trzy znaczenia słowa momentum
Wskaźnik opisuje zmianę ceny w wybranym okresie. Strategia nadaje temu pomiarowi konkretne reguły działania. Wynik badania dotyczy określonych instrumentów, danych i sposobu budowy portfela. Tych trzech rzeczy nie można stosować zamiennie.
W momentum szeregu czasowego porównujesz instrument z jego własną przeszłością. W momentum przekrojowym porównujesz względne wyniki różnych instrumentów. Moskowitz, Ooi i Pedersen w pracy z 2012 roku badali pierwszy mechanizm na kontraktach futures i forward, również walutowych. Ich autorskie streszczenie badania rozróżnia oba podejścia. Nie jest to test poniższego systemu ani dowód skuteczności ROC na detalicznym CFD.
Breakout i trend following mogą wykorzystywać momentum. Nie mają obowiązkowych, rozłącznych terminów wejścia ani horyzontów typu „wybicie na tydzień, momentum na miesiąc”. Definicję własnej strategii zapisz w regułach, nie w nazwie. Dodawanie kolejnych wskaźników nie zastąpi sprawdzenia wyników po kosztach.
ROC i Momentum w MT5 mają różne poziomy odniesienia
Dla dodatnich cen zamknięcia przyjmujemy ROC(n) = (C[t] / C[t−n] − 1) × 100%. C[t] oznacza zamknięcie badanej świecy, a C[t−n] zamknięcie sprzed n świec. Fidelity podaje równoważny wzór. Dodatni wynik mówi, że obecna cena przewyższa cenę bazową; nie dowodzi nieprzerwanego wzrostu między tymi punktami.
Wbudowany Momentum w MT5 liczy C[t] / C[t−n] × 100. Przy tych samych danych i okresie ROC +2% odpowiada więc Momentum 102, nie 2. Sprawdź wzór platformy przed przeniesieniem progu ze strategii. Okres 14 na D1 oznacza 14 świec dziennych, nie dwa tygodnie kalendarzowe.
Zmienia się również mianownik. Przy niezmienionej cenie 1,1200 porównanie z 1,1000 daje ROC około +1,8182%, a z 1,1100 około +0,9009%. Spadek wskaźnika nie wymaga zatem spadku bieżącej ceny. ROC bliski zeru oznacza podobieństwo dwóch zamknięć; między nimi mógł wystąpić duży ruch w obie strony. Nie nazywaj automatycznie takiego odczytu konsolidacją.
Prosty prototyp badawczy, który można odtworzyć
Wybieramy wyłącznie długie pozycje EUR/USD, świece D1 z jednego źródła Bid i stałą strefą serwera. Liczymy ROC(20) po zamknięciu świecy. To umowna specyfikacja do nauki testowania, nie zalecany okres ani pełny system inwestycyjny. Reguły dla pozycji krótkich wymagałyby osobnej definicji.
- Sygnał: przy braku pozycji ROC(20) przechodzi z wartości mniejszej lub równej zero na dodatnią. Nie wykorzystujemy niezamkniętej świecy.
- Wejście: pierwsze dostępne wykonanie Ask po zamknięciu świecy sygnałowej, a nie jej historyczny Close. Jedna pozycja, bez dokładania. Sygnały podczas otwartej pozycji pomijamy.
- Stop: minimum Bid z pięciu ostatnich zamkniętych świec, łącznie z sygnałową, minus 0,0002. Poziom pozostaje stały. Jeśli przy próbie wejścia Bid jest już na nim lub niżej, albo zlecenie nie spełnia warunków brokera, sygnał pomijamy.
- Wyjście: wcześniejsze z dwóch zdarzeń: wykonanie stop lossa albo pierwsze dostępne wykonanie Bid po zamknięciu świecy z ROC(20) mniejszym lub równym zero. Bez take profitu i trailing stopu. Po wyjściu czekamy na nowe przecięcie zera.
Wielkość pozycji ustal przed testem i zapisz sposób jej wyznaczania. Poniższe 10 000 EUR służy rachunkowi, nie dopasowaniu ryzyka do konkretnego rachunku. Zmiana odległości stopa przy stałym wolumenie zmienia kwotę planowanej straty. Trzeba sprawdzić także depozyt, minimalny wolumen i możliwość wykonania zlecenia ze stopem.
Przykład od sygnału do wyniku netto
W hipotetycznych danych C[t−20] = 1,1000 i C[t] = 1,1220, zatem ROC = +2%, a Momentum = 102. Poprzedni odczyt, z C[t−1] = 1,1180 i C[t−21] = 1,1200, wynosi około −0,1786%. Przecięcie zera występuje, lecz część zmiany wynika z przesunięcia bazy porównania.
Załóżmy wykonany zakup 10 000 EUR po Ask 1,1224 i minimum pięciu świec 1,1170. Stop wynosi 1,1168, czyli 56 pipsów poniżej wejścia. Rachunek prowadzimy w USD: 1 pip daje 1 USD. W każdym alternatywnym scenariuszu przyjmujemy umownie 4 USD łącznej prowizji i 2 USD kosztu finansowania; inne koszty pomijamy.
| Wykonanie wyjścia Bid | Wynik kursowy USD | Wynik po kosztach USD |
|---|---|---|
| 1,1324 po sygnale wyjścia | +100 | +94 |
| 1,1168 dokładnie na stopie | −56 | −62 |
| 1,1158 przy gorszym wykonaniu stopa | −66 | −72 |
Każdy wynik kursowy to 10 000 × (Bid wyjścia − Ask wejścia). Następnie odejmujemy 6 USD kosztów. Spread i wpływ przyjętych cen wykonania są już w różnicy kursów; nie odejmujemy ich ponownie. Tabela nie pokazuje trzech rzeczywistych transakcji ani wyniku backtestu.
Według dokumentacji MT5 warunek stop lossa długiej pozycji Forex sprawdza się po Bid. Zwykły stop nie gwarantuje ceny realizacji; znaczenie poślizgu wyjaśnia także materiał IG. Planowane 56 USD odległości kursowej nie jest więc nieprzekraczalnym limitem straty.
Czy jednakowy ROC oznacza jednakowe ryzyko pozycji?
Własne dwa fikcyjne zestawy zachowują C[t−20] = 1,1000 i C[t] = 1,1220, więc oba dają ROC +2%. W wariancie A najniższe low z pięciu ostatnich świec to jednak 1,1100, a w B 1,0900. Pozostałe dane mogą mieć dowolną zgodną z tymi warunkami ścieżkę; wskaźnik ROC ich nie wykorzystuje.
| Wariant | SL i odległość | Zmiana wyniku 10 000 EUR do SL |
|---|---|---|
| A: minimum 1,1100 | 1,1098; 126 pipsów | −126 USD |
| B: minimum 1,0900 | 1,0898; 326 pipsów | −326 USD |
Koszty i poślizg pomijamy tylko w tym porównaniu odległości. Przy budżecie 50 USD i kroku 0,01 lota wariant A pozwalałby na 0,03 lota (37,80 USD ruchu do SL), a B na 0,01 lota (32,60 USD). Obliczamy 50/(odległość × 10) i zaokrąglamy w dół.
Ten sam odczyt momentum może więc dopuszczać inne wolumeny i inne wyniki pieniężne przy stałym wolumenie. Raport „wyniki dla ROC +2%” bez reguły stopa, ekspozycji i wykonania pomija część strategii. Żaden z dwóch wariantów nie jest tu testem przewagi.
Jak sprawdzić, czy reguła wnosi coś użytecznego
Najpierw zamroź parametry i zakres danych, następnie oddziel okres opracowania od niewykorzystanej części kontrolnej. Uwzględnij rzeczywiste spready, prowizje, finansowanie, luki i opóźnienie wykonania. Świece D1 nie odtwarzają każdej zmiany Bid i Ask; gdy kolejność zdarzeń jest nieznana, zapisz ograniczenie zamiast wybierać korzystniejszą realizację.
Nie dopisuj automatycznie filtra „rosnący wolumen”. Volumes w MT5 dla Forex opisuje liczbę zmian ceny. Nie jest globalną kwotą obrotu walutami i nie identyfikuje zakupów instytucji. Ewentualny filtr tickowy testuj na zdefiniowanym źródle danych. Rosnąca aktywność nie stanowi samodzielnego potwierdzenia opłacalności.
Raport powinien zawierać wynik po kosztach, obsunięcie, liczbę transakcji i zależność od pojedynczych dużych wygranych. Sprawdź sąsiednie parametry i trudniejsze koszty, zapisując wszystkie próby. Zysk jednej konfiguracji nie usprawiedliwia wybierania jej po obejrzeniu całej historii. Kolejnym krokiem jest test walk-forward, a nie zwiększanie dźwigni na podstawie atrakcyjnego przykładu.
Sprawdź, czy rozumiesz
Jedno krótkie ćwiczenie
W przykładzie kupiono 10 000 EUR po Ask 1,1224. Wyjście wykonano po Bid 1,1264, prowizja wynosi łącznie 4 USD, a finansowanie kosztowało 2 USD. Oblicz wynik kursowy i netto.
Sprawdź odpowiedź
Ruch: (1,1264 − 1,1224) / 0,0001 = 40 pipsów. Wynik kursowy: 10 000 × 0,0040 = 40 USD. Netto: 40 − 4 − 2 = 34 USD. Spread jest już uwzględniony w cenach wykonania.
