excel - 为 Excel VBA 创建 VHF 技术指标
问题描述
我正在尝试使用 Excel VBA 创建一个垂直水平过滤器 (VHF) 指标。
为简单起见,n 天 VHF 被计算为 n 周期最高点的最大值和 n 周期最低点的最小值之差与过去 n 周期第一个差值的绝对值之和的比率。收盘价:
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 代码有问题,希望有人能帮助我,谢谢!
解决方案
推荐阅读
- ios - iOS RxSwift 如何防止序列被处理(抛出错误)?
- makefile - Linux 内核项目是否使用一些构建自动化软件来创建他们的 makefile?
- powershell - 使用水印的 Powershell 文本框
- parquet - 在 AWS 胶水中提供用户定义的列名
- python - 具有不同批量大小的pytorch恢复模型
- php - Laravel在提交表单时在数据库中插入随机密码而不输入密码
- python - 生成 GeoTIFF 颜色图
- php - MySQL + PHP - 查询相对格式日期
- sql - 根据第一个更新重复数据
- sql-server - 需要将 SQL 输出日期与批处理文件中的 sysdate/currentdate 进行比较