jmfkm 发表于 2013-11-28 21:05:02

好人好文谢谢分享。。。。。。。。。。。

inow 发表于 2013-11-29 10:10:12

最好也放一些培训的视频供大家学习

骑马追牛 发表于 2013-11-30 10:50:39

:D:D好的学习铁,顶帖学习。

骑马追牛 发表于 2013-11-30 10:55:27

:D:D顶楼主,耐心发这个学习贴。

股神心法 发表于 2013-12-4 15:54:25

非常好,谢谢

zzzzzlu 发表于 2014-1-18 21:23:07

:handshake

zammail 发表于 2014-1-26 12:58:07

好,谢谢

hslixuexue 发表于 2014-2-16 13:50:06

本帖最后由 hslixuexue 于 2014-2-16 13:57 编辑

德马克指标:TD结构、Td序列、TD组合
#MAINCHART
#RunMode Run_by_bar
INPUT: ;
VARIABLE:n1(0),n2(0),n3(0),n5(-1),n6(101),n7(0),n8(0),n9(0),n10(0),n11(0),n12(0),n13(100000),n14(0),n15(0),n16(0),m1(0),m2(0),m3(0),m6(101),m5(-1),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(100000),m14(0),m15(0),m16(0);

//TD买入结构进行、TD组合买入计数TD结构内部分
if c<ref(c,4)  and ref(c,n1+1)>ref(c,n1+5) then Begin
    n1=n1+1;
        n2=n1;
        if c<ref(l,2) and l<ref(l,1) and c<n13 and c<ref(c,1) and n14<12 then begin
        n14=n14+1;
        //DRAWNUMBER(n14>0,LOW-C/100,n14,PRECISION0) ,ColorYellow;//和TD结构显示重合隐藏TD组合计数
        n13=c;
        end//TD组合买入计数
end
else n1=0;
DRAWNUMBER(n1>6 or (n1>0 and n1<4),LOW,n1,PRECISION0) ,COLORWHITE;//不显示全部

//TD买入结构完成,预存支撑阻挡线、TD结构内部确认、Td结构止损价
if n2>8 and n1=0 and ref(c,n2+1)>ref(c,n2+5) and ref(c,n2)<ref(c,n2+4) then begin
    d1:=ref(date,n2);
        t1:=ref(time,n2);
        h1:=ref(h,n2);
        if FindLow(l,1,n2,1)>n9 and findhigh(l,1,n2,1)<n10 then n11=0 ;else n11=1;//结构2在结构1价格幅度内,为满足买进结构之间没有卖出结构从而结构2取消计数做准备
        if FindLow(l,1,4,1)=FindLow(l,1,2,1) then n3=1;else n3=0;
        n7=BarsLastCount(l>=FindLow(l,1,n2,1));
        n8=FindLow(l,1,n2,1)-MaxList(ref(h,n7)-ref(l,n7),abs(ref(h,n7)-ref(c,n7+1)),abs(ref(l,n7)-ref(c,n7+1))) ;
    n9=FindLow(l,1,n2,1);
        n10=Findhigh(l,1,n2,1);
End
DRAWTEXT(n2>8 and n1=0 and ref(c,n2+1)>ref(c,n2+5) and ref(c,n2)<ref(c,n2+4) and FindLow(l,1,4,1)=FindLow(l,1,2,1),LOW,'TD买入结构内部完善'),COLORWHITE;

//TD买入结构外部20K线内确认
if n3=1 then n3=42;//方便纠错不取41
if m1>8 then  n3=43;//中间出现买入结构,外部确认都没有意义了
if n3<41  then n3=n3+2;
DRAWTEXT(n3>2 and n3<41 and  ref(l,1)<=FindLow(l,(n3/2+2),2,1),LOW,'TD买入结构外部确认K线数:'+n3/2),COLORWHITE;
if n3>2 and n3<41 and  ref(l,1)<=FindLow(l,(n3/2+2),2,1) then n3=41;

//TD卖出结构进行、TD组合卖出计数TD结构内部分
if c>ref(c,4)  and ref(c,m1+1)<ref(c,m1+5) then Begin
    m1=m1+1;
        m2=m1;
        if c>ref(h,2) and h>ref(h,1) and c>m13 and c<ref(c,1) and m14<12 then begin
        m14=m14+1;
        //DRAWNUMBER(m14>0,LOW-C/100,m14,PRECISION0) ,ColorYellow;//和TD结构显示重合隐藏TD组合计数
        m13=c;
        end//TD组合卖出计数
