以下是通达信利用macd控制仓位指标,请老师帮忙搞成
指标不是万能的,本人历来认为炒股之人,在决定入市之前,必须准确研判好趋势,在你无法确定趋势的情况下,最好远离股市,而指标能对我们研判趋势提供很好的帮助,但要记住,它绝不是救世主!
1、东北芳香版主所提之理念:
用MACD指标控制仓位
我们这时使用的是MACD指标,之所以使用这个指标是因为他是趋势类指标,在趋势的研判方面有他的稳定性。参数用指标的默认参数即可。
01 当DIF>0 AND DIF>DEA时 仓位可在2/3之上
02 当DIF>0出现死叉DEA时,仓位减半 若之后出现再次金叉DEA同时放量,则回补仓位
03 当DIF>0 同时出现顶背离的情况下死叉DEA时,清仓!仓位减半 若之后出现再次金叉DEA,不管是否放量,坚决不回补!
04 当DIF死叉0轴时,坚决清仓离场
当大盘MACD均为第一种情况时,
05 个股出现第一种情况时,大胆做多,加仓要果断
06 个股出现第二种时,适量减仓,一旦出现再次金叉DEA并同时放量时,果断回补仓位
07 个股出现第三种情况时,清仓!
08 个股出现第四种情况时,离场!
当大盘MACD出现第二种情况时,
09 个股出现第一种情况时,仓位最高为1/2
10 个股出现第二、三种情况时,清仓,若后期再次出现金叉,不回补!
当大盘出现第三种情况时,第一时间清仓,观望。
11 个股出现第一种情况时,要观察量价关系,若为正态分布,最高仓位为1/3
12 个股出现第二、三种情况时,清仓,若后期再次出现金叉,不回补!
当大盘出现第四种情况时,以观望为上
当大盘MACD在0轴之下运行时
13 个股出现第一种情况时,要观察量价关系,若为正态分布,最高仓位为1/4
14 个股出现第二、三种情况时,清仓,若后期再次出现金叉,不回补!
当大盘MACD在0轴之下出现底背离后,DIF>DEA,同时,个股变出现同样状况,可少量参与股性较活的个股,风格上必须为短线,快进快出。
2、按此编写MACD_KC指标原码:
参数设置:LONG(26,1,100,1); SHORT(12,1,40,1); M(9,2,60,1)
variable:dpHBL=0;
variable:gHBL=0;
variable:dpLBL=0;
variable:gLBL=0;
dpDIF:=ema(INDEXC,short) - ema(INDEXC,long);
dpDEA:=ema(dpDIF,M);
dpMACD:=2*(dpDIF-dpDEA);
gDIF:=EMA(C,SHORT) - EMA(C,LONG);
gDEA:=EMA(gDIF,M);
gMACD:=2*(gDIF-gDEA);
DIFF:=if(CATEGORY=0 or CATEGORY=3, dpDIF, gDIF);
DEA:=if(CATEGORY=0 or CATEGORY=3, dpDEA, gDEA);
MACD:=if(CATEGORY=0 or CATEGORY=3, dpMACD, gMACD);
dpHDIF:=if(ref(dpDIF,2)<=ref(dpDIF,1) and dpDIF<ref(dpDIF,1),ref(dpDIF,1),0);
dpLDIF:=if(ref(dpDIF,2)>=ref(dpDIF,1) and dpDIF>ref(dpDIF,1),ref(dpDIF,1),0);
gHDIF:=if(ref(gDIF,2)<=ref(gDIF,1) and gDIF<ref(gDIF,1),ref(gDIF,1),0);
gLDIF:=if(ref(gDIF,2)>=ref(gDIF,1) and gDIF>ref(gDIF,1),ref(gDIF,1),0);
dpT:=if(BARSLAST(dpHDIF)=0,ref(BARSLAST(dpHDIF),1)+1,BARSLAST(dpHDIF));
dpT1:=if(BARSLAST(dpLDIF)=0,ref(BARSLAST(dpLDIF),1)+1,BARSLAST(dpLDIF));
gT:=if(BARSLAST(gHDIF)=0,ref(BARSLAST(gHDIF),1)+1,BARSLAST(gHDIF));
gT1:=if(BARSLAST(gLDIF)=0,ref(BARSLAST(gLDIF),1)+1,BARSLAST(gLDIF));
if ref(dpHBL,1)=1 then begin
if dpHDIF<>0 then begin
dpHBL:=if(dpHDIF<=ref(dpHDIF,dpT),0,1);{新高>前高为1,其余为0}
end else begin
dpHBL:=ref(dpHBL,1);
end
end else begin
if dpHDIF<>0 then begin
dpHBL:=if(dpHDIF<=ref(dpHDIF,dpT),0,1);{新高>前高为1,其余为0}
end else begin
dpHBL:=ref(dpHBL,1);
end
end
if ref(dpLBL,1)=1 then begin
if dpLDIF<>0 then begin
dpLBL:=if(dpLDIF>=ref(dpLDIF,dpT1),0,1);{新低<前低为1,其余为0}
end else begin
dpLBL:=ref(dpLBL,1);
end
end else begin
if dpLDIF<>0 then begin
dpLBL:=if(dpLDIF>=ref(dpLDIF,dpT1),0,1);{新低<前低为1,其余为0}
end else begin
dpLBL:=ref(dpLBL,1);
end
end
if ref(gHBL,1)=1 then begin
if gHDIF<>0 then begin
gHBL:=if(gHDIF<=ref(gHDIF,gT),0,1);{新高>前高为1,其余为0}
end else begin
gHBL:=ref(gHBL,1);
end
end else begin
if gHDIF<>0 then begin
gHBL:=if(gHDIF<=ref(gHDIF,gT),0,1);{新高>前高为1,其余为0}
end else begin
gHBL:=ref(gHBL,1);
end
end
if ref(gLBL,1)=1 then begin
if gLDIF<>0 then begin
gLBL:=if(gLDIF>=ref(gLDIF,gT1),0,1);{新低<前低为1,其余为0}
end else begin
gLBL:=ref(gLBL,1);
end
end else begin
if gLDIF<>0 then begin
gLBL:=if(gLDIF>=ref(gLDIF,gT1),0,1);{新低<前低为1,其余为0}
end else begin
gLBL:=ref(gLBL,1);
end
end
dpA1:=dpDIF>0 and dpDIF>dpDEA;
gA1:=gDIF>0 and gDIF>gDEA;
dpA2a:=dpDIF>0 and cross(dpDEA,dpDIF);
dpA2b:=dpDIF>0 and cross(dpDIF,dpDEA) and INDEXV>ref(hhv(INDEXV,3),1) and INDEXV>ma(INDEXV,5);
gA2a:=gDIF>0 and cross(gDEA,gDIF);
gA2b:=gDIF>0 and cross(gDIF,gDEA) and V>ref(hhv(v,3),1) and V>ma(v,5);
dpA3:=dpDIF>0 and dpHBL=0 and cross(dpDEA,dpDIF);
gA3:=gDIF>0 and gHBL=0 and cross(gDEA,gDIF);
dpA4:=cross(0,dpDIF);
gA4:=cross(0,gDIF);
if dpA1 then begin
cw:=if(gA1,4,if(gA2a,5,if(gA2b,6,if(gA3 or gA4,0,0))));
end
if dpA2a then begin
cw:=if(gA1,3,if(gA2a or gA3 or gA4,0,0));
end
if dpA3 then begin
cw:=if(gA1,if(C>ref(C,1) and V>ref(V,1),2,0),0);
end
if dpA4 then cw:=0;
if dpMACD>=0 and dpDIF<=0 then begin
cw:=if(gA1,if(C>ref(C,1) and V>ref(V,1),1,0),0);
end
DIFF:DIFF,linethick0;
DEA:DEA, coloryellow;
MACD:MACD,colorstick;
CW:cw,linethick0;
PARTLINE(DIFF,DIFF>ref(DIFF,1),rgb(255,0,0),DIFF<=ref(DIFF,1),rgb(0,0,255));
DRAWICON(cw<>ref(cw,1) and cw=0,DIFF,5),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=0,DIFF,' 空仓'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=1,DIFF,4),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=1,DIFF,' 1/4仓'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=2,DIFF,4),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=2,DIFF,' 1/3仓'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=3,DIFF,4),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=3,DIFF,' 1/2仓'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=4,DIFF,4),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=4,DIFF,' 2/3仓'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=5,DIFF,5),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=5,DIFF,' 减半'),ALIGN1,VALIGN2;
DRAWICON(cw<>ref(cw,1) and cw=6,DIFF,4),ALIGN1,VALIGN1;
DRAWTEXT(cw<>ref(cw,1) and cw=6,DIFF,' 补仓'),ALIGN1,VALIGN2;
【注明:本问没有公式提供下载,我也没法做成通达信公式,或者用大智慧,飞狐或者金字塔是可以做到。】