分享

通达信自用仓位控制顶底操盘主图指标公式(附源码破译和源码)

 追梦文库 2023-12-11 发布于天津

编程思路破译

K赋值:1

P赋值:6

EM赋值:1

M1赋值:5

M2赋值:10

M3赋值:20

M4赋值:60

当满足条件1时,在横轴0.01纵轴0.02位置书写文字,画绿色

填充背景

K线

K1赋值:1日前的收盘价=昨收盘价 AND 开盘价=开盘价 AND 收盘价=现价 AND 最高价=最高价 AND 最低价=最低价

K2赋值:上次成交量(手)=20日内成交量(手)的最高值距今天数

K3赋值:若K1则将最近K2+1周期置为1

当满足条件K2=0ANDK3=1时,在最高价和最高价*1.003位置之间画柱状线,宽度为8*EM,0不为0则画空心柱.,画黄色

输出收:收盘价,NODRAW

当满足条件EM=1并且K2=0并且K3=1时,在最高价*1.02位置书写文字,画绿色

当满足条件EM=1并且K2=0并且K3=1时,在最高价*0.98位置书写文字,画绿色

爆发点赋值:(不定周期收盘价-1日前的收盘价)/1日前的收盘价*100

XB赋值:爆发点上穿20

当满足条件XB时,在最低价位置书写文字,画红色

PL5赋值:收盘价5%的之字转向

EN1赋值:收盘价5%的之字转向>1日前的收盘价5%的之字转向 AND 1日前的收盘价5%的之字转向<=2日前的收盘价5%的之字转向 AND 2日前的收盘价5%的之字转向<=3日前的收盘价5%的之字转向

EX1赋值:收盘价5%的之字转向=2日前的收盘价5%的之字转向 AND 2日前的收盘价5%的之字转向>=3日前的收盘价5%的之字转向

PL10赋值:收盘价10%的之字转向

EN2赋值:收盘价10%的之字转向>1日前的收盘价10%的之字转向 AND 1日前的收盘价10%的之字转向<=2日前的收盘价10%的之字转向 AND 2日前的收盘价10%的之字转向<=3日前的收盘价10%的之字转向

EX2赋值:收盘价10%的之字转向=2日前的收盘价10%的之字转向 AND 2日前的收盘价10%的之字转向>=3日前的收盘价10%的之字转向

PL20赋值:收盘价20%的之字转向

EN3赋值:收盘价20%的之字转向>1日前的收盘价20%的之字转向 AND 1日前的收盘价20%的之字转向<=2日前的收盘价20%的之字转向 AND 2日前的收盘价20%的之字转向<=3日前的收盘价20%的之字转向

EX3赋值:收盘价20%的之字转向=2日前的收盘价20%的之字转向 AND 2日前的收盘价20%的之字转向>=3日前的收盘价20%的之字转向

PL40赋值:收盘价40%的之字转向

走强1赋值:上次PL5<1日前的PL5距今天数

走弱1赋值:上次PL5>1日前的PL5距今天数

走强2赋值:上次PL10<1日前的PL10距今天数

走弱2赋值:上次PL10>1日前的PL10距今天数

走强3赋值:上次PL20<1日前的PL20距今天数

走弱3赋值:上次PL20>1日前的PL20距今天数

ZTJZ5赋值:如果PL10>1日前的PL10,返回统计走强2日中满足EN1的天数,否则返回0

ZTJD5赋值:如果PL10>1日前的PL10,返回统计走强2日中满足EX1的天数,否则返回0

DTJZ5赋值:如果PL10<1日前的PL10,返回统计走弱2日中满足EN1的天数,否则返回0

DTJD5赋值:如果PL10<1日前的PL10,返回统计走弱2日中满足EX1的天数,否则返回0

ZTJZ10赋值:如果PL20>1日前的PL20,返回统计走强3日中满足EN2的天数,否则返回0

ZTJD10赋值:如果PL20>1日前的PL20,返回统计走强3日中满足EX2的天数,否则返回0

DTJZ10赋值:如果PL20<1日前的PL20,返回统计走弱3日中满足EN2的天数,否则返回0

DTJD10赋值:如果PL20<1日前的PL20,返回统计走弱3日中满足EX2的天数,否则返回0