end
else m1=0;
DRAWNUMBER(m1>6 or (m1>0 and m1<4),(h+c/100),m1,PRECISION0) ,COLORWHITE;//不显示全部


//TD卖出结构完成,预存支撑阻挡线、TD结构内部确认、Td结构止损价
if m2>8 and m1=0 and ref(c,m2+1)<ref(c,m2+5) and ref(c,m2)>ref(c,m2+4)  then begin
    d2:=ref(date,m2);
        t2:=ref(time,m2);
        l2:=ref(l,m2);
        if FindLow(l,1,m2,1)>m9 and findhigh(l,1,m2,1)<m10 then m11=0 ;else m11=1;//结构2在结构1价格幅度内,为满足卖出结构之间没有买进结构从而结构2取消计数做准备
        if Findhigh(h,1,4,1)=Findhigh(h,1,2,1) then m3=1;else m3=0;
        m7=BarsLastCount(h<=Findhigh(h,1,m2,1));
        m8=Findhigh(h,1,m2,1)+MaxList(ref(h,m7)-ref(l,m7),abs(ref(h,m7)-ref(c,m7+1)),abs(ref(l,m7)-ref(c,m7+1))) ;
    m9=FindLow(l,1,m2,1);
        m10=Findhigh(l,1,m2,1);
End
DRAWTEXT( m2>8 and m1=0 and ref(c,m2)>ref(c,m2+4) and ref(c,m2+1)<ref(c,m2+5) and Findhigh(h,1,4,1)=Findhigh(h,1,2,1),(h+c/400),'TD卖出结构内部完善'),COLORWHITE;

//TD卖出结构外部20K线内确认
if m3=1 then m3=42;//方便纠错不取41
if n1>8 then  m3=43;//中间出现买入结构,外部确认都没有意义了
if m3<41  then m3=m3+2;
DRAWTEXT(m3>2 and  m3<41 and  ref(h,1)>=Findhigh(h,(m3/2+2),2,1),h,'TD卖出结构外部确认K线数:'+m3/2),COLORWHITE;
if m3>2 and m3<41 and  ref(h,1)>=Findhigh(h,(m3/2+2),2,1) then m3=41;

{
//短线交易
//TD买入结构交易规则
enterLong: (n2>8 and n1=0 and ref(c,n2+1)>ref(c,n2+5) and FindLow(l,1,4,1)=FindLow(l,1,2,1)   and FindLow(c,1,n2,1)>l2 and (ref(l,1)-l2)<1*Findhigh((h-l),1,5,1)  and (h1-ref(c,1))/(ref(c,1)-n8)>1.5) or  (n3>0 and n3<41 and  ref(l,1)<=FindLow(l,(n3/2+2),2,1) and FindLow(c,1,(n2+n3/2),1)>l2 and (c-l2)<1*Findhigh((h-l),1,5,1) and (h1-ref(c,1))/(ref(c,1)-n8)>1.5);
EXITLONG:CrossOver(c,h1) or CrossUnder(c,n8) ,TFILTER;

//TD卖出结构交易规则
entershort:(m2>8 and m1=0 and ref(c,m2+1)<ref(c,m2+5) and Findhigh(h,1,4,1)=Findhigh(h,1,2,1) and Findhigh(c,1,m2,1)<h1 and (h1-ref(h,1))<1*Findhigh((h-l),1,5,1)  and (ref(c,1)-l2)/(m8-ref(c,1))>1.5) or  (m3>0 and m3<41 and  ref(h,1)>=Findhigh(h,(m3/2+2),2,1) and Findhigh(c,1,(m2+m3/2),1)<h1 and (h1-c)<1*Findhigh((h-l),1,5,1) and (ref(c,1)-l2)/(m8-ref(c,1))>1.5);
EXITshort:CrossUnder(c,l2) or CrossOver(c,m8),TFILTER;
}


