Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:版主啊,UBOUND问题

1楼
夏小飞 发表于:2010/11/19 11:38:27

我在高级里写这样的代码说没有Ubound这个函数

msgbox Ubound(vm1)

for i=0 to Ubound(vm1)
  if i>=vn1 then
     vm1(i)=f(i,vn1)
  end if

next

 

我在公式系统里写同样代码也没错,公式能正常输出

<%

msgbox Ubound(vm1)

for i=0 to Ubound(vm1)
  if i>=vn1 then
     vm1(i)=f(i,vn1)
  end if

next

%>

请问版主这个是为什么呢

2楼
wattwei 发表于:2010/11/19 11:40:41
请把代码写全。看不出来vm1是什么东西,怎么能调试?
3楼
夏小飞 发表于:2010/11/19 11:55:26

vm1是个数组 在飞狐的帮助上有,Ubound是一个测试数组长度的函数 好像后台没有,但我写在公式系统里没问题

4楼
夏小飞 发表于:2010/11/19 11:55:37

m1:c;
m2:c;
m3:c;
n1:=5;
n2:=10;
n3:=13;
<%
vc=ffl.vardata("m1")
vm1=ffl.vardata("m1")
vm2=ffl.vardata("m2")
vm3=ffl.vardata("m3")
vn1=ffl.vardata("n1")
vn2=ffl.vardata("n2")
vn3=ffl.vardata("n3")

vn1=vn1-1
vn2=vn2-1
vn3=vn3-1

'msgbox Ubound(vm1)

for i=0 to Ubound(vm1)
  if i>=vn1 then
     vm1(i)=f(i,vn1)
  end if
  if i>=vn2 then
     vm2(i)=f(i,vn2) '调用自定义过程(函数)f(i,vn2)
  end if
  if i>=vn3 then
     vm3(i)=f(i,vn3) '调用自定义过程(函数)f(i,vn3)
  end if
next

ffl.vardata("m1")=vm1
ffl.vardata("m2")=vm2
ffl.vardata("m3")=vm3

ffl.varStartIndex("m1")=vn1
ffl.varStartIndex("m2")=vn2
ffl.varStartIndex("m3")=vn3

'以下定义求Y日平均值的函数(过程)
function f(x,y)
  sumc=0

  '求Y日收盘价之和
  for j=0 to y
    sumc=sumc+vc(x-j)
  next

  '函数f返回Y日均价
  f=sumc/(y+1)
end function
%>

5楼
夏小飞 发表于:2010/11/19 11:55:50
上面是完整的代码
6楼
wattwei 发表于:2010/11/19 12:04:52
金字塔的公式系统支持4楼的代码吗?直接把vbs嵌到公式中?
没用过。在1.991版里试了下,不支持
7楼
夏小飞 发表于:2010/11/19 12:09:43

我是2.02啊

8楼
夏小飞 发表于:2010/11/19 12:18:32

那请问 我在VBS里要知道数组的长度用什么函数?

9楼
wattwei 发表于:2010/11/19 12:39:29
升级到了2.02,4楼那段代码测试没问题。
看了下更新的帮助文档,自定义函数增加了针对两种工作模式的示例。
如果使用传统的数组UBound是支持的,如果想用"Stock.Array",要用Count替换


10楼
夏小飞 发表于:2010/11/19 12:52:52
谢谢 原来还有2种数组啊
共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.35352 s, 2 queries.