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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【多头趋势策略】MACD柱线与价格的经典战法

   

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


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

主题:【多头趋势策略】MACD柱线与价格的经典战法

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
【多头趋势策略】MACD柱线与价格的经典战法  发帖心情 Post By:2019/11/1 14:06:31 [只看该作者]

      MACD指标是市场上绝大多数投资者熟知的分析工具,一般研判标准主要是围绕快速和慢速两条均线及红、绿柱线状况和它们的形态展开。但在具体运用时,会在运用的准确性、实效性、可操作性上有很多茫然的地方,本例采用MACD指标柱状图分析法,研判底背离的情况

一、MACD底部背离的策略思路


1,本波绿柱面积没有创新低:本波绿柱的面积小于前一波绿柱的面积。
2,本波绿柱长度没有创新低:本波绿柱过程中的MACD最低值大于前一波绿柱中的最低值。
3,行情价格出现了新低:      本波绿柱过程中的行情的最低价小于前一波绿柱中的最低价。

     以上思路是严格的MACD底背离的判断,即价格新低,但柱子面积和柱子长度都没有新低


按此在新窗口浏览图片

 

量化分析后伪代码:


//当绿柱开始收缩时(熊市即将结束,可能反转向上(或低位盘整)),如果出现低背离,则少量建仓

 

IF all(macd<0,3) and ref(macd,1)<macd and ref(macd,1)<ref(macd,2) THEN

IF  本波截止到目前的绿柱面积〈 前一波绿柱面积                                      //柱子面积没有新低

 + 本波绿柱过程中的MACD最低值  〉前一波绿柱中的最低值                   //长度没有新低

 + 本波绿柱过程中的最低价   〈  前一波绿柱中的最低价                         //价格新低

THEN BUY.

 

//绿柱消失、红柱开始放出时(下跌行情(或低位盘整)已经结束),如果出现低背离,则加仓

 

IF ref(macd<0,1) and macd>0 THEN

IF 前一波绿柱面积 〈 更前一波绿柱面积                                               //柱子面积没有新低

 + 最近一波绿柱过程中的MACD最低值  〉更前一波绿柱中的最低值    //长度没有新低

 + 最近一波绿柱过程中的最低价   〈  更前一波绿柱中的最低价          //价格新低

 THEN BUY。


二、金字塔策略源码


//全局变量

variable:gsum=0;   //gsum绿柱总和
variable:glong=0;  //glong最长绿柱
variable:glow=0;   //glow绿柱区域最低价


//中间变量

//MACD指标

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

 

gnum:=barslast(ref(macd>0,1) and macd<0);     //红转绿
bnum:=barslast(ref(macd<0,1) and macd>0);    //绿转红



if ref(macd,1)>0 and macd<0 then 
begin
   gsum:=0;                                                            //绿柱开始,清0
   glong:=0;                                                          //绿柱开始,清0
   glow:=low;                                                      //绿柱开始,初始化
end


if macd<0 then 
begin
   gsum:=gsum+macd;                                          //累加
   if abs(macd)>abs(glong) then glong:=macd; //如果绿柱更长,则记录
   if low<glow then glow:=low;                           //如果价格更低,则记录
end

 

numb:=max(gnum,bnum)+1;


//交易条件
con1:=abs(gsum)<abs(ref(gsum,numb));      //面积小于前一波--面积没创新低
con2:=abs(glong)<abs(ref(glong,numb));    //柱子长度小于前一波----长度没创新低
con3:=glow<ref(glow,numb);                    
 //价格小于前一波-----价格创新低

 

 

//下单模块
//当绿柱开始收缩时(熊市即将结束,可能反转向上(或低位盘整)),如果出现低背离,则少量建仓

if all(macd<0,3) and ref(macd,1)<macd and ref(macd,1)<ref(macd,2) then
begin
   if con1 and con2 and con3 then buy(1,1,market);       //低背离,面积没创新低,长度没创新低,价格创新低
end

 

//绿柱消失、红柱开始放出时(下跌行情(或低位盘整)已经结束),如果出现低背离,则加仓
if ref(macd<0,1) and macd>0 then
begin
    if con1 and con2 and con3  then 加:buy(1,1,market);    //低背离,面积没创新低,长度没创新低,价格创新低
end


//如果下破零轴,平仓离场
if  CROSS(0,MACD) and diff<0 then sell(holding>0,holding,market);




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

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

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

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


加好友 发短信
等级:新手上路 帖子:88 积分:0 威望:0 精华:0 注册:2020/2/4 11:41:22
  发帖心情 Post By:2020/2/14 18:15:13 [只看该作者]

没有回测数据吗?

 回到顶部