//TD买入计数
if n6<100 and BARSLAST((m1>8 and m2>8),1)<BARSLAST((n1>8 and n2>8),1) then n6=102;//计数过程中出现新的反向结构,取消计数
if l>h1 then n6=102;//计数过程中出现实际最低价高于之前买入结构的组档线,取消计数
if n2>8 and n1=0 and ref(c,n2+1)>ref(c,n2+5) and ref(c,n2)<ref(c,n2+4) and (n11=1 or BARSLAST((m1>8 and m2>8),1)<BARSLAST((n1>8 and n2>8),1)) then begin  
    if ref(c,1)<=ref(l,3) then n5=1; else  n5=0;
    n6=1;//Td结构完成之后的第一根K线
End

if n6<100 and n5<13 and c<=ref(l,2) then n5=n5+1;
DRAWNUMBER(((n5<13 and n5>9) or (n5<4 and n5>0)) and n6<100 and c<=ref(l,2),(LOW-C/100),n5,PRECISION0),COLORGREEN ;//不显示全部
if n6<100 then n6=n6+1;
if n5=8 then z1:=c;
DRAWNUMBER(n5>12 and n6<100 and l<=z1 and c<=ref(l,2),(LOW-C/100),13,PRECISION0) ,COLORred;        
if n5>12 and n6<100 and l<=z1 and c<=ref(l,2)  then begin
    n12=FindLow(l,0,n6,1);
        n6=101;//区别102是为了确认 完成13
        z1=0;
end
DRAWTEXT(n5>12 and l>z1 and  n6<100 and c<=ref(l,2) ,(LOW-C/200),'+'),COLORGREEN;        

//TD卖出计数
if n1>8 then m6=102;//计数过程中出现新的反向结构,取消计数
if h<l2 then m6=102;//计数过程中出现实际最低价高于之前卖出结构的支撑线,取消计数
if m2>8 and m1=0 and ref(c,m2+1)<ref(c,m2+5) and ref(c,m2)>ref(c,m2+4)  and (m11=1 or BARSLAST((n1>8 and n2>8),1)<BARSLAST((m1>8 and m2>8),1)) then begin
    if ref(c,1)>=ref(c,3) then m5=1; else  m5=0;
    m6=1;
End

if m6<100 and m5<13 and c>=ref(h,2) then m5=m5+1;
DRAWNUMBER(((m5<13 and m5>9) or (m5<4 and m5>0)) and m6<100 and c>=ref(h,2),(h+C/50),m5,PRECISION0),COLORGREEN ;
if m6<100 then m6=m6+1;
if m5=8 then z2:=c;
DRAWNUMBER(m5>12 and m6<100 and h>=z2 and c>=ref(h,2),(h+C/50),13,PRECISION0) ,COLORred;        
if m5>12 and m6<100 and h>=z2 and c>=ref(h,2) then begin
    m12=FindLow(l,0,m6,1);
        m6=101;//区别102是为了确认 完成13
        z2=0;
end
DRAWTEXT(m5>12 and h<z2 and  m6<100 and c>=ref(h,2) ,(h+C/20),'+'),COLORGREEN;        

{
//td序列计数买入交易规则
//积极策略
//enterLong: ref(n6,2)<100 and ref(n6,1)=101 and n1<9,TFILTER; //可能TD循环不建议采取积极策略
//保守策略牛市价格翻转
enterLong:n6=101 and m2=1 and c>ref(c,4),TFILTER;
//替代策略:TD伪装买入信号
// enterLong:n6=101 and c<ref(c,1) and c>o and l<ref(l,2) and l<ref(l,1),TFILTER;
//替代策略:TD马跳
//enterLong:n6=101 and o<ref(o,1) and o<ref(c,1) and  c>ref(o,1) and c>ref(c,1),TFILTER;
//替代策略:TD马跳制胜
//enterLong:n6=101 and o>ref(c,1) and o<ref(o,1) and  c<ref(o,1) and c>ref(c,1),TFILTER;
//替代策略:TD开盘买入信号
//enterLong:n6=101 and o<ref(l,1) and c>ref(l,1),TFILTER;
//替代策略:TD陷阱买入信号
//enterLong:n6=101 and (abs(o-ref(l,1))+abs(h-ref(c,1)))=ref(h,1)-ref(l,1) and c>ref(h,1),TFILTER;
//风险管理
EXITLONG:CrossUnder(c,n12) or CrossOver(c,h1),TFILTER;//波幅修改为最近5天h-l的最大值


//td序列计数卖出交易规则
//积极策略
//entershort: ref(m6,2)<100 and ref(m6,1)=101  and m1<9,TFILTER; //可能TD循环不建议采取积极策略
//保守策略牛市价格翻转
entershort:m6=101 and n2=1 and c<ref(c,4),TFILTER;
//替代策略:TD伪装卖出信号
//entershort:m6=101 and c>ref(c,1) and c<o and h>ref(l,2) and  h>ref(l,1),TFILTER;
//替代策略:TD马跳
//entershort:m6=101 and o>ref(o,1) and o>ref(c,1) and  c<ref(o,1) and c<ref(c,1),TFILTER;
//替代策略:TD马跳制胜
//entershort:m6=101 and o>ref(o,1) and o<ref(c,1) and  c>ref(o,1) and c<ref(c,1),TFILTER;
//替代策略:TD开盘卖出信号
//entershort:m6=101 and o<ref(h,1) and c>ref(h,1),TFILTER;
//替代策略:TD陷阱卖出信号
//entershort:m6=101 and (abs(o-ref(h,1))+abs(o-ref(l,1)))=ref(h,1)-ref(l,1) and c<ref(l,1),TFILTER;
//风险管理
EXITshort:CrossOver(c,(n12+FindHigh((h-l),1,5,1))) or Crossunder(c,l2),TFILTER;//波幅修改为最近5天h-l的最大值
}

