以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  请教本地预警交易-程序化条件设定-使用指定K线根数问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=155362)

--  作者:douglas
--  发布时间:2017/6/23 10:40:09
--  请教本地预警交易-程序化条件设定-使用指定K线根数问题
我的公式策略里,按日线周期运行,有如下语句调用另一指标公式值(该被调用的公式计算需要用股票全部日K线计算才准确)
PCR:=STKINDIEX(STKLABEL(),\'QS.PCR\',0,6,0,0);

公式里其他计算都只需要用当前k线值即可。

请问:
1、我在地预警交易里的程序化条件设定里,“使用指定数量数据刷新计算”这个选项,我应该设置多少呢?
2、PCR:=STKINDIEX(STKLABEL(),\'QS.PCR\',0,6,0,0)语句里,要用个股的全部K线计算,K线根数设置0是否正确?

--  作者:gxx978
--  发布时间:2017/6/23 10:58:25
--  

1、在本地预警中的指定数量,是指在你的策略计算刷新需要的K线根数,看你的策略需需求了。

2、使用stkindiex是需要指定计算的K线数量的,不能填0。stkindi是不需要指定数量的。不太清除你QS公式中的PCR是怎么写的。

[此贴子已经被作者于2017/6/23 10:59:17编辑过]

--  作者:douglas
--  发布时间:2017/6/23 11:26:43
--  
关于1、我的策略公式本身只需要当前K线值就足够了,但是引用的公式PCR:=STKINDIEX(STKLABEL(),\'QS.PCR\',0,6,0,0)里用到了EMA需要历史迭代的计算,该计算用个股所有K线数据最准确。PCR公式里主要都是类似如下代码
A1:=EMA((EMA(CLOSE,1)+EMA(CLOSE,3)+EMA(CLOSE,5))/3,3);
PCR:CROSS(CLOSE,A1);

2、stkindiex里不能填0吗。我现有的策略(不论是图表交易模式、还是后台交易模式)公式都是这么写的,显示出来的信号没有问题。

‘我的疑问是:本地预警交易里的程序化条件设定里,“使用指定数量数据刷新计算”这个选项,和策略公式里引用其他公式时,DATANUM值得设定有什么关联关系?

还请老师耐心分析下,谢谢!



--  作者:gxx978
--  发布时间:2017/6/23 13:24:14
--  

1、真正使用后之前历史上所有日线的是EMA函数,而不是stkindiex函数,只要你的日线数据补充完整,ema函数都是从你本地数据中该品种的第一根日线开始计算的,不需要指定K线数量,一直迭代计算到你最新的那一根K线上,然后输出值通过stkindi函数引用到。

2,DATANUM参数是控制K线上引用的数量的,比如填100,那就是在最近的100根K线上,每根K都会引用到相应的值,这样会提高引用效率,避免在每一根K线上引用。如果你填了100,那相应的在本地预警中的设定的K线数量也需要大于等于100的。

3,你stkindiex最后一个参数填0的话,那效果和stkindi是一个意思啊,就是不指定K线数量,每根K线上都会计算引用的值的。

[此贴子已经被作者于2017/6/23 13:28:45编辑过]

--  作者:douglas
--  发布时间:2017/6/23 16:02:37
--  
好的,我再调试核实一下。