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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 1分钟调用TICK数据

   

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


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

主题:1分钟调用TICK数据

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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
1分钟调用TICK数据  发帖心情 Post By:2013/9/13 14:15:21 [只看该作者]

 在1分钟周期图表下,如何查看当前时间点过去的10个TICK?用什么函数?用VBA可以实现吗?请高手指点为盼。

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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/9/16 9:44:36 [只看该作者]

用STKINDI方法

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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2013/9/16 23:06:12 [只看该作者]

我用

STKINDI的方法,或者是callstock 的方法,存在2个问题:

 

1、电脑在接收行情的时候,非常卡,简直是鼠标都不能动

2、在图表历史回测上,只能调用到当天14:00后的数据,再往前的数据调取不到,不知道什么原因??开始以为是数据不全,可以不全数据,或者切换到分笔数据查看,数据是完整的。


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2013/9/17 0:09:01 [只看该作者]

要看你想取过来做什么了,如果盘中交易的话取最新的10笔比较容易,如果你要历史回测的话,很难



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
deni977
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2013/9/17 6:23:41 [只看该作者]

先实现简单的吧,就取来盘中交易的就好了,如何实现电脑不卡?我现在用CALLSTOCK函数,调取数据,盘中时卡的鼠标无法动作,行情基本慢了3-5秒,已经没有意义,改成调取5秒数据,也是一样。调取和实现的部份代码如下:

 

(只做股指,程序是调取多秒-5秒过去的11个最高值)

 

TBUF:DYNAINFO(207)-(INTPART(DYNAINFO(207)/100)) *100,nodraw; //当前秒数

 

if (holding <=0 && enterbars >= 1  ) then begin  //调取5秒周期的过去11个周期的最高值
  Fh0:callstock('IF00',vthigh,12,0),nodraw; 
  Fh1:callstock('IF00',vthigh,12,-1),nodraw;  
  Fh2:callstock('IF00',vthigh,12,-2),nodraw;
  Fh3:callstock('IF00',vthigh,12,-3),nodraw;
  Fh4:callstock('IF00',vthigh,12,-4),nodraw;
  Fh5:callstock('IF00',vthigh,12,-5),nodraw;
  Fh6:callstock('IF00',vthigh,12,-6),nodraw;
  Fh7:callstock('IF00',vthigh,12,-7),nodraw;
  Fh8:callstock('IF00',vthigh,12,-8),nodraw;
  Fh9:callstock('IF00',vthigh,12,-9),nodraw;
  Fh10:callstock('IF00',vthigh,12,-10),nodraw;
  Fh11:callstock('IF00',vthigh,12,-11),nodraw;  
  
  if barstatus = 2 then begin                                        //判断当前1分钟有多少次5秒周期最高值突破指标 Preac8a
     if Fh0>Preac8a && Tbuf>=5 then Hcount:=(Hcount+1);
     if Fh1>Preac8a && Tbuf>=10  then Hcount:=(Hcount+1);
     if Fh2>Preac8a && Tbuf>=15  then Hcount:=(Hcount+1);
     if Fh3>Preac8a && Tbuf>=20  then Hcount:=(Hcount+1);
     if Fh4>Preac8a && Tbuf>=25  then Hcount:=(Hcount+1);
     if Fh5>Preac8a && Tbuf>=30  then Hcount:=(Hcount+1);
     if Fh6>Preac8a && Tbuf>=35 then Hcount:=(Hcount+1);
     if Fh7>Preac8a && Tbuf>=40 then Hcount:=(Hcount+1);
     if Fh8>Preac8a && Tbuf>=45 then Hcount:=(Hcount+1);
     if Fh9>Preac8a && Tbuf>=50 then Hcount:=(Hcount+1);
     if Fh10>Preac8a && Tbuf>=55  then Hcount:=(Hcount+1);  
   end 
 end

 

高突破次数:Hcount,nodraw;

 

   …… (省去中间部份代码)

 

 if 平空条件 then begin 

    逃空:SELLSHORT(BARSTATUS<2 && HOLDING<0  ,ORDVOL,limitr,PKprice);   
    SELLSHORT(BARSTATUS=2 && HOLDING<0 && Tbuf>5 && Hcount > 2,ORDVOL,limitr,PKprice);   //实盘中,如果5秒最高突破2次则平空
    DAYTRADE:=(DAYTRADE + 1);  //统计当天交易次数

end

 

原理:作用在行情1分钟固定1秒轮询方式下,做空时,5秒周期最低价向下突破2次就立刻平仓。

 

请指点,如何修正,电脑才不卡?(注意:电脑已经设置只有360内存周期,只连接唯一的期货行情,图表仅有唯一框架,没有附图,程序也做了相应的优化 )

 

 

 


 


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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2013/9/17 6:30:38 [只看该作者]

另外,很不明白,历史回测的时候,只能调取到最后几十根K线的数据5秒数据,再往前就调取不到了(必须缩小图形显示才回多一点),金字塔是什么设计原理?

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/9/18 9:11:08 [只看该作者]

1.参与运算的数据多,可考虑使用  快速 将使用的数据周期缩短

 

详见此帖方法3 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=3286

 

2.秒及分钟以上K线,历史回测的就是图上显示的数据

   请参考此处16楼回帖http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=55104&authorid=0&page=0&star=2

[此贴子已经被作者于2013/9/18 9:48:37编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2013/9/18 10:55:16 [只看该作者]

假期给你做个例子


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
deni977
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2013/9/18 12:10:09 [只看该作者]

深度感谢和期盼中!

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2013/9/19 22:33:04 [只看该作者]

首先建立一个自定义函数

 

Function LOADDATADEMO(Formula,N)
    Set Grid = Formula.ParentGrid
    Set MinuteData = Grid.GetMinuteData
   
    if MinuteData.Count >= N then
        LOADDATADEMO=MinuteData.NewPrice(MinuteData.Count-N)
    else
        LOADDATADEMO=-1 '没有这么多数据返回-1
    End if

End Function

然后PEL公式这样调用即可

 

//只有在最后周期才进行调用的
if ISLASTBAR THEN
BEGIN
dd1:LOADDATADEMO(1);//调取最近1笔
dd10:LOADDATADEMO(10);//调取最近10笔
END;

[此贴子已经被作者于2013/9/19 22:34:11编辑过]


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
总数 14 1 2 下一页