欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]跨周期引用的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3001人关注过本帖树形打印复制链接

主题:[求助]跨周期引用的问题

帅哥哟,离线,有人找我吗?
jyd1130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:2 积分:0 威望:0 精华:0 注册:2019/11/27 13:48:15
[求助]跨周期引用的问题  发帖心情 Post By:2019/11/27 13:58:09    Post IP:49.73.234.173[只看该作者]

15min周期里面引用另一个指标2小时的数据,需要引用12个数据。
问题1:怎样写才能性能最优。目前这12个数据一个一个引用太卡了,有没有一种写法可以计算一次,然后随便调用各个数据?
问题2:是1min的120根:STKINDI('','a.MA1',0,21,120);
还是1小时的2根:STKINDI('','a.MA1',0,24,2);
这两个写法哪个好?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/27 14:18:36    Post IP:180.169.30.6[只看该作者]

 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:2 积分:0 威望:0 精华:0 注册:2019/11/27 13:48:15
  发帖心情 Post By:2019/11/27 21:47:22    Post IP:58.208.225.184[只看该作者]

好的,谢谢!我用这个方式"a.MA1#HOUR2";引用了下,为什么k线上没有立即出来所有的2小时数据?得把k线缩很小才能显示一部分引用的2小时数据

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/11/28 9:03:42    Post IP:180.169.30.6[只看该作者]

 "a.MA1#HOUR2";
好像没有这种周期参数吧。里面的多小时周期应该是MULTIHOUR,这个周期具体值是和 工具-选项-多周期  里面的多周期对应的。  这种调用在周期参数有误时候不会报错,是采用了某种默认处理了。另外2小时周期的话,你要补充足够五分钟数据。


命数如织,当如磐石。
 回到顶部