Ustawienie „MACD 12–26–9” nie określa jeszcze całego obliczenia. Potrzebne są także rodzaj średnich, źródło ceny, historia początkowa i definicja słupków. Dwa wykresy mogą wyglądać podobnie, a pokazywać różne wielkości. Ten tekst wyjaśnia mechanikę; praktyczny odczyt relacji między liniami znajdziesz w osobnej lekcji MACD.

Wzory i znaczenie parametrów

W naszym wariancie używamy zamknięć C oraz średnich wykładniczych. Dla okresu N przyjmujemy α = 2/(N + 1), a aktualizacja ma postać EMAt = EMAt−1 + α × (Ct − EMAt−1). Współczynniki wynoszą odpowiednio 2/13 dla EMA12, 2/27 dla EMA26 i 2/10 dla EMA9.

Linia główna M to EMA12(C) − EMA26(C). Sygnał S w tym wariancie jest EMA9(M), czyli średnią wartości wskaźnika, a nie kolejną średnią samej ceny. Histogram różnicy definiujemy jako H = M − S. To trzy powiązane obliczenia, nie trzy niezależne dowody dotyczące rynku.

Liczby 12, 26 i 9 oznaczają okresy danych wejściowych. Na H1 chodzi o kolejne świece godzinowe, na D1 o dzienne. Nie oznaczają uniwersalnej liczby dni kalendarzowych ani stałego opóźnienia. Te same parametry nie gwarantują tych samych zdarzeń przy zmianie sesji, interwału lub sposobu agregowania notowań.

Pełny przykład jednej aktualizacji

To dane hipotetyczne, nie zapis rynku. Zakładamy stałą wcześniejszą cenę 1,10000 i ustalony stan początkowy: obie EMA ceny równe 1,10000, M = 0 oraz S = 0. Pierwsze nowe zamknięcie t1 wynosi 1,10351. Następne, t2, ma dokładnie tę samą wartość. Dla EUR/USD przyjmujemy 1 pip = 0,0001.

Różnica ceny t1 od początkowej EMA to 0,00351. EMA12 zwiększa się o 0,00351 × 2/13 = 0,00054, a EMA26 o 0,00351 × 2/27 = 0,00026. Otrzymujemy M = 0,00028. Sygnał rośnie z zera do 0,2 × 0,00028 = 0,000056, więc H = 0,000224. To odpowiednio 2,8; 0,56 i 2,24 pipsa dla M, S i H.

Własny model EUR/USD: dwa zamknięcia po 1,10351; wartości w jednostkach kursu
WielkośćPo t1Po t2
EMA121,1005400001,100996923
EMA261,1002600001,100500741
M = EMA12 − EMA260,0002800000,000496182
S = EMA9(M)0,0000560000,000144036
H = M − S0,0002240000,000352146

Wiersz t2 obliczamy z niezaokrąglonych stanów t1. Tabela pokazuje dziewięć miejsc po przecinku dla czytelności; platforma może wyświetlać mniej. Nie zaokrąglaj każdej aktualizacji EMA do precyzji wyświetlanej ceny, jeśli chcesz porównywać implementacje.

Między t1 i t2 cena się nie zmieniła, a histogram wzrósł z 0,000224 do około 0,000352146. Same średnie nadal dostosowują się do wcześniejszego skoku. Nie wolno zatem tłumaczyć każdego wzrostu H jako dosłownego przyspieszenia ceny. Druga różnica ceny w t2 to 1,10351 − 2 × 1,10351 + 1,10000 = −0,00351; nie jest równa dodatniemu H. Histogram jest różnicą filtrowanych szeregów, nie dosłowną drugą pochodną notowania.

Dlaczego MetaTrader może pokazać inne słupki

Dokumentacja standardowego MACD w MetaTrader 5 określa sygnał jako SMA9(M). Dokumentacja iMACD pokazuje linię główną w postaci histogramu. Nie należy utożsamiać tych słupków z H = M − S. TradingView udostępnia osobne ustawienia rodzaju średniej oscylatora i rodzaju średniej sygnału; do naszego wariantu trzeba wybrać EMA dla obu.

Najpierw określ wariant, potem porównuj wartości
ElementWariant EMA 12–26–9 w przykładzieStandardowy MACD opisany przez MT5
Linia główna MEMA12 − EMA26EMA12 − EMA26
Linia sygnału SEMA9 wartości MSMA9 wartości M
SłupkiRóżnica H = M − SSama linia M
Zero słupkówM = SEMA12 = EMA26

