欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 这段代码,通过检测,但在运行选股过程中提示下标越界

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2516人关注过本帖树形打印复制链接

主题:这段代码,通过检测,但在运行选股过程中提示下标越界

帅哥哟,离线,有人找我吗?
qq代人发帖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
这段代码,通过检测,但在运行选股过程中提示下标越界  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/9/10 11:08:42 [只看该作者]

FFL.VarStartIndex("VAR1")=10

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

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
收获
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/6/23 16:10:48
  发帖心情 Post By:2020/9/10 19:06:04 [只看该作者]

还是不行,能发全代码给你帮我修改吗

 回到顶部
帅哥哟,离线,有人找我吗?
收获
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/6/23 16:10:48
能发代码给你,帮我改一下吗  发帖心情 Post By:2020/9/10 19:07:19 [只看该作者]

能发代码给你,帮我改一下吗

 回到顶部