以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=173309) |
-- 作者:jyd1130 -- 发布时间:2019/11/27 13:58:09 -- [求助]跨周期引用的问题 15min周期里面引用另一个指标2小时的数据,需要引用12个数据。 问题1:怎样写才能性能最优。目前这12个数据一个一个引用太卡了,有没有一种写法可以计算一次,然后随便调用各个数据? 问题2:是1min的120根:STKINDI(\'\',\'a.MA1\',0,21,120); 还是1小时的2根:STKINDI(\'\',\'a.MA1\',0,24,2); 这两个写法哪个好?
|
-- 作者:FireScript -- 发布时间:2019/11/27 14:18:36 -- 1.跨周期调用有一些优化建议。 一般如果是下面这种情况:引用a指标下的2个变量 x,y 然后调用过来之后再进行x,y之间计算。这种情况是可以把x,y相关的计算在a里面计算好,然后再调用过来。这样可以减少一次调用。 如果不跨品种。 这种方式效率更高。 x:"MACD#DAY(26,10,5)"; 引用操作符 例如: "INDIE.VAR"(P1,P2) 引用INDI指标的VAR输出,计算参数为P1,P2。若没有指定公式线,系统将取最后一行公式输出 数据类型有TICK、MIN1、MIN3、MIN5、MIN10、MIN15、MIN30、MIN60、DAY、WEEK、MONTH、YEAR、MULTIDAY、MULTIMIN、MULTISEC、MULTIHOUR、QUARTER、SEMIYEAR、SOLARTERM "MACD#WEEK"(26,10,5) 引用周线数据的MACD指标最后一行公式输出 "MACD"表示该指标的最后—行公式输出并且使用公式的默认参数。 "000001$CLOSE" 引用品种000001的收盘价 "SZ000001$CLOSE#WEEK" 引用SZ市场的品种000001周线收盘价 "VOL##DAY"引用日线数据的前一周期的VOL指标 引用数据时,需要实现确认被引用品种周期数据齐全,再首次使用或者在不确定时,请手工进行数据补充工作 "DLLNAME@FNCNAME"(P1,P2) 引用DLLNAME.DLL的FNCNAME函数,计算参数为P1,P2 用户函数模式:#用户函数.指标线(参数)# 例如:#test01.B1(20,45)#,表示调用test01指标的B1输出线,参数为20和45,使用用户函数模式比扩周期引用更加节省内存,提高运行效率. 所属函数组:控制语句 2.这2种写法上没太大差异。大周期都是小周期合并过来的。但是第二种方式 是用5分钟合成的,可能在计算上会少点这样子。
|
-- 作者:jyd1130 -- 发布时间:2019/11/27 21:47:22 -- 好的,谢谢!我用这个方式"a.MA1#HOUR2";引用了下,为什么k线上没有立即出来所有的2小时数据?得把k线缩很小才能显示一部分引用的2小时数据 |
-- 作者:FireScript -- 发布时间:2019/11/28 9:03:42 -- "a.MA1#HOUR2"; 好像没有这种周期参数吧。里面的多小时周期应该是MULTIHOUR,这个周期具体值是和 工具-选项-多周期 里面的多周期对应的。 这种调用在周期参数有误时候不会报错,是采用了某种默认处理了。另外2小时周期的话,你要补充足够五分钟数据。
|