Я рассчитываю данные индикатора для фондового рынка, и мне трудно рассчитать Heiken Chaiken Osc из-за переменной под названием «Accdist». Согласно Google, она рассчитывается следующим образом.
Формула выглядит следующим образом:
Множитель денежного потока = [(Закрытие - Низкий) - (Высокий - Закрытие)] / (Высокий - Низкий)
Объем денежного потока = Мультипликатор денежного потока x Объем за период
ADL = Предыдущий ADL + Объем денежного потока за текущий период
Код Python (с использованием Talib + Numpy + Pandas)
data["cmf"] = (((data["close"] - data["low"]) - (data["high"] - data["close"])) / (data["high"] - data["low"]))
data["cmfv"] = data["cmf"] * data["volume"]
data["accdist"] = data["accdist"].shift(periods=1) + data["cmfv"]
Также попробовал это в скрипте сосны, но и там не повезло. Любая помощь будет оценена по достоинству.
Money_multiplier = ((close-low) - (high - close)) / (high - low)
Money_volume = Money_multiplier * volume
ADL = ADL[1] + Money_volume
Вот код pinescript, который я пытаюсь эмулировать, поскольку у меня работает индикатор, но его нужно перевести на python (probelem — это переменная accdist)
osc = ema(accdist, 3) - ema(accdist, 10)