W t1 naszego modelu osiem wcześniejszych wartości M wynosi zero. Sygnał SMA9 jest więc równy 0,00028/9 ≈ 0,000031111, a nie 0,000056. Odległość M od tego sygnału wynosi około 0,000248889. Standardowe słupki MACD w MT5 pokazują jednak w tym punkcie M = 0,00028. Różnica wyglądu wynika z definicji; nie świadczy sama w sobie o błędzie danych.

Początek historii też jest parametrem

Rekurencja EMA wymaga wartości startowej. Opis obliczania średniej w TradingView pokazuje inicjalizację przez SMA; w ręcznym eksperymencie można jawnie przyjąć inny stan. Nie zakładaj, że wszystkie biblioteki zaczynają identycznie. Przed porównaniem sprawdź zarówno inicjalizację EMA ceny, jak i moment rozpoczęcia liczenia sygnału.

Wpływ różnicy wartości początkowych można policzyć bez prognozowania rynku. Dwie EMA o tym samym α i później identycznych cenach mają po k aktualizacjach różnicę Δk = (1 − α)k × Δ0. Dla EMA26 początkowa różnica 10 pipsów po 26 aktualizacjach maleje do 10 × (25/27)26 ≈ 1,3520 pipsa. Nie znika automatycznie po jednym „okresie 26”.

To ilustracja wpływu startu, nie reguła, że każda implementacja wymaga określonej liczby świec rozgrzewki. Ustal tolerancję porównania i sprawdź stabilność na dłuższej historii. Brakujących wartości nie zamieniaj bez uzasadnienia na zera: w naszym przykładzie zera wynikają z jawnie stałego wcześniejszego kursu.

Rosnąca cena przy histogramie równym zero

MACD może mieć stałą dodatnią linię główną i zerowy histogram przy cenie rosnącej w każdym kroku. W kontrolnym modelu przyjmijmy C(t) = 100 + t, czyli wzrost o jedną jednostkę na świecę. Dla standardowej EMA o okresie N ustalony stan dla takiego szeregu ma postać EMAN(t) = C(t) − (N − 1)/2. Podstawienie do rekurencji z α = 2/(N + 1) potwierdza tę równość.

Przy t = 0 jawnie ustawiamy EMA12 = 94,5 i EMA26 = 87,5; sygnał EMA9 zaczyna od 7. To sztuczne stany startowe do sprawdzenia wzoru, nie inicjalizacja domyślna platformy.

Własny liniowy model z jawnie ustalonym stanem początkowym
Indeks tCenaEMA12EMA26M / S / H
010094,587,57 / 7 / 0
110195,588,57 / 7 / 0
10110104,597,57 / 7 / 0

Różnica średnich wynosi stale 12,5 − 5,5 = 7, sygnał również 7, więc H = 0. Cena mimo to rośnie o dziesięć jednostek między pierwszym i ostatnim wierszem. Zerowy histogram oznacza tutaj równość M i S, a nie ustanie ruchu kursu. Przy innych stanach początkowych pojawią się przejściowe odchylenia. Ten rachunek opisuje zachowanie filtrów na zadanym szeregu; nie prognozuje trwałości rzeczywistego trendu.

Kontrola zgodności przed testem strategii

Porównuj najpierw te same zamknięcia, potem obie EMA, następnie M i dopiero S oraz słupki. Zapisz strefę czasową, sesje, rodzaj ceny, parametry, start historii i regułę zaokrąglania. Dzięki temu łatwiej wskazać pierwszy etap rozbieżności, zamiast dopasowywać cały wykres na oko.

Oceniaj zdarzenia na danych dostępnych w danej chwili. Wartości bieżącej, niezamkniętej świecy mogą się zmieniać. Sam odczyt M = 0 oznacza równość średnich, a nie koniecznie przecięcie: wcześniejsza seria może także pozostawać na zerze. Definicję przecięcia, w tym obsługę równości, zapisz przed badaniem.

Poprawne odtworzenie wskaźnika potwierdza rachunek, nie opłacalność transakcji. Parametry i filtry oceniaj oddzielnie z kosztami oraz chronologią zleceń. Kolejny krok opisuje przewodnik po backteście.

Sprawdź, czy rozumiesz

Jedno krótkie ćwiczenie

W t1 modelu M wynosi 0,00028, poprzedni sygnał EMA9 wynosi zero, a osiem wcześniejszych wartości M to zera. Policz sygnał EMA9, sygnał SMA9 oraz histogram H=M−S dla obu wariantów. Co pokażą standardowe słupki MACD w MT5?

Sprawdź odpowiedź

EMA9: S=0,2×0,00028=0,000056, H=0,000224. SMA9: S=0,00028/9≈0,000031111, H≈0,000248889. Standardowe słupki MACD w MT5 pokazują M=0,00028, nie żadną z tych dwóch różnic.

Następny temat: Backtest strategii: reguły, dane, koszty i ocena →