我的公式策略里,按日线周期运行,有如下语句调用另一指标公式值(该被调用的公式计算需要用股票全部日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是否正确?
1、在本地预警中的指定数量,是指在你的策略计算刷新需要的K线根数,看你的策略需需求了。
2、使用stkindiex是需要指定计算的K线数量的,不能填0。stkindi是不需要指定数量的。不太清除你QS公式中的PCR是怎么写的。
[此贴子已经被作者于2017/6/23 10:59:17编辑过]
关于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值得设定有什么关联关系?
还请老师耐心分析下,谢谢!
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编辑过]