//TD组合计数
//Td组合买入计数TD结构内完成
DRAWTEXT(n14=13 and n1=0 and ref(n1,1)>12,L,'--TD组合13') ,ColorYellow;
//Td组合买入计数TD结构外、TD组合计数11之前K线
if n1=0 and ref(n1,1)>8 and n14<13 then begin
    if n14>=10 then n15=n14+1;
        if n14<10 then n15=n14;
        n16=n13;
end//完成TD结构重新启动外面计数和计数点收盘价变量
if n1=0 then begin
    n14=0;
        n13=100000;
end
if n1>8 or m1>8 then begin
    n15=0;
        n16=100000;
end//组合计数中已经形成一个新的TD结构,尚未完结,终止计数
if n15>0 and c<=ref(l,2) and l<=ref(l,1) and c<=n16 and c<ref(c,1) and n15<10 then begin
        n15=n15+1;
    n16=c;   
end
//Td组合买入计数严格版最后3K线
if  c<=ref(l,2) and l<=ref(l,1) and c<=n16 and c<ref(c,1) and n15<14 and n15>9 then begin
        n15=n15+1;
        n16=c;   
        if n15=14 then n16=100000;
end

{
//Td组合买入计数宽松版最后3K线
if  c<ref(c,1) and n15<14 and n15>9 then begin
        n15=n15+1;
        DRAWTEXT(n15=14,L,'--TD组合13') ,ColorYellow;
    if n15=14 then n16=100000;        
end
}
DRAWNUMBER(m15>9 and m15<14 and m15>ref(m15,1),h+C/100,m15-1,PRECISION0) ,COLORWHITE;//不显示全部计数数字
DRAWTEXT(n15=14 and ref(n15,1)=13,LOW,'--TD组合买进严格13') ,ColorYellow;        
if n15=14 and ref(n15,1)=13 then n16=FindLow(l,0,10,1);//在最后10根k线内找整个组合的最低价

//Td组合卖出计数TD结构内完成
DRAWTEXT(m14>=13 and m1=0 and ref(m1,1)>12,h+C/100,'--TD组合13') ,ColorYellow;
//Td组合卖出计数TD结构外TD组合计数11之前K线
if m1=0 and ref(m1,1)>8 and m14<13 then begin
    if m14>=10 then m15=m14+1;
        if m14<10 then m15=n14;
        m16=m13;
end//完成TD结构重新启动外面计数和计数点收盘价变量
if m1=0 then begin
    m14=0;
        m13=0;
end
if n1>8 or m1>8 then  Begin
    m15=0;
        m16=0;
end//组合计数中已经形成一个新的TD结构,尚未完结,终止计数\计数点收盘价变量复位
if m15>0 and c>=ref(h,2) and H>=ref(H,1) and c>=m16 and c>ref(c,1) and m15<10 then begin
        m15=m15+1;
    m16=c;   
end
//Td组合卖出计数严格版最后3K线
if c>=ref(h,2) and h>=ref(h,1) and c>=m16 and c>ref(c,1) and m15<14 and m15>9 then begin
        m15=m15+1;
        m16=c;
    if m15=14 then m16=0;
