Создание технического индикатора VHF для Excel VBA - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь создать индикатор вертикального горизонтального фильтра (VHF) с помощью Excel VBA.

Для простоты n-дневный VHF рассчитывается как отношение разницы между максимумом n-максимумы периода и минимумы минимумов n-периода к сумме прошедшего n-периода абсолютное значение первой разницы цен закрытия:

enter image description here

Function VHF(highs As Range, lows As Range, n As Integer, price As Range, price0 As Range)

Dim count As Long
Dim maxhigh As Double
Dim minlow As Double
Dim closediff As Double
Dim day As Integer

maxhigh = Application.Max(highs)
minlow = Application.Min(lows)
day = WorksheetFunction.count(Range(price0, price))
    If day >= n Then
        For j = 2 To n - 1
            closediff = closediff + Abs(price0.Offset(j, 0) - price0.Offset(j - 1, 0))
        Next j
        VHF = (maxhigh - minlow) / closediff
    End If
End Function

Существует некоторая проблема с моим кодом VBA, надеюсь, кто-то может помочь мне с этим, спасибо!

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