以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请问只引用一次 怎么编写?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160145)

--  作者:dfg123
--  发布时间:2017/12/5 9:57:48
--  请问只引用一次 怎么编写?
想在每天开盘第一根   引用别的指标参数       开盘之后  这个语句就不再执行  请问怎么写 能终止执行
--  作者:FireScript
--  发布时间:2017/12/5 10:03:05
--  

有办法的,用这个函数:TODAYBAR。 值为1的时候表示当前K是当天第一个K线, 你把要执行的代码部分用这个条件限定下就OK了。


--  作者:dfg123
--  发布时间:2017/12/5 10:08:09
--  
请问 TODAYBAR=2 时候      是不是TODAYBAR=1时候引用这个语句就不计算了   效率会提高点?
--  作者:FireScript
--  发布时间:2017/12/5 10:21:10
--  

这个不是很明白你的意思。 这个语句的判断在每个K上都会做的。和等于几没啥关系吧。


--  作者:dfg123
--  发布时间:2017/12/5 10:32:40
--  
就是 开盘 我只需要引用一次数据 就够了    但是现在 每一根都从别的指标引用一次     在一分钟上很卡    
--  作者:wenarm
--  发布时间:2017/12/5 10:35:27
--  

不行,这个牵扯到运行机制的问题。公式每执行一次,引用的语句就会被执行一次。

你可以用stkindiex,限定引用的数据量,以提高速度。

 


--  作者:FireScript
--  发布时间:2017/12/5 10:36:51
--  
在历史K上也有TODAYBAR=1的触发的,应该是这里的问题。 你代码怎么写的,被引用的指标计算很复杂吗?当前图表K线量大不大?
--  作者:dfg123
--  发布时间:2017/12/5 10:59:49
--  
IF TODAYBAR=1 THEN
A:CALLSTOCK(STKLABEL,VTCLOSE,1,0);

B:VALUEWHEN(TODAYBAR=1 ,A );


这么写 对公式的效率 有没有提升?  在第二根以后的运算中   这个 A  还会不会被计算?  被引用的指标不复杂  策略本身比较复杂 尤其在一分钟图上

--  作者:wenarm
--  发布时间:2017/12/5 11:13:47
--  

这种写法没有任何意义、建议你先理解金字塔下的策略运行机制,然后在考虑这类问题。

 

如果你只是将提升自己引用部分的运行效率,最好用CALLSTOCKEX,没有其他方法。尤其是图表交易系统只能是逐k运行,

建议你从自己的策略整体入手,优化你当前的策略,以及降低参与计算的数据量,(或者考虑提升计算机配置)