Na jednym wykresie linia %K może pokazywać surowe położenie zamknięcia, na innym jego średnią. Zanim porównasz odczyty stochastic, ustal kolejność obliczeń. Te same nazwy linii nie zapewniają identycznego wyniku, a odczyt 80 nie jest prawdopodobieństwem spadku ani miarą fundamentalnej wyceny.

Trzy etapy obliczeń

Oznaczmy surowy wynik przez R, aby nie mylić go z linią %K po wygładzeniu. Dla bieżącej zamkniętej świecy bierzemy jej cenę C oraz najwyższe High i najniższe Low z ostatnich N świec, łącznie z bieżącą. Przy dodatnim zakresie R = 100 × (C − najniższe Low) / (najwyższe High − najniższe Low). Minima i maksima pochodzą z całego okna, nie tylko z cen zamknięcia.

Dalej w naszym modelu K = SMA(R, s), a D = SMA(K, d). SMA oznacza zwykłą średnią arytmetyczną z podanej liczby ostatnich wartości. Każdy etap liczymy dopiero po zebraniu pełnego okna; nie uzupełniamy brakujących danych zerami. Wygładzanie dotyczy wyników oscylatora, a nie zastąpienia cen wejściowych średnią.

Dokumentacja TradingView STOCH pokazuje oddzielne parametry okresu zakresu, wygładzenia K i średniej D. Kolejność pól w interfejsie trzeba odczytać z ich nazw. Sam zapis trzech liczb bez wskazania platformy i sposobu uśredniania jest niepełną specyfikacją.

Fast, slow i full: najpierw sprawdź formułę

Konwencja SMA opisana w ChartSchool — symbole N, s i d
WariantLinia KLinia D
FastSurowy wynik R, bez dodatkowego wygładzeniaSMA z K, zwykle 3 okresy
SlowSMA z R o długości 3SMA z wygładzonego K, zwykle 3
FullSMA z R o wybranej długości sSMA z K o wybranej długości d

To porównanie nazewnictwa StockCharts, nie gwarancja identycznej implementacji każdego programu. Full z s = 1 pomija pierwsze wygładzenie; z s = 3 i d = 3 odpowiada tu slow. Fast D i slow K są równe, gdy korzystają z tego samego R oraz średniej trzyokresowej.

Nie istnieje wynikające z tych wzorów przypisanie fast do M5, a slow do H4. Wybór parametrów zmienia przetwarzanie danych. Nie dowodzi, że wybrany wariant zarabia na danym interwale ani że kolejne wygładzenie usuwa określoną liczbę fałszywych sygnałów.

Pełny przykład od danych do obu linii

Poniższa autorska seria jest hipotetyczna, w umownych jednostkach ceny. Przyjmujemy N = 3, s = 2 i d = 2, wyłącznie do nauki rachunku. Wszystkie świece są zamknięte; nie pokazujemy rzeczywistego instrumentu ani skuteczności strategii. Dla kontroli podajemy także Open, chociaż ten wariant wzoru go nie używa.

Siedem hipotetycznych świec — pełne dane OHLC
ŚwiecaOpenHighLowClose
110012080100
210011090100
310011090104
410411090104
510411090108
61081109092
79211090100
N = 3, s = 2, d = 2; kreska oznacza brak pełnego okna
ŚwiecaMin / max oknaSurowe RK = SMA₂(R)D = SMA₂(K)
380 / 12060——
490 / 1107065—
590 / 110908072,5
690 / 110105065
790 / 110503040

Na świecy 3 otrzymujemy 100 × (104 − 80) / (120 − 80) = 60. Na świecy 4 stare ekstrema świecy 1 wypadają z okna, więc 100 × (104 − 90) / (110 − 90) = 70. Zamknięcie nadal wynosi 104. Wzrost surowego wyniku o 10 punktów wynika tutaj ze zmiany odniesienia, a nie wzrostu ceny zamknięcia.

Pierwsze K po wygładzeniu to (60 + 70) / 2 = 65 na świecy 4. Na świecy 5 K = (70 + 90) / 2 = 80, a pierwsze D = (65 + 80) / 2 = 72,5. Na świecy 7 surowe R wynosi 50, K = (10 + 50) / 2 = 30 i D = (50 + 30) / 2 = 40. Każda liczba odpowiada innemu etapowi.

Co oznacza odczyt po wygładzeniu?

