SMA, EMA, WMA i HMA przetwarzają dane cenowe według różnych reguł. Ta sama liczba okresów nie oznacza identycznych wag, zakresu pamięci ani reakcji na zmianę ceny. Zanim porównasz wygląd linii, ustal ich wzory i ustawienia. Poniższy przewodnik pokazuje pełny rachunek WMA i HMA oraz granice wniosków, które można wyciągać z odczytu.

Jedno wejście, cztery różne obliczenia

Przyjmijmy zwykłe świece i ceny zamknięcia oznaczone P[t]. Indeks t wskazuje bieżącą, już zamkniętą świecę, a t−1 poprzednią. Wszystkie okna są skierowane wstecz: obejmują dane znane w chwili obliczenia. Nie przesuwamy wartości na wcześniejsze świece ani nie używamy przyszłych notowań do wygładzania historii.

Cztery konstrukcje na tej samej serii cen P
RodzinaCo obliczaCo trzeba ustalić
SMA(n)Sumę n ostatnich cen podzieloną przez nPełne okno i źródło ceny
EMA(n)EMA[t] = αP[t] + (1 − α)EMA[t−1]; α = 2/(n+1)Wartość startową i długość historii
WMA(n)Ważoną sumę n cen; najstarsza waga 1, najnowsza nKierunek wag; dzielnik n(n+1)/2
HMA(n)WMA z szeregu Q = 2WMA(n/2) − WMA(n)Całkowite długości n/2 oraz √n; pełne okna

SMA i WMA mają skończone okna cen. EMA przenosi wcześniejsze informacje przez poprzednią wartość wskaźnika, dlatego wymaga określenia inicjalizacji. HMA zawiera dodatkowo odejmowanie jednego wygładzonego szeregu od drugiego. To ważna różnica wobec zwykłej średniej z dodatnimi wagami: wynik HMA może wyjść poza zakres wykorzystanych cen. Wprowadzenie do dwóch pierwszych metod znajdziesz w podstawach SMA i EMA.

WMA: najnowsza cena ma największą wagę

Weźmy cztery kolejne zamknięcia: 100, 100, 100, 110, zapisane od najstarszego. WMA4 = (1×100 + 2×100 + 3×100 + 4×110)/10 = 104. Dzielnik wynosi 1+2+3+4 = 10. Dla tych samych cen SMA4 = 410/4 = 102,50. Różnica wynika z wag, a nie z dodatkowej informacji o przyszłości.

Przy n = 20 najnowsza waga WMA wynosi 20/210 = 2/21, czyli około 9,5238%. Taki sam jest mnożnik α dla EMA20. Pozostałe wagi i pamięć tych konstrukcji są jednak różne. Równa wrażliwość na zmianę jednej najnowszej ceny przy niezmienionej reszcie nie oznacza identycznego przebiegu obu linii. Nie istnieje więc prosta reguła, że WMA zawsze reaguje wolniej niż EMA i szybciej niż SMA na każdą możliwą sekwencję.

HMA: najpierw szereg pośredni, potem wygładzenie

Alan Hull opisuje konstrukcję z trzech WMA: krótsza i dłuższa tworzą Q[t] = 2WMA(n/2)[t] − WMA(n)[t], a następnie Q wygładza się WMA o okresie związanym z √n. Nie wystarczy policzyć pojedynczego Q i nazwać go HMA. Ostatni krok wymaga kolejnych historycznych wartości tego szeregu.

Wybierzmy n = 4: oba dodatkowe okresy wynoszą dokładnie 2. Cały hipotetyczny zestaw cen od świecy 1 do 7 to 100, 100, 100, 100, 110, 110, 110. Zakładamy wyłącznie pełne okna. Pierwsze Q istnieje na świecy 4, a pierwsza HMA4 dopiero na świecy 5, kiedy znamy dwie wartości Q. Nie uzupełniamy brakujących wcześniejszych wartości zerem.

Własne dane: obliczenia HMA4 po zamknięciu każdej świecy
Indeks tCena P[t]WMA2 / WMA4Q[t]HMA4[t]
4100100 / 100100Brak: tylko jedna wartość Q
5110106,6667 / 104109,3333106,2222
6110110 / 107113111,7778
7110110 / 109111111,6667

Na świecy 5 WMA2 = (100 + 2×110)/3 = 320/3. Stąd Q[5] = 2×320/3 − 104 = 328/3. Ostatecznie HMA4[5] = (Q[4] + 2Q[5])/3 = 956/9 ≈ 106,2222. Większą wagę ma nowsze Q[5]. W tabeli zaokrąglono tylko prezentację; kolejne kroki liczymy z pełną precyzją.