当满足条件EN1ANDDTJZ5=1时,在最低价*0.98位置书写文字,COLORFFFF00

当满足条件EX1ANDDTJD5=2时,在最高价*1.02位置书写文字,画绿色

当满足条件EN2ANDZTJZ5=1时,在最低价*0.98位置书写文字,画淡红色

当满足条件EX1ANDPL10>1日前的PL10ANDZTJD5=1时,在最高价*1.02位置书写文字,画淡绿色

当满足条件EN1ANDPL10>1日前的PL10ANDZTJZ5=2时,在最低价*0.98位置书写文字,COLOR0000FF

当满足条件EX1ANDPL10>1日前的PL10ANDZTJZ5=2时,在最高价*1.02位置书写文字,画绿色

当满足条件EN1ANDPL10>1日前的PL10ANDZTJZ5=3时,在最低价*0.98位置书写文字,COLOR0000FF

当满足条件EX2ANDPL20>1日前的PL20ANDZTJD10=1时,在最高价*1.02位置书写文字,画淡蓝色

当满足条件EN2ANDDTJZ10=1时,在最低价*0.94位置书写文字,画白色

当满足条件EN3ANDZTJZ10=1时,在最低价*0.94位置书写文字,画洋红色

当满足条件EX2ANDPL20>1日前的PL20ANDZTJD10=1时,在最高价*1.06位置书写文字,画淡青色

当满足条件EN2ANDPL20>1日前的PL20ANDZTJZ10=2时,在最低价*0.94位置书写文字,画淡红色

当满足条件EX2ANDPL20>1日前的PL20ANDZTJD10=2OR(ZTJD10=0ORZTJD10=2)ANDEX2时,在最高价*1.06位置书写文字,画青色

当满足条件EN2ANDPL20>1日前的PL20ANDZTJZ10=3时,在最低价*0.94位置书写文字,线宽为3,COLOR00FFFF

输出MA1:收盘价的M1日简单移动平均

输出均线:收盘价的M2日简单移动平均

输出MA3:收盘价的M3日简单移动平均

输出MA4:收盘价的M4日简单移动平均

DIF赋值:不定周期收盘价的12日指数移动平均-不定周期收盘价的26日指数移动平均

DEA赋值:DIF的9日指数移动平均

AAA赋值:(DIF-DEA)*2*60

起爆赋值:AAA-1日前的AAA上穿15,画红色,线宽为2

当满足条件起爆时,在最低价*0.99位置书写文字,画黄色,线宽为2

当满足条件收盘价>1日前的收盘价*1.093时,在最高价位置书写文字,画绿色,显示在位置之上

当满足条件收盘价>1日前的收盘价*1.093ANDC>收盘价的60日简单移动平均ANDC<收盘价的60日简单移动平均*1.15时,在最低价位置书写文字,画红色

T1B赋值:10日内最低价距今天数的最后一日取值设为常数

T1HIGH赋值:T1B日前的最高价的最后一日取值设为常数

CC赋值:到最后交易的周期的最后一日取值设为常数

T2B赋值:上次到最后交易的周期>CC+T1BANDH>T1HIGH距今天数的最后一日取值设为常数

T2HIGH赋值:T2B日前的最高价的最后一日取值设为常数

T3赋值:上次到最后交易的周期>CC+T2BANDHIGH>T2HIGH距今天数的最后一日取值设为常数

T3HIGH赋值:T3日前的最高价的最后一日取值设为常数

输出涨停线:当满足条件到最后交易的周期=T3+1时,在T3HIGH位置画直线起点,当满足条件是否最后一个周期时,在T3HIGH位置画直线终点,1表示是否延长.,画绿色,线宽为2

C2赋值:1日前的收盘价

涨停赋值:如果(收盘价-C2)*100/C2>=(10-0.01*100/C2),返回1,否则返回0

当满足条件涨停时,在开盘价和收盘价位置之间画柱状线,宽度为2,0不为0则画空心柱.,,画黄色

当满足条件涨停时,在最高价和最低价位置之间画柱状线,宽度为0,0不为0则画空心柱.,,画黄色

