Стохастик: как рассчитать исходный %K, сглаженный %K и %D
На графике стохастика обычно видны две линии, но за ними стоят три последовательных действия. Сначала определяется положение закрытия внутри диапазона, затем результат сглаживается, после чего рассчитывается ещё одно среднее. Если смешать эти шаги, одинаковое название индикатора даст разные цифры и непонятное пересечение линий.
Разберём собственный пример Student Wyckoff из девяти вымышленных баров. В нём можно проверить все исходные цены и увидеть момент появления каждой линии. Общая энциклопедия индикаторов помогает сравнить назначение инструментов; эта страница нужна для воспроизводимого расчёта стохастика по ценам.
1. Зафиксируйте три периода и смысл каждой линии
В упражнении выбираем 5/3/3: пять баров для диапазона, три исходных значения для сглаженного %K и три значения сглаженного %K для %D. Все средние здесь простые: складываем значения и делим на их количество. Эти параметры выбраны для короткой учебной таблицы, а не названы лучшими для торговли.
Исходный %K, который дальше называем raw %K, равен 100 × (Close − Lowest Low)/(Highest High − Lowest Low). Close — закрытие текущего бара; Lowest Low и Highest High — минимальная и максимальная цены выбранного окна, включая текущий бар. Сглаженный %K — простая средняя raw %K за три бара. %D — простая средняя уже сглаженного %K за три бара.
Такая последовательность и отдельные параметры сглаживания описаны в справке TradingView о Stochastic. Сверяйте именно поля расчёта: подпись «K 5» сама по себе ещё не говорит, отключено ли дополнительное сглаживание. Это стохастик по ценам; у StochRSI исходным рядом служат значения RSI, поэтому подменять один инструмент другим нельзя.
2. Восстановите диапазон по настоящему окну
В таблице High означает максимум бара, Low — минимум. Все закрытия находятся внутри собственных максимумов и минимумов. Порядок строк соответствует времени от старого бара к новому.
| Бар | High | Low | Close |
|---|---|---|---|
| 1 | 15 | 5 | 10 |
| 2 | 14 | 6 | 12 |
| 3 | 13 | 7 | 9 |
| 4 | 15 | 5 | 11 |
| 5 | 15 | 5 | 13 |
| 6 | 15 | 5 | 12 |
| 7 | 15 | 5 | 11 |
| 8 | 15 | 5 | 14 |
| 9 | 15 | 5 | 10 |
Для бара 5 окно состоит из баров 1–5: максимум 15, минимум 5, ширина диапазона 10. Получаем 100 × (13 − 5)/(15 − 5) = 80. Это означает положение закрытия на 80% высоты данного диапазона. Число не означает рост цены на 80% и не измеряет вероятность дальнейшего движения.
Для бара 6 окно уже 2–6, затем 3–7, 4–8 и 5–9. В нашем специально простом наборе крайние значения остаются 15 и 5. На реальных данных они могут меняться, даже если само закрытие почти неподвижно. Поэтому перед делением сначала пересчитайте границы нового окна.
3. Посчитайте сглаживание, сохраняя пустые места
Первые четыре бара ещё не дают полного окна из пяти. На баре 5 появляется raw %K, на баре 7 — первая средняя из трёх raw %K. Для первого %D нужны три таких средних, поэтому он появляется только на баре 9. Не заменяйте недостающую историю нулём: это искусственно потянет среднюю вниз.
| Бар | Raw %K | Сглаженный %K | %D |
|---|---|---|---|
| 5 | 80 | Пока нет трёх значений | Пока недостаточно истории |
| 6 | 70 | Пока нет трёх значений | Пока недостаточно истории |
| 7 | 60 | 70,0000 | Пока недостаточно истории |
| 8 | 90 | 73,3333 | Пока недостаточно истории |
| 9 | 50 | 66,6667 | 70,0000 |
На баре 7 сглаженный %K = (80 + 70 + 60)/3 = 70. На баре 8: (70 + 60 + 90)/3 = 73,3333. На баре 9: (60 + 90 + 50)/3 = 66,6667. Первое %D равно (70 + 73,3333… + 66,6666…)/3 = 70. Используйте неокруглённые значения внутри вычислений.
Обратите внимание: на последней строке одновременно существуют 50, 66,6667 и 70. Все три числа правильны для своих этапов. Сравнение raw %K одного расчёта со сглаженным %K другого создаст ложное впечатление ошибки. Если поставить сглаживание %K равным 1, первый и второй этапы совпадут; это уже иная настройка.
4. Задайте правило для нулевого диапазона
Если все High и Low выбранного окна одинаковы, знаменатель равен нулю. При корректном закрытии числитель тоже станет нулём: получается 0/0. В нашем листе проверки такая строка получает отметку «диапазон нулевой, значение не определено», а последующее среднее ждёт полного набора определённых значений.
Это выбранное правило упражнения. У разных реализаций могут быть собственные способы обработки постоянной цены, пропусков и начальной истории. Не переносите пустое значение в торговый план как сигнал 0 или как подтверждение перепроданности. Сначала выясните причину и правило используемой программы.
5. Отделите состояние линий от торгового действия
На баре 9 сглаженный %K ниже %D. По этой строке можно описать взаимное положение линий. Чтобы назвать событие пересечением, нужны ещё обе линии на предыдущем баре; в нашей ограниченной таблице предыдущее %D пока отсутствует. Значит, утверждать подтверждённое пересечение здесь нельзя.
Похожее ограничение относится к порогам. Высокое значение сообщает о положении закрытий и сглаженном ряде. Само по себе оно не задаёт продажу, место защитного приказа или допустимый убыток. В торговом плане отдельно записывают условие наблюдения, подтверждение ценой и отмену идеи. Размер возможной потери проверяют через управление риском.
6. Выполните контрольную сверку и сохраните параметры
Закройте последнюю строку результатов. По барам 5–9 заново найдите диапазон, вычислите raw %K и две средние. Контрольные значения на баре 9: 50 / 66,6667 / 70. Затем объясните, почему для вывода о пересечении нам не хватает предыдущего %D.
В карточке сверки запишите источник цен, период графика, дату закрытого бара, три периода индикатора, вид средних и правило нулевого диапазона. Если экран расходится с таблицей, проверяйте эти поля до изменения настроек. Одна сохранённая подпись «стохастик» не позволяет повторить расчёт через месяц.
Для последовательного освоения анализа и практических учебных решений доступна действующая программа «Трейдер» школы Student Wyckoff. Таблица выше — самостоятельное задание: она помогает проверить понимание линий, а пригодность торгового правила устанавливается отдельной работой на данных и с учётом расходов.