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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于小周期调用大周期产生的问题

   

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


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

主题:关于小周期调用大周期产生的问题

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


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
关于小周期调用大周期产生的问题  发帖心情 Post By:2017/9/11 12:04:42    Post IP:110.16.79.74[只看该作者]

我想在一分钟图上调用五分钟周期的MACD红柱到当前的周期数,公式如下:

5fmacd:=stkindi('','macd.macd1',0,2,-1);//5分钟周期的MACD值,因为是在一分钟图上使用,帮用了偏移值-1

r5fmacd:=stkindi('','macd.macd1',0,2,-2);//5分钟周期的前一MACD值。

mm5:=sumbars(5fmacd>0 and r5fmacd<0,1);//当5分钟MACD变为红柱时到当前的周期数。


在使用过程上发现一个问题:当5分钟MACD变为红柱后,在一分钟图上的mm5的值一直为1,一直到5分钟的第2根红柱后,mm5才会从2开始正常计数。比如:11:00整,5分钟的MACD变成了红柱,那么在一分钟图上,11:01、11:02、11:03、11:04、11:05的时候,mm5的值一直为1,直到11:06分才开始变成2,然后是3、4、5、、、开始正确的累加。

请问:这个问题如何解决?(实际过程中,我是把mm5再加5来解决的,但这样一加5会引起另外一系列的问题,由于引起的问题较为复杂,所以先来问问这一项是否有什么办法处理?谢谢。)



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


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

 

建议你把r5fmacd5fmacd在图表上输出下。5fmacd>0 and r5fmacd<0 也输出下。看看这几个数据是否正常。 另外这个引用的数据你需要自己补充下,引用的时候是不会自动补充缺少的数据的。

 

你最初的需求是什么样子的?看看能不能不用那个sumbars函数。

[此贴子已经被作者于2017/9/11 13:49:22编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
c100010231
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
  发帖心情 Post By:2017/9/11 22:01:30    Post IP:1.180.205.252[只看该作者]

什么是输出一下?不懂图片点击可在新窗口打开查看
这样吧,我把我的意图说一下,希望能得到解决。
其实目的是这样:我需要在1分钟周期上得到5分钟周期MACD为红柱时的最高值到现在的周期数(如果在5分钟为红柱时期间里有两个相同的高点,则求最后一个高点到现在的周期数,因为有这个要求,故无法使用HHVBARS这个函数),请问如何达到这个目的?谢谢。

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/12 8:21:02    Post IP:180.169.30.6[只看该作者]

你逻辑处理上有点问题,如果最后结果是需要求出来5分钟周期上的最高价格的位置,那公式应该是直接引用5分钟周期上的最终结果,而不是引用中间变量在1分钟上参与计算。

 

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);
n1:=sumbars(macd>0 and ref(macd<0,1),1);
hh:hhv(h,n1);//红柱最高值
mm5:BARSLAST(high=hh);//红柱以来到现在最近一次的最高值位置

直接引用mm5就是你需要的值。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
c100010231
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
  发帖心情 Post By:2017/9/13 10:02:47    Post IP:110.16.79.74[只看该作者]

谢谢回复。
可是,我是在一分钟周期上来用,如果按照您这个公式,n1求得的是一分钟红柱的值,并不是五分钟的呀?
您的意思是不是把您的这个公式做成一个指标公式,然后在一分钟里引用这个mm5?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/13 10:05:48    Post IP:180.169.30.6[只看该作者]

是的,根据你前面的表示,你应该是想在1分钟周期上得到5分钟周期中的最近一次的红柱以来的最大值,那就是应该吧上面的指标作为一个单独的公式,

在一分钟上有stkindi引用5分钟下的mm5。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
c100010231
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
  发帖心情 Post By:2017/9/13 10:07:36    Post IP:110.16.79.74[只看该作者]

也不对哈。如果是在一分钟周期里直接引用mm5,是不妥当的。因为,如果把您的公式做成一个指标公式来引用,那么mm5的值还需要×5才是在一分钟里的正确的周期值,是这样么?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/13 10:12:26    Post IP:180.169.30.6[只看该作者]

那就是我对你表述的需求理解有偏差,请重新说明下你的需求,最好有相关的附图解释

[此贴子已经被作者于2017/9/13 10:12:41编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
c100010231
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
  发帖心情 Post By:2017/9/13 10:25:10    Post IP:110.16.79.74[只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看

如上图,我想在1分钟周期图上得到自5分钟周期图上的MACD变为红柱以来的最高值(这个值在1分钟图上是黄箭头所指550.0,此时,5分钟图上的MACD虽已变为绿柱也无妨)到当前的周期数。


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


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
  发帖心情 Post By:2017/9/13 10:26:28    Post IP:110.16.79.74[只看该作者]

上张图,是铁矿连续现在的走势图。


 回到顶部
总数 18 1 2 下一页