
01 MFI粗筛打头阵,KDJ细滤收尾双筛
别人的OBV直接累加成交量——涨了加、跌了减,简单粗暴。这公式偏不,先过MFI这道筛子,按资金流量方向决定加还是减。
累计完了再跑KDJ做末尾那道过滤。你以为OBV就是个累计量?其实它把资金流向做成了两层过滤的精细活儿。
资金流量是往里走还是往外走,全被卡了两道。
我自己写OBV时习惯直接累加,直到看到这公式先用MFI筛方向,才发现假信号少了一大截。
别人都图省事,收盘涨就加量、跌就减量,我偏要先问一句钱是真进来还是假进来。
打个比方,这就像家里那台净水器。自来水哗哗进来,先过粗滤棉,再进细滤芯,出来才是能直接喝的纯净水。
成交量是自来水,MFI方向是头一道粗滤,OBV累计是中间那根管道,KDJ是末尾的细滤。一层一层往下滤,噪音就滤掉了。
MFI是头一道粗筛,OBV累计是传送带,KDJ是末尾那道细筛。粗筛挡掉大头沙石,细筛把细沙也拎出来。
你直接裸看OBV,等于把粗滤细滤全拆了,对着自来水杯子接。
我反正认准一条:OBV必须过一道方向筛子再累计,直接累加成交量的OBV就是个糙货。收盘价一笔尾盘单子就能画出来,资金量可没那么好骗。
速查卡(五秒扫完,名称 + 一句话作用):
四块芯片摆这儿,底下串起来看。
对了,说个题外的——MFI这指标名字叫资金流量指标,但很多人只知道它叫MFI三个字母,全名反倒没人念。
02 指标源码分享|OBV资金流源码

指标编号:ZD261022
完整指标源码:
N:=9;TYP:=(HIGH+LOW+CLOSE)/3;RS:=SUM(IF(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IF(TYP<=REF(TYP,1),TYP*VOL,0),N);MFI:=100-100/(1+RS);资金流量:MFI,NODRAW;A1:=SUM(IF(MFI>REF(MFI,1),VOL,IF(MFI<REF(MFI,1),-VOL,0)),0);RSV:=(A1-LLV(A1,34))/(HHV(A1,34)-LLV(A1,34))*100;K:SMA(RSV,5,1);D:SMA(K,3,1);J:3*K-2*D;50,COLORGRAY;80,COLORRED;
顺手把 #OBV指标# 这个话题钉一下,平时跟 #资金流量# #副图公式# 绑在一块儿聊。
03 MFI怎么算出来,A1累计和KDJ怎么串成一条线拆解
原理拆开看,其实就四件事串成一条线:先定个准价,再比涨跌资金量,归一化出MFI,按MFI方向累计,末尾再上一道KDJ。底下一个一个捋。
TYP:=(HIGH+LOW+CLOSE)/3
典型价格。常规做法是直接拿收盘价C,这公式偏不,用(H+L+C)/3。
区别在哪?收盘价可能被尾盘一笔拉上去或砸下来,带长影线的K线,收盘价根本不代表当天真实成交重心。
(H+L+C)/3把最高价最低价都算进来,等于当天成交的重心。MFI拿TYP而不是C,就是为了更准地判断资金是在流入还是流出。这是头一层讲究。
RS:=SUM(IF(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IF(TYP<=REF(TYP,1),TYP*VOL,0),N)
这行是MFI的心脏。分子:9周期内,TYP比前一天高的那些天,把TYP乘VOL加起来,这是上涨资金量。
分母:TYP比前一天低或平的那些天,TYP乘VOL加起来,这是下跌资金量,两者比值就是资金流比率RS。
注意不是简单数涨了几天跌了几天,而是拿TYP乘VOL加权——量大的那天权重高,一天爆量顶三天缩量。
参数N取9。先试3和30:3天太短,RS上蹿下跳像坐过山车;30天太长,资金都转向了RS还没反应过来。
合理区间5到14,定在9,刚好两周交易日,够一个小资金周期。我有次把它调成14,MFI变得慢吞吞,又调回9。
MFI:=100-100/(1+RS)
把RS归一化到0到100。RS等于1时MFI等于50,涨跌资金打平;RS大于1时MFI大于50,流入多于流出;RS越大MFI越贴100。
这公式跟RSI长得像,不一样的地方是——RSI用涨跌幅,MFI用资金量。MFI是用钱投票的指标,不是用价格投票。
资金流量:MFI,NODRAW是副图主线,NODRAW意思是不画线只出数值,后面A1要拿它当料。
A1:=SUM(IF(MFI>REF(MFI,1),VOL,IF(MFI<REF(MFI,1),-VOL,0)),0)
这是这公式最不一样的地方。常规OBV是收盘价涨加VOL、跌减VOL。这公式偏不用收盘价判方向,改拿MFI的方向。
MFI比前一天高就加VOL,比前一天低就减VOL,走平就不加不减。
为什么用MFI方向而不是收盘价方向?收盘价可能被尾盘一笔单子带偏,MFI是9天资金量加权出来的,没那么好骗。
等于给OBV加了一道方向过滤器。
SUM后面那个0,表示从头一根K线开始累计,没有周期截断,这是真正的累计量,不是滚动窗口。
A1后面作者自己注了{obv},他也知道这是OBV的变种。
RSV:=(A1-LLV(A1,34))/(HHV(A1,34)-LLV(A1,34))*100
累计完了还不够,再对A1做一遍KDJ。RSV是A1在34周期内,处在最高最低区间的哪个位置。K线SMA(RSV,5,1),D线SMA(K,3,1),J等于3K减2D。
为什么34?先试9和60:9天太短,A1的KDJ跟A1本身差不多,等于没过滤;60天太长,J值半天挪一步。
合理区间20到40,定34,斐波那契数,跟MFI的9周期长短搭。
MFI周期 9
KDJ周期 34
MFI是短周期方向筛,A1的KDJ是长周期平滑筛,两道筛子长短互补。50是多空分界,80是高位区,J值冒过80,说明累计资金量站在近期高位。