跌停赋值:如果(C2-收盘价)*100/C2>=(10-0.01*100/C2),返回1,否则返回0

当满足条件跌停时,在开盘价和收盘价位置之间画柱状线,宽度为2,0不为0则画空心柱.,画绿色

当满足条件跌停时,在最高价和最低价位置之间画柱状线,宽度为0,1不为0则画空心柱.,画绿色

N赋值:10

输出HH:如果到最后交易的周期<=N,返回N日内最高价的最高值的最后一日取值设为常数,否则返回无效数,画绿色

输出LL:如果到最后交易的周期<=N,返回N日内最低价的最低值的最后一日取值设为常数,否则返回无效数,画红色

当满足条件到最后交易的周期=N时,在HH位置书写数字,画绿色

当满足条件到最后交易的周期=N时,在LL位置书写数字,画红色

当满足条件到最后交易的周期=N时,在最低价位置画1号图标

当满足条件到最后交易的周期=N时,在HH*1.04位置书写文字,画黄色

当满足条件是否最后一个周期时,在横轴0.01纵轴0.99位置书写文字,画黄色

当满足条件收盘价8%的之字转向上穿1日前的收盘价8%的之字转向时,在最低价*0.94位置书写文字 ,线宽为2,画黄色

当满足条件1日前的收盘价7%的之字转向上穿收盘价7%的之字转向时,在最高价*1.04位置书写文字 ,线宽为2,画绿色

庄线A赋值:(3*收盘价+开盘价+最低价+最高价)/6

输出庄线B:(19*庄线A+19*1日前的庄线A+18*2日前的庄线A+17*3日前的庄线A+16*4日前的庄线A+15*5日前的庄线A+14*6日前的庄线A+13*7日前的庄线A+12*8日前的庄线A+11*9日前的庄线A+10*10日前的庄线A+9*11日前的庄线A+8*12日前的庄线A+7*13日前的庄线A+6*14日前的庄线A+5*15日前的庄线A+4*16日前的庄线A+3*17日前的庄线A+2*20日前的庄线A+19日前的庄线A)/210,COLOR000000

输出庄线支撑:庄线B的5日简单移动平均,画红色,线宽为3

天数赋值:上次涨停距今天数

当满足条件天数位于1和10之间时,在最高价*1.02位置书写文字

程序源码

K:=1;

P:=6;

EM:=1;

M1:=5;

M2:=10;

M3:=20;

M4:=60;

DRAWTEXT_FIX(1,0.01,0.02,0,EXTERNSTR(0,1)),COLORGREEN;

DRAWGBK(C>0,RGB(0,0,0),RGB(00,0,0),0,'EM',0);

DRAWKLINE(H,O,L,C);

K1:=REF(C,1)=DYNAINFO(3) AND O=DYNAINFO(4) AND C=DYNAINFO(7) AND H=DYNAINFO(5) AND L=DYNAINFO(6);

K2:=BARSLAST(V=HHV(V,20));

K3:=BACKSET(K1,K2+1);

STICKLINE(K2=0 AND K3=1,H,H*1.003,8*EM,0),COLORYELLOW;

收:C,NODRAW;

DRAWTEXT(EM=1&&K2=0&&K3=1,H*1.02,'20天内最高量的'),COLORGREEN;

DRAWTEXT(EM=1&&K2=0&&K3=1,H*0.98,'当天最高价划线'),COLORGREEN;

爆发点:=(DCLOSE-REF(C,1))/REF(C,1)*100;

XB:=CROSS(爆发点,20);

DRAWTEXT(XB,L,'量价齐升'),COLORRED;

PL5:=ZIG(3,5);

EN1:=ZIG(3,5)>REF(ZIG(3,5),1) AND REF(ZIG(3,5),1)<=REF(ZIG(3,5),2) AND REF(ZIG(3,5),2)<=REF(ZIG(3,5),3);

EX1:=ZIG(3,5)=REF(ZIG(3,5),2) AND REF(ZIG(3,5),2)>=REF(ZIG(3,5),3);

PL10:=ZIG(3,10);

EN2:=ZIG(3,10)>REF(ZIG(3,10),1) AND REF(ZIG(3,10),1)<=REF(ZIG(3,10),2) AND REF(ZIG(3,10),2)<=REF(ZIG(3,10),3);

