Исключение адреса предварительного вычисления в функции VBA - PullRequest
0 голосов
/ 30 апреля 2019

Возникла простая проблема с попыткой упростить код и использовать функцию VBA для вычисления экспоненциального скользящего среднего (EMA).Текущий код выглядит следующим образом:

'Exponential Moving Average
Function nEMA(Price, Periods, nEMA1)
'Variables
Alpha = (2 / (Periods + 1))

'Formula Calculation
nEMA = (Alpha * Price) + ((1 - Alpha) * nEMA1)

End Function

Я хотел бы исключить ввод предварительного вычисления "nEMA1".Это решение также имеет широкий спектр других прикладных функций.Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2019

Эта функция будет использовать значение в том же столбце и на одну строку выше ячейки, в которую она записана, вместо nEMA1

'Exponential Moving Average
Function nEMA(Price, Periods)
'Variables
Alpha = (2 / (Periods + 1))

'Formula Calculation
' Uses the value above the formula in the calculation
nEMA = (Alpha * Price) + ((1 - Alpha) * Application.Caller.Offset(-1))

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...