DDX DDY的源码如下: 可能有细微的差别,但是基本上已经正确了,对过大智慧的很多股票,数值基本上都是一样的。 那么我来解释一下DDX和DDY这两个最关键的指标的意义,方便大家对ddx ddy有更深的理解。 ----------------我是分隔符---------------------- DDX的关键代码:(BIGORDER(1) - BIGORDER(2)) * VOL/CAPITAL * 100 转载请注明来自理想论坛李达三,欢迎交流。 BIGORDER(1)表示大单买入量占当天成交量的比例 BIGORDER(2)表示大单卖出量占当天成交量的比例 (BIGORDER(1) - BIGORDER(2)) * VOL即表示大单净买入成交量 DDX表示当天大单净买入量占总的流通盘的百分比 即DDX=1表示,今天大单净买入占该股票的总流通盘的1% ----------------我是分隔符---------------------- DDY的关键代码有两个 VAR1:=EMA((2 - BIGORDER(1) - BIGORDER(2)) * VOL/(ORDER(1) + ORDER(2)),60); DDY:(ORDER(2) - ORDER(1))/CAPITAL * VAR1 * 100,COLOR3D; 转载请注明来自理想论坛李达三,欢迎交流。 要理解DDY就要理解ORDER这个函数 ORDER的意义是当日成交到的委托单的数量,比如说有一个委托单是100手,那么成交量可能是100,但是委托单只能算1个。 因此委托单数量越少说明大单越多,委托单数量越大可能就是小单的数量越多。 ORDER(2)表示成交的卖出委托单数量 ORDER(1)表示成交的买入委托单数量 DDY和DDX的区别在于 DDX是*VOL 而DDY是*VAR1 所以还有一个关键是什么是VAR1? 由VAR1来看:(2 - BIGORDER(1) - BIGORDER(2))表示小单买入比例加上小单卖出比例 所以(2 - BIGORDER(1) - BIGORDER(2)) * VOL表示当日小单买入加上小单卖出的成交量 ORDER(1) + ORDER(2)表示成交的买单和卖单的委托单总数 所以两者相除表示平均每个委托单的成交手数,然后再取了60日的移动平均 所以VAR1的意义就表示该股票在最近时刻平均每个委托单的成交手数。 最后按照DDY的算法,DDY就是买入卖出委托单的差额*委托单的平均手数除以流通盘 这里DDX用大单小单来衡量计算,而DDY用委托单的数量来估算 ----------------我是分隔符---------------------- DDX: INPUT: P1(60,0,100),P2(5,0,100),P3(10,0,100); REFLINE:0; VAR0:=MIN(COUNT(ORDER(2),0),P1); DDX:(BIGORDER(1) - BIGORDER(2)) * VOL/CAPITAL * 100,COLOR3D; DDX1:EMA((BIGORDER(1) - BIGORDER(2)) * VOL/CAPITAL * 100,VAR0) * VAR0; DDX2:MA(DDX1,P2); DDX3:MA(DDX1,P3); DRAWTEXTABS(0,0,'大单动向'); 1,DOTLINE;
DDY: INPUT: P1(60,0,100),P2(5,0,100),P3(10,0,100); REFLINE:0; VAR0:=MIN(COUNT(ORDER(2),0),P1); VAR1:=EMA((2 - BIGORDER(1) - BIGORDER(2)) * VOL/(ORDER(1) + ORDER(2)),60); DDY:(ORDER(2) - ORDER(1))/CAPITAL * VAR1 * 100,COLOR3D; DDY1:EMA((ORDER(2) - ORDER(1))/CAPITAL * VAR1 * 100,VAR0) * VAR0; DDY2:MA(DDY1,P2); DDY3:MA(DDY1,P3); DRAWTEXTABS(0,0,'涨跌动因'); 1,DOTLINE;
VAR1:=EMA((2 - BIGORDER(1) - BIGORDER(2)) * VOL/(ORDER(1) + ORDER(2)),60); 其实明确的说大智慧的这种算法有点不够精确。就说说这个关键的(2 - BIGORDER(1) - BIGORDER(2)) * VOL/(ORDER(1) + ORDER(2)),咋一看分子(2 - BIGORDER(1) - BIGORDER(2)) )* VOL很不好解释,直观点表达把它分解为(1-BIGORDER(1,2))+(1-BIGORDER(2,2))*VOL,意思是(中小单的总买单占成交量的比例+中小单的总卖单占成交量的比例)*VOL,就是总的中小单买卖的成交量,接下来说说分母的(ORDER(1) + ORDER(2)),这个是总的买单单数(也可以说叫笔数吧)+总的卖单单数,明眼人一看就知道,分子是中小单的买卖成交量,分母是总的买卖成交单,相除以后得出的就是每一单的中小单成交手数,也可以说叫每笔成交量,为什么要先确定这个VAR1?是为了以后关键的DDY总单数差相差的部分是差了多少,相差的单数有了,那么每一单的手数总要有吧,我的问题来了,为什么分母要做成总的买卖单数呢?这其中不是包含大单的单数吗?明明分子是中小单的呀,应该用总的中小单买卖量除以总的中小单买卖单数才是得出真实的中小单每笔手数的,一直没有想明白,等哪位明白人解释
给你做一个解释,也不知道是否准确 就是首先肯定不能用所有成交/所有委托单数量 为什么呢?因为有特大单和大单 委托单数量很少 但是成交量很大 所以会使得var1失真 因此最好的办法确实是中小单成交/所有中小委托单数量 但是为什么大智慧是除以所有委托单呢?我估计是2个原因 第一个原因是因为可能他们根本没有统计中小委托单的数量或者大单的数量 第二个原因是因为特大单和大单相对来说委托单的数量比较小 这样计算误差也不是特别大 所以就这样近似了
补充说明 ORDERVOL 委托单成交量 分时线中该分钟成交的按照委托单大小划分的成交量,委托单分为买入委托和卖出委托,小单,中单(>2万股或4万元),大单(>10万股或20万元),特大单(>50万股或100万元)。 用法: ORDERVOL(N,M),N表示类型,N=1买入委托单,N=2卖出委托单,M表示委托单大小,M=0所有委托单,M=1中单,M=2大单,M=3特大单。 例如:ORDERVOL(1,2)/ORDERVOL(1,0)*100表示大单成交量占总成交量的百分比
BIGORDER委托单大单成交量比例 日线取得该日成交的中单、大单、特大占总的成交量比例,委托单分为买入委托和卖出委托,划分标准为中单(>2万股或4万元),大单(>10万股或20万元),特大单(>50万股或100万元),该函数仅对Level2行情显示有效。 用法: BIGORDER(N,M),N表示类型,N=1买入委托单,N=2卖出委托单,M表示委托单大小,M=1中单,M=2大单,M=3特大单,M可以省略,表示大单。注意中单包含了大单,而大单则包含了特大单,所以小单比例可以表示为1-BIGORDER(1,1)
ORDERNUM 委托单成交单数 分时线中该分钟成交的委托单数量,委托单分为买入委托和卖出委托,小单,中单(>2万股或4万元),大单(>10万股或20万元),特大单(>50万股或100万元)。 用法: ORDERNUM(N,M),N表示类型,N=1买入委托单,N=2卖出委托单,M表示委托单大小,M=0所有委托单,M=1中单,M=2大单,M=3特大单。 |