В книге «Clojure финансов» Я нашел такую функцию, что:Объясните, как эта функция stochastik работает
(defn stochastic-k [last-price low-price high-price]
(let [hlrange (- high-price low-price)
hlmidpoint (/ hlrange 2)
numerator (if (> last-price hlmidpoint)
(- last-price hlmidpoint)
(- hlmidpoint low-price))]
(/ numerator hlrange)))
Автор описывает его как:
стохастической-K: Это дает нам наш процент движения цены по высокой/низкой цене.
(Quote и код от "Clojure for Finance", Тимоти Вашингтон)
Я попробовал функцию в REPL, но вывод не имеет смысла для меня:
user=> (println (stochastic-k 18 13 23))
13/10
Итак, результат 1.3
, но я бы действительно ожидал 1.0
, потому что 18 - это средняя точка диапазона от 13 до 23, насколько я могу судить.
Может ли кто-нибудь объяснить мне, как должна функционировать функция?
Я думаю, что это либо опечатка, либо ошибка. Расчет не соответствует определению 'стохастик-k' –
@AlanThompson. Я так думаю, говоря о' стохастик-к', я думаю, что автор хотел реализовать это? https://en.wikipedia.org/wiki/Stochastic_oscillator – Max