EX2:=ZIG(3,10)=REF(ZIG(3,10),2) AND REF(ZIG(3,10),2)>=REF(ZIG(3,10),3);

PL20:=ZIG(3,20);

EN3:=ZIG(3,20)>REF(ZIG(3,20),1) AND REF(ZIG(3,20),1)<=REF(ZIG(3,20),2) AND REF(ZIG(3,20),2)<=REF(ZIG(3,20),3);

EX3:=ZIG(3,20)=REF(ZIG(3,20),2) AND REF(ZIG(3,20),2)>=REF(ZIG(3,20),3);

PL40:=ZIG(3,40);

走强1:=BARSLAST(PL5< REF(PL5,1));

走弱1:=BARSLAST(PL5>REF(PL5,1));

走强2:=BARSLAST(PL10< REF(PL10,1));

走弱2:=BARSLAST(PL10>REF(PL10,1));

走强3:=BARSLAST(PL20< REF(PL20,1));

走弱3:=BARSLAST(PL20>REF(PL20,1));

ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);

ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);

DTJZ5:=IF(PL10< REF(PL10,1),COUNT(EN1,走弱2),0);

DTJD5:=IF(PL10< REF(PL10,1),COUNT(EX1,走弱2),0);

ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);

ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);

DTJZ10:=IF(PL20< REF(PL20,1),COUNT(EN2,走弱3),0);

DTJD10:=IF(PL20< REF(PL20,1),COUNT(EX2,走弱3),0);

DRAWTEXT(EN1 AND DTJZ5=1,L*0.98,'反弹'),COLORFFFF00;

DRAWTEXT(EX1 AND DTJD5=2,H*1.02,'清仓'),COLORGREEN;

DRAWTEXT(EN2 AND ZTJZ5=1,L*0.98,'买入'),COLORLIRED;

DRAWTEXT(EX1 AND PL10>REF(PL10,1) AND ZTJD5=1,H*1.02,'留1成仓'),COLORLIGREEN;

DRAWTEXT(EN1 AND PL10>REF(PL10,1) AND ZTJZ5=2,L*0.98,'加半仓'),COLOR0000FF;

DRAWTEXT(EX1 AND PL10>REF(PL10,1) AND ZTJZ5=2,H*1.02,'减7成'),COLORGREEN;

DRAWTEXT(EN1 AND PL10>REF(PL10,1) AND ZTJZ5=3,L*0.98,'加7成'),COLOR0000FF;

DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.02,'逢高出局'),COLORLIBLUE;

DRAWTEXT(EN2 AND DTJZ10=1,L*0.94,'等待主升'),COLORWHITE;

DRAWTEXT(EN3 AND ZTJZ10=1,L*0.94,'满仓进场'),COLORMAGENTA;

DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.06,'卖'),COLORLICYAN;

DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.94,'满仓持股'),COLORLIRED;

DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.06,'需要清仓'),COLORCYAN;

DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=3,L*0.94,'开始大涨'),LINETHICK3,COLOR00FFFF;

MA1:MA(CLOSE,M1);

MA2:MA(CLOSE,M2);

MA3:MA(CLOSE,M3);

MA4:MA(CLOSE,M4);

DIF:=EMA(DCLOSE,12)-EMA(DCLOSE,26);

DEA:=EMA(DIF,9);

AAA:=(DIF-DEA)*2*60;

起爆:=CROSS(AAA-REF(AAA,1),15),COLORRED,LINETHICK2;

DRAWTEXT(起爆,L*0.99,'↖暴涨'),COLORYELLOW,LINETHICK2;

DRAWTEXT(C>REF(C,1)*1.093 ,H,'板'),COLORGREEN,DRAWABOVE;

DRAWTEXT(C>REF(C,1)*1.093 AND C>MA(C,60) AND C< MA(C,60)*1.15 ,L,'★板买'),COLORRED;

T1B:=CONST(LLVBARS(LOW,10));

T1HIGH:=CONST(REF(HIGH,T1B));

CC:=CONST(CURRBARSCOUNT);

T2B:=CONST(BARSLAST(CURRBARSCOUNT>CC+T1B AND H>T1HIGH));

