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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 怎么定义MACD金叉死叉最高最低价

   

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


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

主题:怎么定义MACD金叉死叉最高最低价

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


加好友 发短信
等级:论坛游侠 帖子:102 积分:0 威望:0 精华:0 注册:2017/5/18 22:49:30
怎么定义MACD金叉死叉最高最低价  发帖心情 Post By:2017/11/7 10:10:58    Post IP:180.169.30.6[只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1111png.png
图片点击可在新窗口打开查看
如我图上所示怎么能取到出来MACD上个金叉到死叉的过程中的最高价,MACD上个死叉到金叉的过程中产生的最低价?

我是这样写的 不知道对不对 我想要的是价格大于前一个金叉的最高价做多,小于前一个死叉的最低价做空

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : =EMA(DIFF,9);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
jc:=cross(diff,dea);
sc:=cross(dea,diff);
jc1:=BARSLAST(jc) ;
sc1:=BARSLAST(sc);
hh:=hhv(h,jc1);
ll:=llv(l,sc1);


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


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

1.至少要求出2次金叉或者2次死叉的位置才行。 比如你最近一次是死叉,那还要计算下上上次死叉的位置,是金叉则要计算出上上次金叉的位置。 上次金叉到死叉和上次死叉到金叉至少需要三个点,2死叉1金叉或者2金叉1死叉。

 

2.hh的计算还要ref 一下才行。 比如上次死叉距离现在的位置sc1,上次金叉jc1,且最近一次是死叉。 那么ref(hhv(h,jc1),sc1);就是最近一次金叉到死叉的最高价。ll也是类似的。



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


加好友 发短信
等级:论坛游侠 帖子:102 积分:0 威望:0 精华:0 注册:2017/5/18 22:49:30
  发帖心情 Post By:2017/11/7 14:26:36    Post IP:123.163.19.15[只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:123213.png
图片点击可在新窗口打开查看
写了一下还是不行,我这个是红方狂标记的做空点位是MACD在死叉后也就是波峰的最低价,如果后边价格一旦突破这个价格就做空 图标显示的价格完全不一样,

粉色框的标记的做多是价格如果突破这里再开始做多,但是再最后边一个白色箭头的位置就开始做多了完全不是我要的意思,我的代码如下请大神帮我改改:

 

策略思路是突破前一个金叉形成的最高地做多,突破前一个死叉形成的最低点做空

 

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : =EMA(DIFF,9);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
jc:=diff<=dea;
sc:=diff>=dea;
jc1:=BARSLAST(jc) ;
sc1:=BARSLAST(sc);

hh:ref(hhv(h,jc1),jc);
ll:ref(llv(l,sc1),sc);
ma1:ma(c,10);
//PARTLINE(jc1,hh,COLORRED);
//PARTLINE(sc1,ll,COLORGREEN);

KD:=C>REF(hh,1) ;          //开多条件
PD:=ref(c,1)<ref(ma1,1);          //平多条件
KK:=C<REF(ll,1);          //开空条件
PK:=ref(c,1)>ref(ma1,1);          //平空条件


平空:SELLSHORT(PK,1,LIMITR,OPEN);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,LIMITR,ref(hh,1)+1*MINDIFF);          //开多信号
平多:SELL(PD,1,LIMITR,OPEN);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,LIMITR,ref(ll,1)-1*MINDIFF);     //开空信号


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


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

你把你的思路表述清楚些。然后我们尝试给你一个范例



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


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

h:ref(hhv(h,jc1),jc);
ll:ref(llv(l,sc1),sc);

 

这里这样不对吧。

 

hh:=ref(hhv(h,jc1),sc1);
ll:=ref(llv(l,sc1),jc1);



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


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

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);
n2:sumbars(macd<0 and ref(macd>0,1),1);
上一个死叉的最低价:ref(llv(low,n2),n1);
上一个金叉的最高价:ref(hhv(HIGH,n1),n2);


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


加好友 发短信
等级:论坛游侠 帖子:102 积分:0 威望:0 精华:0 注册:2017/5/18 22:49:30
  发帖心情 Post By:2017/11/7 15:43:39    Post IP:123.163.19.15[只看该作者]

xiexie zhe ci dui le 图片点击可在新窗口打开查看


 回到顶部