以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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运行, 建议你从自己的策略整体入手,优化你当前的策略,以及降低参与计算的数据量,(或者考虑提升计算机配置)
|