Bezpośrednią pozycję bieżącego C w bieżącym zakresie opisuje R. K i D po uśrednieniu łączą informacje z kilku świec, często z różnych okien ekstremów. Dlatego K = 80 nie musi oznaczać, że ostatnie zamknięcie znajduje się dokładnie na 80% obecnego zakresu. W tabeli K na świecy 5 wynosi 80, lecz bieżące R wynosi 90.

Przy poprawnych danych OHLC i dodatnim zakresie R mieści się od 0 do 100. Średnie SMA takich wartości także mieszczą się w tych granicach. Nie zamienia to wyniku w procent szans na transakcję zyskowną. Przekroczenie umownej granicy 20 lub 80 jest zdarzeniem w szeregu wskaźnika, nie dowodem przyszłego odwrócenia.

Płaskie dane i pierwsza dostępna wartość

Jeżeli wszystkie ceny całego okna są równe, maksimum minus minimum wynosi zero. Matematyczny iloraz nie jest wtedy określony. W odczytanym kodzie TA-Lib STOCH taki przypadek otrzymuje surową wartość 0 przed wygładzeniem. To konwencja programu, nie dowód skrajnej presji sprzedaży. Inne implementacje należy sprawdzić osobno; w naszym ćwiczeniu oznaczamy taki wynik jako brak danych i nie liczymy obejmującej go średniej.

Dla pełnych okien SMA pierwsze R powstaje na świecy N, pierwsze K na N + s − 1, a D na N + s + d − 2. W modelu są to odpowiednio świece 3, 4 i 5. Biblioteka może zwrócić obie linie dopiero od chwili dostępności D, nawet jeżeli K dało się już wcześniej policzyć. Różnica początku wyświetlania nie musi oznaczać innego wzoru.

Dwa wygładzenia nie są jedną dłuższą SMA

Dwa kolejne wygładzenia SMA2 mają łącznie pamięć trzech surowych odczytów, ale nie są SMA3. Podstawiając K(t) = [R(t) + R(t − 1)]/2 do D(t) = [K(t) + K(t − 1)]/2, otrzymujemy D(t) = [R(t) + 2 R(t − 1) + R(t − 2)]/4. Środkowy odczyt pojawia się w obu nakładających się oknach.

Własna odpowiedź na impuls R: 0, 0, 100, 0, 0
Indeks, liczony od 0D po dwóch SMA2Jedna SMA3
22533⅓
35033⅓
42533⅓

Sto jest celowo zadanym surowym odczytem, a nie sygnałem inwestycyjnym. Można je uzyskać przy zamknięciu na maksimum dodatniego zakresu; zera odpowiadają minimum. D ma w tym modelu wagi 1/4, 1/2, 1/4, podczas gdy SMA3 nadaje każdemu R wagę 1/3. Początek pełnego okna jest taki sam, lecz odpowiedź na zmianę inna.

Jeśli uprościsz kod przez zastąpienie dwóch średnich jedną o okresie 3, zmienisz obliczenie oraz możliwe przecięcia z K. Podobna długość historii nie oznacza równoważnego filtra. Tak samo dla innych okresów trzeba najpierw wyliczyć wynikające wagi, zamiast dodawać liczby parametrów i zakładać jedną prostą średnią.

Moment sygnału i sprawdzalny zapis

Na świecy otwartej zmieniają się ostatnia cena oraz możliwe ekstrema. Warunek z zamknięcia wolno ocenić dopiero po zakończeniu świecy. Przykładową regułę przecięcia w dół można zapisać K poprzednie ≥ D poprzednie oraz K bieżące < D bieżące. W tabeli spełnia ją świeca 6: wcześniej 80 > 72,5, potem 50 < 65. To wykrycie zdarzenia, bez założonego wyniku transakcji.

Zapisz źródło ceny, interwał, strefę czasową, N, s, d, rodzaj średnich, obsługę płaskiego zakresu i wymóg zamknięcia. Dopiero potem dodaj warunki transakcji i koszty. Dywergencja, filtr trendu czy ATR są kolejnymi hipotezami do sprawdzenia, nie obowiązkowym zestawem zapewniającym przewagę. Instrukcja backtestu pomaga oddzielić liczenie wskaźnika od oceny strategii.

Sprawdź, czy rozumiesz

Jedno krótkie ćwiczenie

Zmień wyłącznie Close świecy 7 na 106, zachowując High 110 i Low 90. Przy N = 3, s = 2, d = 2 oblicz R, K i D.

Sprawdź odpowiedź

R = (106 − 90) / 20 × 100 = 80. Poprzednie R wynosi 10, więc K = 45. Poprzednie K to 50, zatem D = 47,5. Surowe 80 i wygładzone 45 nie są sprzeczne.

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