Na świecy 6 wynik wynosi 1006/9 ≈ 111,7778, choć żadna wykorzystana cena nie przekroczyła 110. To przekroczenie zakresu wynika z konstrukcji filtra, a nie z odczytania przyszłej ceny. Między świecami 6 i 7 HMA spada z około 111,7778 do 111,6667, podczas gdy cena nadal wynosi 110. Zwrot linii nie jest zatem tym samym zdarzeniem co zwrot kursu.

Dlaczego podniesienie starej ceny może obniżyć HMA

HMA nie musi rosnąć po zwiększeniu każdej z użytych cen. Dla HMA4 z naszego wariantu można rozwinąć oba etapy WMA w jedną ważoną sumę pięciu zamknięć. Otrzymujemy poniższe łączne wagi; to własne algebraiczne rozwinięcie wzoru, bez danych rynkowych.

Skuteczne wagi HMA4, od najnowszego zamknięcia
Cena wejściowaŁączna waga
C(t)28/45
C(t − 1)5/9
C(t − 2)−1/90
C(t − 3)−2/15
C(t − 4)−1/30

Wagi sumują się do 1, ale trzy są ujemne. Jeśli wszystkie pięć cen wynosi 100, HMA4 także wynosi 100. Zwiększmy tylko C(t − 3) do 110: wynik zmienia się o 10 × (−2/15), więc spada do 98⅔. Zwykła SMA5 dla tych samych cen wzrosłaby do 102. To kontrolna zmiana jednego wejścia, bez przypisywania kierunku przyszłym notowaniom.

Suma wag równa 1 zapewnia odtworzenie stałej serii; nie zapewnia pozostania między cenami ani monotoniczności względem każdego wejścia. Ujemne wagi wynikają z odejmowania w Q i kolejnego wygładzenia. Takie rozwinięcie jest użyteczne przy sprawdzaniu kodu: pozwala odróżnić wzrost konkretnej ceny od wpływu, jaki ma ona na aktualny punkt filtra.

Zaokrąglanie zmienia okres, więc może zmienić wynik

Dla n = 11 trzeba rozstrzygnąć, co zrobić z 11/2 = 5,5 i √11 ≈ 3,3166. StockCharts opisuje zaokrąglenie do najbliższej liczby całkowitej: odpowiednio 6 i 3. Własna implementacja obcinająca część ułamkową użyłaby 5 i 3. Byłyby to różne filtry, mimo identycznej etykiety HMA11.

W zapisie autora pojawia się funkcja Integer. Przy przenoszeniu wzoru sprawdź jej znaczenie w używanym programie zamiast zakładać, że każda platforma robi to samo. Nasz model n = 4 celowo usuwa ten problem. Przy dowolnym n ustal też zachowanie dla zbyt małej liczby danych i minimalnego dopuszczalnego okresu. W razie różnicy odczytów porównuj najpierw obie WMA, później Q, a na końcu końcowe wygładzenie.

Okres nie jest jednostką czasu ani gotową strategią

SMA200 na M5 obejmuje 200 pięciominutowych świec: 1000 minut, czyli 16 godzin i 40 minut reprezentowanych przedziałów. Przerwy w notowaniach mogą zwiększyć odstęp kalendarzowy między początkiem a końcem okna. SMA200 na D1 obejmuje 200 świec dziennych. Nie należy przypisywać obu liniom tej samej roli tylko dlatego, że mają liczbę 200.

Porównanie ceny z linią, nachylenie linii oraz przecięcie dwóch średnich to trzy różne warunki. Żaden sam nie dowodzi trwałej zmiany trendu ani nie gwarantuje odbicia od średniej. Nie zakładaj też, że dołożenie kilku średnich oznacza kilka niezależnych potwierdzeń: nadal przetwarzają one tę samą serię cen.

W specyfikacji badania zapisz instrument, źródło ceny, interwał, rodzaj średniej, okresy, inicjalizację, zaokrąglenia oraz moment decyzji. Jeśli warunek wykorzystuje zamknięcie świecy, nie przypisuj mu transakcji wcześniejszej wewnątrz tej świecy. Wyniki oceniaj dopiero po dodaniu zasad wykonania, wyjścia i kosztów. Szybsza reakcja wskaźnika sama nie jest przewagą finansową; hipotezę trzeba sprawdzić w backteście z ustalonymi regułami.

Sprawdź, czy rozumiesz

Jedno krótkie ćwiczenie

Dopisz do przykładu świecę 8 z ceną 110. Oblicz WMA2[8], WMA4[8], Q[8] i HMA4[8], wiedząc że Q[7] = 111.

Sprawdź odpowiedź

Obie WMA wynoszą 110, ponieważ ich okna zawierają już same ceny 110. Q[8] = 2×110 − 110 = 110. HMA4[8] = (111 + 2×110)/3 = 331/3 ≈ 110,3333. HMA nadal leży powyżej ceny 110, ale obniża się przy niezmienionej cenie.

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