以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  这段代码,通过检测,但在运行选股过程中提示下标越界  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=182119)

--  作者:qq代人发帖
--  发布时间:2020/9/10 8:02:13
--  这段代码,通过检测,但在运行选股过程中提示下标越界
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
图片点击可在新窗口打开查看

--  作者:yukizzc
--  发布时间:2020/9/10 11:08:42
--  

FFL.VarStartIndex("VAR1")=10

设置下变量开始位置试试呢,ma1均线是否一开始没有值所以导致的报错

另外现在不推荐用这种vbs的方式了,建议vba或者python都可以自定义函数

 


--  作者:收获
--  发布时间:2020/9/10 19:06:04
--  
还是不行,能发全代码给你帮我修改吗
--  作者:收获
--  发布时间:2020/9/10 19:07:19
--  能发代码给你,帮我改一下吗
能发代码给你,帮我改一下吗