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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求助跨周期引用产生的信号闪烁问题的解决方法

   

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


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

主题:求助跨周期引用产生的信号闪烁问题的解决方法

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


加好友 发短信
等级:标准版用户 帖子:323 积分:0 威望:0 精华:0 注册:2015/11/3 9:41:16
求助跨周期引用产生的信号闪烁问题的解决方法  发帖心情 Post By:2016/1/14 10:38:35    Post IP:116.113.89.198[只看该作者]

/利用下面算法可以解决在1分钟周期下引用5分钟MA均线产生未来数据的问题
//下面例子以在1分钟周期下引用5分钟周期下的MA5均线为例作为讲解,大家可以学习方法然后扩展到任意周期任意指标;

{
算法的原理是:利用MA均线的算法可知,将前4根5分钟K线的收盘价相加,然后再加上当前1分钟的收盘价,
取得这5根K线收盘价总和之后,除以5,即是当根1分钟K线收盘那一时间点所对应的5分钟K线下的MA5均线。

这个算法解决了下面具体问题,通常情况下,例如13.53分这根K线,在1分钟周期下引用5分钟周期数据时,引用的其实是引用的13.55分
这个时间点的5分钟数据,这种情况下将出现未来数据,系统把54分和55分这两分钟的数据也归到均线中去。
所以利用下面的算法将不再产生未来数据。
}


//取上4个五分钟整点K线的和,也就是求前4根5分钟K线收盘价的和;
M5:=IF(MOD(MINUTE,5)=0,CLOSE,0);
SUMMIN5MA4:=REF(SUM(M5,20),MOD(MINUTE,5));

//把四个5分钟K线的收盘价和当前1分钟的收盘价相加,再除以5,也就得出了此刻所对应的5分钟下的MA5了;
//这里分两种情况,一种是对于5分钟整点位置的均线也就是相当于直接调用5分钟下的MA5;另一种是对于不
//能够被5整除的K线,我们应当按照把四个5分钟K线的收盘价和当前1分钟的收盘价相加再除以5的方法来计算;
IF MOD(MINUTE,5)>0 THEN BEGIN
MIN5MA5A:=(SUMMIN5MA4+CLOSE)/5;
END;
ELSE BEGIN
MIN5MA5B:="MA.MA1#MIN5";
END;

//JG就是我们所要求的无未来数据的5分钟下的MA5均价数值;
JG:IF(MOD(MINUTE,5)=0,MIN5MA5B,MIN5MA5A);


//我们来跨周期调用一下5分钟下的MA5均线看看是否相同;如果“MIN5MA5A”始终与“MIN5MA5对比”相等,则目的达到;
MIN5MA5对比:"MA.MA1#MIN5";


以上是我在本论坛看到的一种方法。
感觉这方法很棒,但我费尽气力自己却无能力在其它指标上延伸,只好再来请教各位老师。
我想在一分钟周期上调用五分钟周期的DIFF值,请问,用以上方法如何做到?或者有没有更好的方法?

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/1/14 10:45:10    Post IP:58.246.57.26[只看该作者]

因为这是一个简单的MA函数,所以才能这样用,其他的复杂函数比如用户所需要的DIFF值里面,需要计算的EMA,就不能这样处理。所以这样的方法,也就只能用在MA上了


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


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

DIFF不也是长均线和短均线构成的么?把这个长均线和短均线的当下值用类似上面的方法代入到EMA里,这样不知道可不可以?

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/1/14 10:52:43    Post IP:58.246.57.26[只看该作者]

ma和ema就差了一个字母,看着像,但是算法上区别非常大。ma函数,就是一个算术求和然后平均的算法,用上面的方式就能算出来。而ema是一个很复杂的算法,并不适用上面的方法来做,


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


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

jinzhe老师,上次您就替我解决过关于这个不同周期调用产生的信号闪烁问题,方法是把STKINDI偏移一个周期。但这么一来,效果却大大缩减。
所以,劳烦您再调用一下您智慧的大脑,看看还有没有更好的方法解决这个问题?

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/1/14 11:04:05    Post IP:58.246.57.26[只看该作者]

用上面的算法实现的是stkindi引用不偏移,是有闪烁的。所以如果用户要想信号不闪烁,则还是需要使用偏移引用


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


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

如果是把一个想法编成另外一个指标,直接用在操作周期图上,就不会有信号闪烁的问题了。图片点击可在新窗口打开查看
jinzhe老师,全指望你了。图片点击可在新窗口打开查看

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/1/14 13:23:00    Post IP:58.246.57.26[只看该作者]

首先建立一个指标,命名为GS1,代码如下:

em:ema(c,n1),linethick0;


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


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/1/14 13:23:59    Post IP:58.246.57.26[只看该作者]

 

然后重新建立一个指标,任意命名,代码如下:

ee12:stkindi('','gs1.em(12)',0,2,-1);
ee26:stkindi('','gs1.em(26)',0,2,-1);
dd:=stkindi('','macd.dea',0,2,-1);
diff:2*c/13-2*c/27+11*ee12/13-25*ee26/27;
dea:2*diff/10+8/10*dd;
macd:2*(diff-dea)

这样就能 跨周期不偏移的引用diff,dea和macd了


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


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

jinzhe老师,我用你上述的方法,在未开盘时用着挺好,并没有以下提示,但今天在盘中总是跳出以下提示,请问是何原因?

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


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