通达信DMI买点副图源码
指标是改良DMI趋势副图,叠加量价突破与KDJ动量信号。
功能:
- 看多空:PDI上穿MDI偏多,下穿偏空;ADX越高趋势越强。
- 看强弱:16线为短底分界,30线为趋势启动线,站上30易走强。
- 看信号:预警提示极端空头/风险;买、买2为反转或突破买点;出手就赢为短线动量出击。
用法:
- 红色“买”:PDI上穿MDI,同时价格放涨5%、量能放大2倍,且5日均量大于60日均量。
- 洋红“买2”:PDI上穿MDI,且10日内出现过预警,偏极端后反转。
- 黄色“预警/出手就赢”:预警看极端风险;出手就赢看K值由负急转正,短线关注。
- 加载:通达信公式管理器新建副图,编译后挂到副图。信号少,需结合主图趋势和量能确认。
N:=14;
M:=16;
TR1:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N);
HD :=HIGH-REF(HIGH,1);
LD :=REF(LOW,1)-LOW;
DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),N);
DMM:=EXPMEMA(IF(LD>0&&LD>HD,LD,0),N);
PDI: DMP*100/TR;
MDI: DMM*100/TR;
ADX: EXPMEMA(ABS(MDI-PDI)/(MDI+PDI)*100,M);
穿破短底:16;
线上发飙:30;
{2}预警:IF(ADX>90 AND PDI=0,30,0),COLORYELLOW,LINETHICK2;
买:IF(CROSS(PDI,MDI) AND (C >1.05*REF(C,1) OR REF(C,1)>1.05*REF(C,2)) AND (V>2*REF(V,1) OR REF(V,1)>2*REF(V,2))AND MA(V,5)>MA(V,60) ,20,0),COLORRED,LINETHICK2;
买2:IF(CROSS(PDI,MDI) AND COUNT(预警,10)>=1,10,0),COLORMAGENTA,LINETHICK3;
0;
{6}
RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K1:=SMA(RSV9,3,1);
DK1:=K1-REF(K1,1),COLORSTICK;
出手就赢:IF(DK1>7 AND REF(DK1,1)<0 AND (DK1-REF(DK1,1))>9,50,0), STICK,COLORYELLOW;DRAWICON(出手就赢>0,50 ,1);
未来函数检测结果
N赋值:14
M赋值:16
TR1赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值的N日指数平滑移动平均
赋值:最高价-1日前的最高价
赋值:1日前的最低价-最低价
DMP赋值:如果HD>0并且HD>LD,返回HD,否则返回0的N日指数平滑移动平均
DMM赋值:如果LD>0并且LD>HD,返回LD,否则返回0的N日指数平滑移动平均
输出PDI: DMP*100/真实波幅
输出MDI: DMM*100/真实波幅
输出ADX: MDI-PDI的绝对值/(MDI+PDI)*100的M日指数平滑移动平均
输出穿破短底:16
输出线上发飙:30
输出预警:如果ADX>90ANDPDI=0,返回30,否则返回0,画黄色,线宽为2
输出买:如果PDI上穿MDIAND(收盘价>1.05*1日前的收盘价ORREF(收盘价,1)>1.05*2日前的收盘价)AND(成交量(手)>2*1日前的成交量(手)ORREF(成交量(手),1)>2*2日前的成交量(手))ANDMA(成交量(手),5)>成交量(手)的60日简单移动平均,返回20,否则返回0,画红色,线宽为2
输出买2:如果PDI上穿MDIANDCOUNT(预警,10)>=1,返回10,否则返回0,画洋红色,线宽为3
0
RSV9赋值:(收盘价-9日内最低价的最低值)/(9日内最高价的最高值-9日内最低价的最低值)*100
K1赋值:RSV9的3日[1日权重]移动平均
DK1赋值:K1-1日前的K1,COLORSTICK
输出出手就赢:如果DK1>7ANDREF(DK1,1)<0AND(DK1-1日前的DK1)>9,返回50,否则返回0, STICK,画黄色
当满足条件出手就赢>0时,在50位置画1号图标