vbdatanumber = FFL.VarData("datanumber")
vbdatanumber1 = FFL.VarData("datanumber1")
vbdatanumber2 = FFL.VarData("datanumber2")
vbdata=1
vbdata1=0.001
vbdata2=1
Select Case vbdatanumber
Case 0
vbdata=0.015
vbdata1=0.001
vbdata2=0.015
Case 1
vbdata=0.018
vbdata1=0.001
vbdata2=0.018
Case 2
vbdata=0.037
vbdata1=0.001
vbdata2=0.037
Case 3
vbdata=0.052
vbdata1=0.001
vbdata2=0.052
Case 4
vbdata=0.067
vbdata1=0.001
vbdata2=0.067
Case 5
vbdata=0.13
vbdata1=0.001
vbdata2=0.13
Case 6
vbdata=0.28
vbdata1=0.001
vbdata2=0.28
Case 7
vbdata=0.45
vbdata1=0.001
vbdata2=0.45
Case 8
vbdata=0.73
vbdata1=0.001
vbdata2=0.73
Case 9
vbdata=1.2
vbdata1=0.001
vbdata2=1.2
Case 10
vbdata=0.6
vbdata1=0.001
vbdata2=0.6
Case 11
vbdata=0.1
vbdata1=0.001
vbdata2=0.1
Case 12
vbdata=0.02
vbdata1=0.001
vbdata2=0.02
Case else
vbdata=2
vbdata1=0.001
vbdata2=2
End Select
FFL.VarData("datanumber") =vbdata
FFL.VarData("datanumber1") =vbdata1
FFL.VarData("datanumber2") =vbdata2
vbling = FFL.VarData("ling")
vbma = FFL.VarData("ma1")
vbma2 = FFL.VarData("ma2")
vbma3 = FFL.VarData("ma3")
nlast = UBound( vbma )
nvalue = 0.0000
nvaluefu = 0.0000
bianhua = 2
oldbianhua = 0
for m = 0 to nlast
vbma2(m) = 0
vbma3(m) = 0
vbling(m)=0
next
m= 0
for i = 0 to nlast
m=m+1
'nlast - m
'vbma2(i) = 0
if (vbma(i) > 0) then
bianhua = 1
nvalue = nvalue + vbma(i)
else
bianhua = 2
nvaluefu = nvaluefu + vbma(i)
end if
if (oldbianhua = bianhua) then
else
vbma3(i) = m
m=0
if (bianhua = 1) then
vbma2(i) = nvaluefu
nvaluefu = 0
'nvaluefu = 0
else
vbma2(i) = nvalue
nvalue = 0
'nvalue = 0
end if
end if
oldbianhua = bianhua
next
FFL.VarData("ma2") = vbma2
FFL.VarData("ma3") = vbma3
FFL.VarData("ling") =vbling

此主题相关图片如下:5.jpg
FFL.VarStartIndex("VAR1")=10
设置下变量开始位置试试呢,ma1均线是否一开始没有值所以导致的报错
另外现在不推荐用这种vbs的方式了,建议vba或者python都可以自定义函数