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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于MACD的顶底背离

   

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


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

主题:关于MACD的顶底背离

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 9:10:48    Post IP:58.246.57.26[显示全部帖子]

先问下拐点用户是如何定义的?有没有图片说明的?


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 10:59:02    Post IP:58.246.57.26[显示全部帖子]

高低拐点到现在的周期数需要加一,不加一就是拐点后面的第一根k线位置

BottumPointCount := BARSLAST( ( DIFF > REF(DIFF, 1) ) AND ( REF(DIFF, 2) > REF(DIFF, 1) ) )+1;
TopPointCount := BARSLAST( ( DIFF < REF(DIFF, 1) ) AND ( REF(DIFF, 1) > REF(DIFF, 2) ) )+1;

 

还有高低拐点的diff值你这样写我不明白是为什么
//拐点DIFF值
BottumPointDIFF := REF(DIFF, 1);
TopPointDIFF := REF(DIFF, 1);

组后这个周期内diff最小值是什么意思不明白,看不懂这个算法
//周期内DIFF最小值
DIFFMin := LLV(DIFF, BottumPointCount + Term);

[此贴子已经被作者于2016/3/25 10:59:52编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 13:24:47    Post IP:58.246.57.26[显示全部帖子]

1.意思是以拐点之后的一根k线定义为拐点?

2找到此拐点到前term周期内的diff最小值.

不能这样写,要写成:

DIFFMin := ref(LLV(DIFF,  Term),bottumpointcount);


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 14:30:29    Post IP:58.246.57.26[显示全部帖子]

那么拐点不是之后那一根,所以要按照我写的那样加个1,不然你的拐点是拐点之后的一根,而且我这样写也是在拐点之后一根k线确定拐点才成立的


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 14:56:08    Post IP:58.246.57.26[显示全部帖子]

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD : 2*(DIFF-DEA), COLORSTICK;


//DIFF底背离:

//拐点到当前的周期数
BottumPointCount := BARSLAST( ( close> REF(close, 1) ) AND ( REF(close, 2) > REF(close, 1) ) )+1;

//拐点最低价
BottumPointPrice := REF(diff, BottumPointCount);

//拐点DIFF值
BottumPointDIFF := REF(close, 1);

//周期内DIFF最小值
DIFFMin := ref(LLV(close, term),BottumPointCount );

//DIFF最小值到当前的周期数
DIFFMinCount :=ref( LLVBARS(close,term), BottumPointCount )+bottumpointcount;

//MACD最小值时的最低价
DIFFMinPrice := REF(diff, DIFFMinCount);

 

基本上是diff和close的对换,然后改掉一点原本错误的地方即可



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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 14:57:52    Post IP:58.246.57.26[显示全部帖子]

2.寻找出每一个点然后定位到这些点吗?

3.图片以附件的形式上传,不能直接发图



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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 15:34:58    Post IP:58.246.57.26[显示全部帖子]

数组循环上有点问题在调试,


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 16:11:56    Post IP:58.246.57.26[显示全部帖子]

variable:n[20]=0;


for i=1 to 20 do begin
 if ref(ref(l,i),bottumPointCount)<bottumpointdiff then n[i]:=i;
end
for i=1 to 20 do begin
 if n[i]=0 then
 begin
   REMOVEBOUND(n,i);
   i:=i-1;
 end;
end

 

符合条件的周期数都在数组N里面,获取N有多少个元素,即满足条件的拐点有几个的方法是:ubound(n);

然后获取满足条件的拐点是:比如用上面的办法得出的结果是5,那么就表示有5个,第一个满足条件的低点为:ref(ref(l,n[1]),bottompointcoun),第二个为:ref(ref(l,n[2]),bottompointcoun),....一直到第五个

 



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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 16:29:16    Post IP:58.246.57.26[显示全部帖子]

像上面那样的枚举取值,循环取值因为数组元素是未知数,所以不能循环取



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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/25 16:57:19    Post IP:58.246.57.26[显示全部帖子]

可以放在循环里面

运行之后出结果,这个时候再写代码枚举,是不方便



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

客户服务部

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

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

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