Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求MACD顶背开单(有底背代码请修改 )

1楼
学走的少年 发表于:2017/11/27 10:58:33
老师您好,以下底背离开单代码,麻烦帮我换成顶背离开空单的,谢谢!



//MACD指标背离
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD := 2*(DIFF-DEA), COLORSTICK; //MACD原来的
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 M背加:buy(1,1,market);//低背离,面积没创新低,长度没创新低,价格创新低
end

2楼
学走的少年 发表于:2017/11/28 8:41:17
图片点击可在新窗口打开查看图片点击可在新窗口打开查看
3楼
pyd 发表于:2017/12/8 15:28:21

//MACD指标背离
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD := 2*(DIFF-DEA), COLORSTICK; //MACD原来的
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
 ssum:=0;    //红柱开始,清0
 slong:=0;    //红柱开始,清0
 shigh:=high;  //红柱开始,初始化
end
if macd>0 then
begin
ssum:=ssum+macd; //累加红柱
if abs(macd)>abs(slong) then slong:=macd; //如果红柱更惨,则记录红柱
if high>shigh then shigh:=high;      //如果价格更高,则记录最高价
end
nums:=max(gnum,bnum)+1;
con4:abs(ssum)<abs(ref(ssum,nums)); //面积小于前一波--面积没创新低
con5:abs(slong)<abs(ref(slong,nums));//柱子长度小于前一波----长度没创新低
con6:shigh>ref(shigh,nums);     //价格大于前一波-----价格创新高
if ref(macd>0,1) and macd<0 then
begin
    if con4 and con5 and con6  then buyshort(1,1,market);//低背离,面积没创新低,长度没创新低,价格创新低
end

 

共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 4.81836 s, 2 queries.