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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → marketdata.GetHistoryData("if11","zj",0) 获取的是当前K以前的所有数据吗?

   

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


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

主题:marketdata.GetHistoryData("if11","zj",0) 获取的是当前K以前的所有数据吗?

帅哥哟,离线,有人找我吗?
sword8586
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 8:12:12 [只看该作者]

'**********************加载历史数据,并形成等价K线******************************                                  
           for i = 0 to  PKOpen.Count-1              
               Thigh=PKHigh.GetAt(i) 
               Tlow=PKLow.GetAt(i)               
               TVolume=PKVolume.GetAt(i) 
               TDate=PKDate.GetAt(i)                  
                  newkopen=PKOpen.GetAt(i)
                  newkHigh=Thigh
                  newkLow=Tlow
                  mxVolume=TVolume  
               newkVolume=TVolume-mxVolume
               newkClose=PKClose.GetAt(i)    
               newkDate=TDate
               newkOpenInt=PKOpenInt.GetAt(i) 
                                                          
                  PKOpen.AddBack(newkOpen)
                  PKClose.AddBack(newkClose)
                  PKHigh.AddBack(newkHigh)
                  PKLow.AddBack(newkLow)
                  PKVolume.AddBack(newkVolume)
                  PKDate.AddBack(newkDate)
                  PKOpenInt.AddBack(newkOpenInt)
  
           next            


          '将变化的合约标识数据——该数据实际成为老数据,写入全局变量
          Set History10=marketdata.GetHistoryData(xinheyue,xinshichang,0)'取老合约1分钟数据
 
             for i = 0 to  PKOpen.Count-1
               Set History11=marketdata.GetHistoryData(xinheyue,xinshichang,0)'取老合约1分钟数据             
               call History11.InsertAt(i)           
               History11.Open(i)=PKOpen.GetAt(i)
               History11.Close(i)=PKClose.GetAt(i)
               History11.High(i)=PKHigh.GetAt(i)
               History11.Low(i)=PKLow.GetAt(i)
               History11.Volume(i)=PKVolume.GetAt(i)
               History11.Date(i)=PKDate.GetAt(i)
               History11.OpenInt(i)=PKOpenInt.GetAt(i)

             Next                                                           
             Set PKOpen=nothing
             Set PKClose=nothing  
             Set PKHigh=nothing
             Set PKLow=nothing
             Set PKVolume=nothing
             Set PKDate=nothing
             Set PKOpenInt=nothing           
 
End Sub

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


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

我本地运行正常,但是也没看到if88这个品种有数据,是有其他什么操作吗

 

我本地运行正常,但是也没看到if88这个品种有数据,是有其他什么操作吗

 

另外你试试注释掉一些代码呢,这个有一个可能就是代码死循环或者不断创建对象导致内存太大引起

[此贴子已经被作者于2021/1/27 10:08:11编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 11:55:27 [只看该作者]

老师您将
Sub lishishuju()
        '查询品种是否存在,不存在则新建
        cunzai = marketdata.IsExistStock(xinheyue,xinshichang)
        if cunzai = 0 then
            call marketdata.AddStock(xinheyue,xinshichang, xinmingcheng) 
        else
            'call marketdata.DeleteStock(xinheyue,xinshichang) 
            'call marketdata.AddStock(xinheyue,xinshichang, xinmingcheng) 
        end if
    '删除历史数据,创建第一根K线
    if shanchu = 0 then     中的shanchu=0改为if shanchu = 1 then
  试一试。谢谢


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


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 12:42:39 [只看该作者]

marketdata这个函数不好掌握,好容易出问题,我有如下感觉:
1.函数的调用不可靠;
2、函数的销毁不可靠


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


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 12:45:41 [只看该作者]

marketdata这个函数不好掌握,好容易出问题,我有如下感觉:
1.函数的调用不可靠;
2、函数的销毁不可靠
3、同minutedata函数混合使用,易于导致内存溢出

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/1/27 13:21:37 [只看该作者]

DestroyMinuteData

销毁使用GetMinuteData打开的内存缓冲区.

注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存

DestroyHistoryMinuteData

销毁使用GetHistoryMinuteData打开的内存缓冲区.

注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存

DestroyHistoryData

销毁使用GetHistoryData打开的内存缓冲区

注意:对象使用完毕后一定要调用该方法销毁缓冲区,否则会占用内存

 

这些对象下面方法有说明的,你要注意自己做销毁,不是对象频发建立都不释放的


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


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 14:06:59 [只看该作者]

老师,麻烦您测试下代码,看看问题出在哪。谢谢

[此贴子已经被作者于2021/1/27 14:07:41编辑过]

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/1/27 14:41:38 [只看该作者]

 
 
[此贴子已经被作者于2021/1/27 14:43:00编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:388 积分:0 威望:0 精华:0 注册:2014/11/22 18:13:16
  发帖心情 Post By:2021/1/27 14:43:59 [只看该作者]

我只是请老师将上边代码的if shanchu = 0 then     中的shanchu=0改为if shanchu = 1 then就会重复出现金字塔崩溃。


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/1/27 14:46:20 [只看该作者]

没有崩溃,if88有这个合约是有了,但是并没有数据
[此贴子已经被作者于2021/1/27 14:46:33编辑过]

 回到顶部
总数 35 上一页 1 2 3 4 下一页