[ZX260907]主买主卖差副图-通达信指标源码分享

【免责声明】本文仅拆解主动买卖盘估算法与公式写法,属编程与源码科普,不构成任何投资建议。市场有风险,据此操作盈亏自负。
行情软件里的资金流向,各家算法不一样,常有人问:这数到底咋来的?其实都从一个猜测出发——看这笔成交落在K线的哪一段,猜它是谁主动的。
主买主卖差副图,就是把这个猜测写成了公式:阳线里往上走的量算主动买,阴线里往下砸的量算主动卖,算完一减,就是当天进出量的净差。再叠上N日累计、翻红天数、连红天数,一套人气账本就算齐了。
速查卡放这,五秒扫完:

AA:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));买量:=IF(CLOSE>OPEN,AA*(HIGH-LOW),IF(CLOSE<OPEN,AA*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2));卖量:=IF(CLOSE>OPEN,0-AA*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-AA*(HIGH-LOW),0-VOL/2));进出量:买量+卖量,COLOR00FFFFSTICKLINE(进出量>0,0,进出量,1,0),COLORREDSTICKLINE(进出量<0,0,进出量,1,0),COLOR00FF00N日净流入:SUM(买量+卖量,3),COLORWHITE,LINETHICK2M日翻红天数:COUNT(进出量>0,8),COLORYELLOW连红天数:BARSLASTCOUNT(进出量>0),COLORMAGENTA
先说最核心的算法,主动买卖量是怎么估出来的:
AA:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
这行看着吓人,拆开就一行。分母是全天振幅的两倍,减去实体(收盘减开盘的绝对值)。意思是:把一天的价格波动摊开,按K线内部结构,把量按比例分配到主动买和主动卖上。阳线,收盘在上方,分配到买那边的份额就多;阴线反之。
为啥乘二还要减实体?这是原作者校准过的经验系数,让买卖两边的估算加起来能对上总量,不至于分配完剩下一截对不上账。系数这东西没有唯一解,各家算法在这儿分岔,但思路都是"按K线位置分蛋糕"。
再看买量和卖量两行:
买量:=IF(CLOSE>OPEN,AA*(HIGH-LOW),IF(CLOSE<OPEN,AA*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2));
卖量:=IF(CLOSE>OPEN,0-AA*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-AA*(HIGH-LOW),0-VOL/2));
两行是镜像的:阳线时,买量拿整根振幅AA乘(HIGH-LOW),卖量只拿上下影线那段;阴线时反过来。平开平收,谁也说不好谁主动,就各分一半。分完的买量是正数,卖量带负号,一相加,进出量就出来了。
正的是净买、负的是净卖,红蓝两色柱直接画在零轴上下。加个0.5到1的宽度变化,柱子的粗细还能带出量级信息。
往后那几行是账本类统计。SUM(买卖差,3)把最近三天的净差加起来,是N日净流入;COUNT(买卖差>0,3)数一数三天里有几天是正的,是M日翻红天数;BARSLASTCOUNT(买卖差>0)从今天往前数,连续为正的天数。三个函数,把"累计、计数、连续"三种统计方式都用上了。
N取3、M取8,这俩数有意思。
三天累计,够短,能看出最近一口气的力道;八天计数,够长,能看出中段人气有没有反复。取1天太急,一笔大单就翻脸;取20天太慢,翻红天数早失去意义。三和八,一个抓近、一个看中,各管各的频段。
这套账本的逻辑,是把"谁主动"从猜测变成可计算的量。拆单分配到K线结构上,再按天数滚动统计,人气的账就算得清清楚楚。
| AA:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN)); | ||
| 买量:=IF(CLOSE>OPEN,AA*(HIGH-LOW),IF(CLOSE<OPEN,AA*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)); | ||
| 卖量:=IF(CLOSE>OPEN,0-AA*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-AA*(HIGH-LOW),0-VOL/2)); | ||
| N日净流入:SUM(买量+卖量,3),COLORWHITE,LINETHICK2; |
评论区聊聊:你见过资金流向算法有好几种,有没有研究过它们差在哪?