end

{
//Td组合卖出计数宽松版最后3K线
if  c>ref(c,1); and m15<14 and m15>9 then begin
        m15=m15+1;
        if m15=14 then m16=0;        
end
}
DRAWNUMBER(m15>9 and m15<14 and m15>ref(m15,1),h+C/100,m15-1,PRECISION0) ,COLORWHITE;//不显示全部
DRAWTEXT(m15=14,h+C/100,'--TD组合卖出宽松计数13') ,ColorYellow;
if m15=14 and ref(m15,1)=13 then m16=FindLow(h,0,10,1);//在最后10根k线内找整个组合的最低价

{
//td组合计数买入交易规则
//积极策略
//enterLong: ref(n15,1)=14 and ref(n15,2)=13,TFILTER; //可能TD循环不建议采取积极策略
//保守策略牛市价格翻转
// enterLong:n15=14 and m2=1 and BARSLAST(n15=13,1)<20,TFILTER;//暂时限定计数13后20K线以内出现,下同
//替代策略:TD伪装买入信号
// enterLong:n15=14 and c<ref(c,1) and c>o and l<ref(l,2) and l<ref(l,1) and BARSLAST(n15=13,1)<20,TFILTER;
//替代策略:TD马跳
//enterLong:n15=14 and o<ref(o,1) and o<ref(c,1) and  c>ref(o,1) and c>ref(c,1) and BARSLAST(n15=13,1)<20,TFILTER;
//替代策略:TD马跳制胜
//enterLong:n15=14 and o>ref(c,1) and o<ref(o,1) and  c<ref(o,1) and c>ref(c,1) and BARSLAST(n15=13,1)<20,TFILTER;
//替代策略:TD开盘买入信号
//enterLong:n15=14 and o<ref(l,1) and c>ref(l,1) and BARSLAST(n15=13,1)<20,TFILTER;
//替代策略:TD陷阱买入信号
//enterLong:n15=14 and (abs(o-ref(l,1))+abs(h-ref(c,1)))=ref(h,1)-ref(l,1) and c>ref(h,1) and BARSLAST(n15=13,1)<20,TFILTER;
//风险管理
//EXITLONG:CrossUnder(c,n16) or CrossOver(c,h1),TFILTER;//波幅修改为最近5天h-l的最大值


//td组合计数卖出交易规则
//积极策略
//enterLong: ref(m15,1)=14 and ref(m15,2)=13,TFILTER; //可能TD循环不建议采取积极策略
//保守策略熊市价格翻转
// enterLong:m15=14 and n2=1 and BARSLAST(m15=13,1)<20,TFILTER;//暂时限定计数13后20K线以内出现,下同
//替代策略:TD伪装卖出信号
// enterLong:m15=14 and c<ref(c,1) and c<o and h>ref(h,2) and h>ref(h,1) and BARSLAST(m15=13,1)<20,TFILTER;
//替代策略:TD马跳
//enterLong:m15=14 and o>ref(o,1) and o>ref(c,1) and  c<ref(o,1) and c<ref(c,1) and BARSLAST(m15=13,1)<20,TFILTER;
//替代策略:TD马跳制胜
//enterLong:m15=14 and o<ref(c,1) and o>ref(o,1) and  c<ref(o,1) and c<ref(c,1) and BARSLAST(m15=13,1)<20,TFILTER;
//替代策略:TD开盘买入信号
//enterLong:m15=14 and o>ref(h,1) and c<ref(h,1) and BARSLAST(m15=13,1)<20,TFILTER;
//替代策略:TD陷阱买入信号
//enterLong:m15=14 and (abs(o-ref(l,1))+abs(h-ref(c,1)))=ref(h,1)-ref(l,1) and c<ref(l,1) and BARSLAST(n15=13,1)<20,TFILTER;
//风险管理
//EXITLONG:CrossUnder(c,n16) or CrossOver(c,h1),TFILTER;//波幅修改为最近5天h-l的最大值
}

xxcwtj 发表于 2014-3-1 11:50:27

谢谢楼主!!!

fantasynew 发表于 2014-3-1 22:02:54

感谢楼主更新
页: 1 2 3 4 5 6 7 8 [9] 10 11
查看完整版本: 自制《金语言初级教程》--从0开始学习金语言