T2HIGH:=CONST(REF(HIGH,T2B));

T3:=CONST(BARSLAST(CURRBARSCOUNT>CC+T2B AND HIGH>T2HIGH));

T3HIGH:=CONST(REF(HIGH,T3));

涨停线:DRAWLINE(CURRBARSCOUNT=T3+1,T3HIGH, ISLASTBAR, T3HIGH, 1),COLORGREEN,LINETHICK2;

C2:=REF(C,1);

涨停:=IF((C-C2)*100/C2>=(10-0.01*100/C2),1,0);

STICKLINE(涨停,OPEN,CLOSE,2,0),,COLORYELLOW;

STICKLINE(涨停,H,L,0,0),,COLORYELLOW;

跌停:=IF((C2-C)*100/C2>=(10-0.01*100/C2),1,0);

STICKLINE(跌停,OPEN,CLOSE,2,0),COLORGREEN;

STICKLINE(跌停,H,L,0,1),COLORGREEN;

N:=10;

HH:IF(CURRBARSCOUNT<=N,CONST(HHV(H,N)),DRAWNULL),COLORGREEN;

LL:IF(CURRBARSCOUNT<=N,CONST(LLV(L,N)),DRAWNULL),COLORRED;

DRAWNUMBER(CURRBARSCOUNT=N,HH,HH),COLORGREEN;

DRAWNUMBER(CURRBARSCOUNT=N,LL,LL),COLORRED;

DRAWICON(CURRBARSCOUNT=N,L,1);

DRAWTEXT(CURRBARSCOUNT=N,HH*1.04,STRCAT('振幅:',CON2STR((HH-LL)/LL*100,2))),COLORYELLOW;

DRAWTEXT_FIX(ISLASTBAR,0.01,0.99,0,EXTERNSTR(0,3)),COLORYELLOW;

DRAWTEXT(CROSS(ZIG(3,8),REF(ZIG(3,8),1)),LOW*0.94,'底') ,LINETHICK2,COLORYELLOW;

DRAWTEXT(CROSS(REF(ZIG(3,7),1),ZIG(3,7)),HIGH*1.04,'顶') ,LINETHICK2,COLORGREEN;

庄线A:=(3*CLOSE+OPEN+LOW+HIGH)/6;

庄线B:(19*庄线A+19*REF(庄线A,1)+18*REF(庄线A,2)+17*REF(庄线A,3)+16*REF(庄线A,4)+15*REF(庄线A,5)+14*REF(庄线A,6)+13*REF(庄线A,7)+12*REF(庄线A,8)+11*REF(庄线A,9)+10*REF(庄线A,10)+9*REF(庄线A,11)+8*REF(庄线A,12)+7*REF(庄线A,13)+6*REF(庄线A,14)+5*REF(庄线A,15)+4*REF(庄线A,16)+3*REF(庄线A,17)+2*REF(庄线A,20)+REF(庄线A,19))/210,COLOR000000;

庄线支撑:MA(庄线B,5),COLORRED,LINETHICK3;

天数:=BARSLAST(涨停);

DRAWTEXT(BETWEEN(天数,1,10), H*1.02, VAR2STR(天数,0));

该公式包含未来函数:ZIG
未发现:PEAK...
未发现:PEAKBARS...
未发现:TROUGH...
未发现:TROUGHBARS...
未发现:FLATZIG...
未发现:FLATZIGA...
未发现:PEAKA...
未发现:PEAKBARSA...
未发现:TROUGHA...
未发现:ZIGA...
未发现:FFT...
该公式包含未来函数:BACKSET
未发现:WINNER...
未发现:LWINNER...
未发现:PWINNER...
未发现:COST...
未发现:CAPITAL...
该公式包含未来函数:DYNAINFO
未发现:FINANCE...
未发现:XMA...
未发现:#MONTH...
未发现:#WEEK...
未发现:#YEAR...
未发现:DHIGH...
未发现:DOPEN...
未发现:DLOW...
该公式包含未来函数:DCLOSE
未发现:DVOL...
未发现:BARSNEXT...
未发现:REFX...
未发现:REFXV...
该公式包含未来函数:DRAWLINE

注:

       馆内各种公式为学习编而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约