VMA(变异平均线)

变异平均线(VMA)与移动平均线的计算方法是一样的,区别在于移动平均线是以每日收盘价计算的,而变异平均线则是用每日的开盘价、收盘价、最高价和最低价相加后除以 4 得出的数据计算平均线。

计算方法:
VV=(开盘价 + 收盘价 + 最高价 + 最低价)/4
VMA=VV 的移动平均

VMA 通常有 4 条线,分别取 VV 的 Nx 日移动平均

指标参数:

y1

VMA1输出列。

y2

VMA2输出列

y3

VMA3输出列

y4

VMA4输出列

n1

周期 1,如 6

n2

周期 2,如 12

n3

周期 3,如 30

n4

周期 4,如 72


函数代码:


A

B

1

func VMA(A,$y1,$y2,$y3,$y4,n1,n2,n3,n4)

=A.derive@o(:vma_vv)

2


=A.run((开盘 + 收盘 + 最高 + 最低)/4:vma_vv)

3


=A.run(avg(vma_vv[1-n1:0]):${y1},avg(vma_vv[1-n2:0]):${y2},avg(vma_vv[1-n3:0]):${y3},avg(vma_vv[1-n4:0]):${y4})

4


=A.alter(;vma_vv)

将函数保存在 indicator.splx 中。

举例:

例如,调用脚本计算浦发银行 2024 年的 VMA 指标,n 取6,12,30,72


A

B


5

=call@f("indicator.splx")

登记脚本中的函数

6

计算出源数据

7

=A6.derive(:VMA1,:VMA2,:VMA3,:VMA4)

增加要返回的指标字段

8

=VMA(A7,VMA1,VMA2,VMA3,VMA4,6,12,30,72)

调用函数计算指标

运行效果:

..