以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]金字塔的分笔扫描会偶尔漏一个tick~  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=48549)

--  作者:ch3coohqb
--  发布时间:2013/2/10 14:44:56
--  [求助]金字塔的分笔扫描会偶尔漏一个tick~

2013-02-07 09:37:36.993    bk0=0.00000
2013-02-07 09:37:36.993    sk0=0.00000
2013-02-07 09:37:37.461    =======
2013-02-07 09:37:37.570    是否有开多未成交单=0.00000
2013-02-07 09:37:37.570    可用多单=0.00000
2013-02-07 09:37:37.570    是否有开空未成交单=0.00000
2013-02-07 09:37:37.570    可用空单=0.00000
2013-02-07 09:37:37.570    bk0=0.00000
2013-02-07 09:37:37.570    sk0=0.00000
2013-02-07 09:37:38.100    =======
2013-02-07 09:37:38.100    是否有开多未成交单=0.00000
2013-02-07 09:37:38.100    可用多单=0.00000
2013-02-07 09:37:38.100    是否有开空未成交单=0.00000
2013-02-07 09:37:38.100    可用空单=0.00000

 

我在历史分笔数据上看到BK0 SK0的信号应该在37秒时是有的

但是模拟盘时丢了这个信号结果没下单~

后来我仔细看了debugout的记录~发现金字塔的高频扫描是偶尔会丢掉一个tick的数据的~

我们都知道交易所的数据是0.5秒一笔(历史分笔数据在37秒上是有两个tick的~明显金字塔漏掉一个)~

但是金字塔这种高频扫描速度好像还是达不到这个级别啊~

我是模拟盘~后台序列运算~开了高频扫描~

还有orderlog跟debugout

 

我想请问一下

1 如何让金字塔的高频扫描速度达到交易所发分笔数据的的频率?

2 把后台系统改写成VBA的系统是否能够减少运算量刷新频率更高下单更快?


--  作者:王锋
--  发布时间:2013/2/10 22:37:19
--  

后台是异步扫描的,因此无法保证每来一笔TICK数据都能保证后台能够刷新。

因此要求后台的代码尽可能简洁,所引用数据尽可能的少,这样才能尽可能保证刷新的及时正确性


--  作者:ch3coohqb
--  发布时间:2013/2/10 22:57:02
--  
以下是引用王锋在2013-2-10 22:37:19的发言:

后台是异步扫描的,因此无法保证每来一笔TICK数据都能保证后台能够刷新。

因此要求后台的代码尽可能简洁,所引用数据尽可能的少,这样才能尽可能保证刷新的及时正确性

意思是尽管简化了运算~但后台几乎无法避免的漏掉一两个tick?

我以为金字塔可以设置0.2秒扫描一次~这样几乎不会遗漏tick

 

 

另外一个问题~

VBA与后台序列模式哪个运算量更低~运算更快?


--  作者:王锋
--  发布时间:2013/2/10 23:06:20
--  

后台已经有选项可以让用户设置更低的扫描频率。但是这不表示一定就能达到这个扫描频率。

因为当你的策略整个运算的世界超过0.2秒一次的话,是没有办法能满足需要的。

 

VBA的效率要比后台高,因为VBA的策略编写可以采取更加灵活的手法,而不必局限于PEL语法的格式限制


--  作者:ch3coohqb
--  发布时间:2013/2/10 23:08:27
--  

 

另外~这种丢tick的问题是由什么原因引起的?
网络问题?我只是在券商大户室里交易~不是期货公司的机房内网...
软件问题?金字塔软件扫描频率太低达不到交易所0.5秒一笔?自己写的软件能达到这么高频率扫描么?
还有其他什么原因?有无办法避免?

 


--  作者:RogarZ
--  发布时间:2013/2/10 23:23:12
--  

交易所的数据理论是0.5秒一笔,但并不是一直有的,有些时候0.5秒是没有成交的,用户仔细核查下当天的分笔数据。有可能这个并不是金字塔漏了,而是真的没有那笔数据,你可以通过多个软件去确认。

 

tick软件是不会丢的,数据都在你本地 你自己查。

 

和扫描的频率没关系,而是你公式的1次的计算所需要的时间超过了0.5秒。若超过,金字塔将根据最新的tick进行计算,不在计算因计算时间延误的tick。这个是合理的,若你还计算错过的那个tick造成延迟,并一直恶心循环下去,那始终是无法第一时间下单。

 

自己写软甲。。。无法回答。理论上都是可行的,实际上,看编写人的水平。

 


--  作者:ch3coohqb
--  发布时间:2013/2/11 20:11:12
--  
以下是引用王锋在2013-2-10 23:06:20的发言:

后台已经有选项可以让用户设置更低的扫描频率。但是这不表示一定就能达到这个扫描频率。

因为当你的策略整个运算的世界超过0.2秒一次的话,是没有办法能满足需要的。

 

VBA的效率要比后台高,因为VBA的策略编写可以采取更加灵活的手法,而不必局限于PEL语法的格式限制

 VBA的扫描频率在哪里设置?

图表是ctrl+z

后台是ctrl+a

这两个都有扫描频率设置

那VBA的扫描频率在哪里设置呢?


--  作者:bbking
--  发布时间:2013/2/11 21:06:11
--  

后台最高只能扫描0.5秒一次的频率了~

再高的频率软件已经无法实现了~

只有频率比交易所的高才可能不漏tick啊~

 


--  作者:ackvz
--  发布时间:2013/2/11 22:21:46
--  

你妈每分钟包2个饺子

你每半分钟检查一下 有没有饺子包好

包好了就拿来吃 如果有多个 就只吃最新的这个

 

那么你会不会漏吃饺子呢?

 

取决于你吃饺子的速度

 

通俗易懂不?

[此贴子已经被作者于2013-2-11 22:22:34编辑过]

--  作者:王锋
--  发布时间:2013/2/11 22:51:38
--  

VBA主要通过定时器来控制刷新速度,最低可以设置为1毫秒

如果你对你编写的程序代码有信心能在1毫秒内完成所有计算,那么你可以这么搞,否则就要设置一个合理的刷新频率