geek002 发表于 2020-3-10 18:33:30

【宽客策略】MACD柱线与价格的经典战法

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 con3then 加:buy(1,1,market);    //低背离,面积没创新低,长度没创新低,价格创新低
end


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





页: [1]
查看完整版本: 【宽客策略】MACD柱线与价格的经典战法