M:=180;
VA:=IF(CLOSE REF(CLOSE,1),VOL,-VOL);
OBV:SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0),COLORMAGENTA,LINETHICK2;
MAOBV:MA(OBV,M),COLORRED,LINETHICK2;
IF(OBV =REF(OBV,1),OBV,DRAWNULL),COLORCYAN,LINETHICK2;
IF(MAOBV =REF(MAOBV,1),MAOBV,DRAWNULL),COLORGREEN,LINETHICK2;
D1:=COUNT(CROSS(OBV,MAOBV),1)=1;
DRAWICON(D1,OBV-0,1);{OBV显示1号图标};
{突破:=C/REF(C,1) 1.02ANDV*240/FROMOPEN/REF(MA(V,1),1) =2ANDC=HANDREF(C,1)/L 1.015ANDC/REF(C,1) 1.07;
DRAWICON(分时突破,OBV-0,25);{OBV显示25号图标};
所属行业:DRAWTEXT_FIX(ISLASTBAR,0.08,1,1,HYBLOCK),COLORYELLOW;
所属地域:DRAWTEXT_FIX(ISLASTBAR,0.10,1,0,DYBLOCK),COLORYELLOW;
M:=30;
VA:=IF(CLOSE REF(CLOSE,1),vol,-VOL)/100000;
obv:SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
MaoBV:ma(OBV,M);
LC:=REF(CLOSE,1);
AA:=Abs(HIGH-LC);
BB:=ABS(LOW-LC);
CC:=ABS(HIGH-REF(LOW,1));
DD:=ABS(LC-REF(OPEN,1));
R:=IF(AA BBANDAA CC,AA+BB/2+DD/4,IF(BB CCANDBB AA,BB+AA/2+DD/4,CC+DD/4));
X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));
SI:=8*X/R*MAX(AA,BB);
asi:SUM(SI,0);
MASI:MA(ASI,6);
{仿指南针:资金趋势}
DRAWBAND(3*(Ema(C,3)-EMA(C,8)-EMA(EMA(C,3)-EMA(C,8),20))*5+20,RGB(250,80,80),20,RGB(0,180,180));
DRAWTEXT(ISLAstBAR,20.5,'资金趋势'),COLORMAGENTA;
{仿指南针:主力资金}
A:=vol*CLOSE;
B:=SUM(A,1)/SUM(VOL,1);
B1:=EMA(B,8);
主力资金:(B-B1)*100/B,NODRAW,COLORRED;
DRAWBAND(主力资金+35,RGB(250,0,00),35,RGB(0,255,0));
DRAWTEXT(ISLASTBAR,35.5,'主力资金'),COLORRED;
资金趋势:3*(EMA(C,3)-EMA(C,8)-EMA(EMA(C,3)-EMA(C,8),20))*5,NODRAW,COLORMAGENTA;
VAR2:=(CLOSE-LLV(LOW,24))/(HHV(HIGH,24)-LLV(LOW,24))*200*10;
能量:SMA(VAR2,5,1)/100,COLORRED;
DRAWBAND(能量 REF(能量,1),RGB(250,0,120),0,RGB(0,180,180));
STICKLINE(能量 REF(能量,1),0,能量,2.5,0),COLOR7800FF;
STICKLINE(能量 REF(能量,1),0,能量,2.5,0),COLORFF7800;
危险区:18,COLOR208FFF;
次险区:15,COLORFF33FF,DOTLINE;
VAR3:=VOL/((HIGH-LOW)*2-Abs(CLOSE-OPEN));
VAR4:=(IF(CLOSE OPEN,VAR3*(HIGH-LOW),IF(CLOSE OPEN,VAR3*(HIGH-OPEN+CLOSE-LOW),VOL/2))/(IF(CLOSE OPEN,0-VAR3*(HIGH-CLOSE+OPEN-LOW),IF(CLOSE OPEN,0-VAR3*(HIGH-LOW),0-VOL/2))*(-1))-IF(CLOSE OPEN,0-VAR3*(HIGH-CLOSE+OPEN-LOW),IF(CLOSE OPEN,0-VAR3*(HIGH-LOW),0-VOL/2))*(-1)/IF(CLOSE OPEN,VAR3*(HIGH-LOW),IF(CLOSE OPEN,VAR3*(HIGH-OPEN+CLOSE-LOW),VOL/2)));
VAR5:=AMOUNT/(100*VOL);
VAR6:=MA(VAR5,40);
VAR7:=100*(CLOSE-VAR6)/VAR6;
底部区:IF(VAR4 0ANDVAR7 -12ANDCLOSE/OPEN 1.07,300,200)/100,COLORFFFF00,DOTLINE;
DRAWTEXT(ISLASTBAR,1.5,'能量潮'),COLOR7800FF;
量堆:=COUNT(V =REF(V,1)*2,BArslAST(crOSS(C,MA(C,20))));
量堆(:IF(量堆=1,1000,0)/100,COLORYELLOW,LINETHICK3;
[源码注释]通达信obv能量潮指标公式公式解读
M赋值:180
VA赋值:如果收盘价 ,返回?,否则返回?
1日前的收盘价,成交量(手),-成交量(手))
输出OBV:如果收盘价=1日前的收盘价,返回0,否则返回VA的历史累和,画洋红色,线宽为2
输出MAOBV:OBV的M日简单移动平均,画红色,线宽为2
如果OBV ,返回?,否则返回?
=1日前的OBV,OBV,无效数),画青色,线宽为2
如果MAOBV ,返回?,否则返回?
=1日前的MAOBV,MAOBV,无效数),画绿色,线宽为2
D1赋值:统计1日中满足OBV上穿MAOBV的天数=1
当满足条件D1时,在OBV-0位置画1号图标
输出所属行业:当满足条件是否最后一个周期时,在横轴0.08纵轴1位置书写文字,画黄色
输出所属地域:当满足条件是否最后一个周期时,在横轴0.10纵轴1位置书写文字,画黄色
M赋值:30
VA赋值:如果收盘价 1日前的收盘价,返回成交量(手),否则返回-成交量(手)/100000
输出OBV:如果收盘价=1日前的收盘价,返回0,否则返回VA的历史累和
输出MAOBV:OBV的M日简单移动平均
LC赋值:1日前的收盘价
AA赋值:最高价-LC的绝对值
BB赋值:最低价-LC的绝对值
CC赋值:最高价-1日前的最低价的绝对值
DD赋值:LC-1日前的开盘价的绝对值
R赋值:如果AA BBANDAA CC,返回AA+BB/2+DD/4,否则返回如果BB CCANDBB AA,返回BB+AA/2+DD/4,否则返回CC+DD/4
X赋值:(收盘价-LC+(收盘价-开盘价)/2+LC-1日前的开盘价)
SI赋值:8*X/R*AA和BB的较大值
输出ASI:SI的历史累和
输出MASI:ASI的6日简单移动平均
画带状线
当满足条件是否最后一个周期时,在20.5位置书写文字,画洋红色
A赋值:成交量(手)*收盘价
B赋值:A的1日累和/成交量(手)的1日累和
B1赋值:B的8日指数移动平均
输出主力资金:(B-B1)*100/B,NODRAW,画红色
画带状线
当满足条件是否最后一个周期时,在35.5位置书写文字,画红色
输出资金趋势:3*(收盘价的3日指数移动平均-收盘价的8日指数移动平均-收盘价的3日指数移动平均-收盘价的8日指数移动平均的20日指数移动平均)*5,NODRAW,画洋红色
VAR2赋值:(收盘价-24日内最低价的最低值)/(24日内最高价的最高值-24日内最低价的最低值)*200*10
输出能量:VAR2的5日[1日权重]移动平均/100,画红色
画带状线
当满足条件能量 1日前的能量时,在0和能量位置之间画柱状线,宽度为2.5,0不为0则画空心柱.,COLOR7800FF
当满足条件能量 1日前的能量时,在0和能量位置之间画柱状线,宽度为2.5,0不为0则画空心柱.,COLORFF7800
输出危险区:18,COLOR208FFF
输出次险区:15,COLORFF33FF,DOTLINE
VAR3赋值:成交量(手)/((最高价-最低价)*2-收盘价-开盘价的绝对值)
VAR4赋值:(如果收阳线,返回VAR3*(最高价-最低价),否则返回如果收阴线,返回VAR3*(最高价-开盘价+收盘价-最低价),否则返回成交量(手)/2/(如果收阳线,返回0-VAR3*(最高价-收盘价+开盘价-最低价),否则返回如果收阴线,返回0-VAR3*(最高价-最低价),否则返回0-成交量(手)/2*(-1))-如果收阳线,返回0-VAR3*(最高价-收盘价+开盘价-最低价),否则返回如果收阴线,返回0-VAR3*(最高价-最低价),否则返回0-成交量(手)/2*(-1)/如果收阳线,返回VAR3*(最高价-最低价),否则返回如果收阴线,返回VAR3*(最高价-开盘价+收盘价-最低价),否则返回成交量(手)/2)
VAR5赋值:成交额(元)/(100*成交量(手))
VAR6赋值:VAR5的40日简单移动平均
VAR7赋值:100*(收盘价-VAR6)/VAR6
输出底部区:如果VAR4 0ANDVAR7 -12ANDCLOSE/开盘价 1.07,返回300,否则返回200/100,COLORFFFF00,DOTLINE
当满足条件是否最后一个周期时,在1.5位置书写文字,COLOR7800FF
量堆赋值:统计上次收盘价上穿收盘价的20日简单移动平均距今天数日中满足成交量(手) =1日前的成交量(手)*2的天数
输出量堆(:如果量堆=1,返回1000,否则返回0/100,画黄色,线宽为3

今天的分享就到这里啦,大家感觉怎么样呢?有什么意见建议的朋友欢迎在下方评论区写下你的看法,我们共同学习进步,还请大家多多关注支持哦!!敬请期待明天的分享!