以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  后台模型设置了“快速计算”一问  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=160326)

--  作者:uranusmoon
--  发布时间:2017/12/11 15:06:26
--  后台模型设置了“快速计算”一问
后台模型设置了“快速计算”,发现输出的barpos值并不等于“快速”设置的值。请教“快速”设置的原理
[此贴子已经被作者于2017/12/11 15:07:01编辑过]

--  作者:banzhuan
--  发布时间:2017/12/11 15:29:30
--  
1. 可以限定参与计算的K线数目,从而减少运算量,提高指标执行效率;
2. 设置为0表示全部计算,就是说客户端本地有多少根K线,系统就会把他们都用于计算,如果设置为100,那么系统就会只将最后100根K线用于计算,更早的K线都是不参与指标运算的。

--  作者:uranusmoon
--  发布时间:2017/12/11 15:36:03
--  
我本以为,限制了参与运算的k线数量,比如设置为100,输出barpos值会恒等于100。结果是barpos的值是逐渐增加的。可能我把“快速计算”与后台设置中的“使用指定数量数据刷新计算”混淆了。二者都可以提高计算速度,请解释一下二者的区别。
[此贴子已经被作者于2017/12/11 15:36:45编辑过]

--  作者:gxx978
--  发布时间:2017/12/11 16:24:41
--  

1、使用逐K模式,每来一个分笔数据,则都是从第一根K线开始进行指标运算,使用了快速计算这里的数量限定,则只在最近的多少根k线上进行指标运算,提高了运算效率。序列模式则不存在这个问题,每来一个分笔都只在最新的K线上运算。

2、后台中指定的数量,这个是限定参与计算的K线数量,在后台中的最后一根K上输出barpos是固定的,即为使用指定数量刷新的K线数。每增加新的一根K线,就会把最前面的K线剔除出计算。图表上输出是每新来一根K线,barpos就会逐渐增加1,而不会剔除。

3、两者的概念不一样,前者是指定参加指标运算的历史K线数量,后者是指定被使用的K线数量。


--  作者:uranusmoon
--  发布时间:2017/12/12 17:23:31
--  
大体明白了。另,如果设定了快速计算的公式中有跨周期引用,被引用公式是否需要也设置快速计算?
--  作者:wenarm
--  发布时间:2017/12/12 21:25:27
--  
不需要,这种方式不够灵活,你可以使用stkindiex的方式引用自己需要范围内的数据