以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  异常数据问题测试结果和建议  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=7229)

--  作者:paulshen
--  发布时间:2011/7/15 14:53:10
--  异常数据问题测试结果和建议

之前报告过多次后台交易出现异常数据问题,可能是由于不好重现,所以一直没有得到解决。

 

问题:在某个瞬间,C和H或L出现异常数值,偏离当前实际行情数据,随后即恢复正常,有时会导致不正常交易。

 

最近发现,出现异常后,买一和卖一(dynainfo(28)和dynainfo(34)是正常的,于是做了一个简单测试,即比较C和买一卖一的差别,记录差值大于2个点的情况,结果是:

1. 这个问题应该是由订阅数据引起的,因为关闭双数据后,检测不到这种差异。

2. 网络不稳定或行情变化剧烈时,很容易检测到这个问题

 

希望以上信息,有助于帮助金字塔找出问题的根源。如果需要辅助测试,可以和我联系。


--  作者:fly
--  发布时间:2011/7/15 14:59:32
--  

极有可能是订阅双数据引起的.

先谢谢楼主对金字塔的支持和关注.


--  作者:zealot123
--  发布时间:2011/7/16 10:42:05
--  
这个问题太重要了!!
--  作者:王锋
--  发布时间:2011/7/16 11:13:31
--  

这个问题是金字塔后台的多核CPU特殊的运行机制造成。

dynainfo属于动态行情常数函数,调用这个函数后金字塔会直接从行情缓冲区读取到当前的最新的行情报价是个常数。但是后台的系统在你使用CLOSE时,由于CLOSE是个序列数据,金字塔需要从第一个有效周期返回整个序列数据,返回常数数据要比序列数据所用时间要短的多,由于后台是另外一个CPU核独立运行,故这种短暂的行情差异是会存在的,也就是后台正在计算整个C序列时dynainfo在另外一个主线程CPU上已经更新。由于你启用了行情订阅,那么理论上金字塔会取最快的一路数据,故这种情况出现的概率就明显增大了。

由于图表的计算和显示是在一个CPU线程上执行的,故你所说的情况在图表上是不会出现的。如果楼主对这些差异性要求苛刻,那么建义楼主放弃后台,改用图表交易

[此贴子已经被作者于2011-7-16 11:16:19编辑过]

--  作者:paulshen
--  发布时间:2011/7/16 16:18:26
--  异常数据问题测试结果和建议

谢谢你的解释。

 

我在运行后台模型的时候,仅设了100个周期,且运行在序列模式下。检测到的2点以上的差异很多,如果差异较大,比如10点以上,就会引起不正常交易。我感觉,应该不是我对这些差异要求苛刻,而是这种差异确实过大了,程序应该有改进的余地吧。

 

你们辛辛苦苦搞的后台交易,就这样放弃,太可惜了吧。而且后台有很多前台所不能比拟的优势,比如实际交易和图表不一致的问题,对于短线而言至关重要。

 

我目前的做法是,如果检测到2点以上的差异,就禁止开平仓操作,目前还没有发现问题。这样做会有什么潜在风险吗?

 

 

 


--  作者:zealot123
--  发布时间:2011/7/16 17:18:14
--  

买一和卖一是正常的,请问最新价dynainfo(7) 是正常的吗?


--  作者:王锋
--  发布时间:2011/7/16 18:18:59
--  

是哪个品种10个点?如果是铜的的话就1个价位而已,但是如果股指的话就不得了了。

另外,你指的100个周期你是如何设置的?因为从你的描述上来看,可能你后台执行了比较多的策略或者品种等,因为后台执行总时间越长,那么出现该问题的概率也就越大。

如果检测到2点以上的差异,就禁止开平仓操作,目前还没有发现问题。这样做会有什么潜在风险吗?---没有任何风险的,这样做其实更好一些,等于在行情在短期内大幅波动的时候做了一些人工的过滤


--  作者:paulshen
--  发布时间:2011/7/17 0:57:36
--  

我没查dynainfo(7) ,回头加上看看。

 

我主要做的是股指,CF也在模拟,但还没发现这个问题。股指出现2点以上的差异很频繁的。

 

100个周期是从选项->维护里内存和图形显示里设的。我的后台策略一点都不复杂,高频下扫描下,CPU也就占3-6%。以前没有用高频的时候,也出过这个问题。