以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  如何对日内分笔数据循环遍历?需要vba?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=661)

--  作者:xhyaj
--  发布时间:2010/1/14 23:23:41
--  如何对日内分笔数据循环遍历?需要vba?
比如: 从第一个tick开始循环知道最后一个日内tick 如果后来的close大于前面的,给数组flag的当前值赋值1,否则赋值0,如果相等,向前追溯到相邻close不相等,以当时flag的数值赋予当前flag
--  作者:admin
--  发布时间:2010/1/15 12:06:07
--  

已经做好了根据分笔数据前后的大小来将标志置数组的例子,其他的你自己试试完善他.

 

Sub test2()
 \'得到某个指定品种的数据
    set MinuteData = marketdata.GetMinuteData("rb05","sq")
   
    \'创建一个动态数组,大小与分笔数据一致
    Dim d \'创建一个动态数组外部对象变量
 Set d = CreateObject("Stock.Array")
 

\'定义两个变量
 dim flag
 dim prvdata

 

\'开始循环处理
 for i = 0 to MinuteData.Count-1
     data = minutedata.newprice(i)
     if i > 0 then \'从第2个数据开始计算
         if data > prvdata then
             flag = 1 \'当前笔大于前一笔则置1
         else
             flag = 0 \'否则置0
         end if
        d.addback(flag) \'添加标志数据到数组中
     else
        d.addback(0) \'第一个数据置0
      end if  

  prvdata  = data
  next
 
 \'显示已保存的数组个数
 msgbox d.Count
   
End Sub

[此贴子已经被作者于2010-1-16 15:56:37编辑过]

--  作者:xhyaj
--  发布时间:2010/1/15 19:26:12
--  
谢谢老大 ,已经调试好了 不过,如果要发挥vbs的功能,至少要知道斯道客对数据对象是如何定义的, 我现在不知道哪里去找各种数据对象的属性...
--  作者:admin
--  发布时间:2010/1/15 19:35:05
--  
金字塔的帮助菜单->编程信息
--  作者:xhyaj
--  发布时间:2010/1/15 20:25:47
--  
ok 看来vbs是展现金字塔强大之处的最好示例