操盘手资金博弈源码

来源:百度文库 编辑:神马文学网 时间:2024/04/26 05:28:51

操盘手资金博弈源码(大智慧)---创幻论坛

(2010-10-19 )操盘手资金博弈源码(大智慧)

来自于:瞿松 ---创幻论坛

资金博弈源码;

jgV:=(BIGORDER(1,3)-BIGORDER(2,3))*vol;
dhV:=(BIGORDER(1,2)-BIGORDER(2,2)-BIGORDER(1,3)+BIGORDER(2,3))*vol;
zhV:=(BIGORDER(1,1)-BIGORDER(2,1)-BIGORDER(1,2)+BIGORDER(2,2))*vol;
shV:=(BIGORDER(2,1)-BIGORDER(1,1))*vol;
tD:=COUNT(BIGORDER(1,0),0);
myD:=min(tD,60);
超级资金:ema(jgV,myD)*myD/capital,COLORMAGENTA;
大户资金:ema(dhV,myD)*myD/capital,color3399FF ;
中户资金:ema(zhV,myD)*myD/capital,colorcyan;
散户资金:ema(shV,myD)*myD/capital,colorgreen;
0,color333333,PRECIS0,layer7;

 

DDX详解(转自理想论坛李达三)(2010-07-31)

  原文出处: http://www1.55188.com/viewthread.php?tid=3286740
红字为李达三之外的解释,短线之巅的博客搜集
DDX DDY的源码如下:
可能有细微的差别,但是基本上已经正确了,对过大智慧的很多股票,数值基本上都是一样的。
那么我来解释一下DDX和DDY这两个最关键的指标的意义,方便大家对ddx ddy有更深的理解。

DDX的关键代码:(BIGORDER(1) - BIGORDER(2)) * VOL/CAPITAL * 100 BIGORDER(N,M),取的日线上中单、大单、特大单占成交量的比例。N表示类型,N=1是买入委托单,N=2是卖出委托单,M表示委托单大小,M=1中单,M=2大单,M=3特大单。中单数包含大单数,大单数包含特大单数. 小买单比例可用1-BIGORDER(1,1),[省略M的情况没查到]
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;
EMA(X,N)指数平滑移动平均
求X的N日指数平滑移动平均,它真正的公式表达是:当日指数平均值=平滑系数*(当日指数值-昨日指数平均值)+昨日指数平均值;平滑系数=2/(周期单位+1);由以上公式推导开,得到:EMA(C,N)=2*C/(N+1)+(N-1)/(N+1)*昨天的指数收盘平均值;
算法是:若Y=EMA(X,N),则Y=[2*X+(N-1)*Y’]/(N+1),其中Y’表示上一周期的Y值。
EMA引用函数在计算机上使用递归算法很容易实现,但不容易理解。例举分析说明EMA函数。

X是变量,每天的X值都不同,从远到近地标记,它们分别记为X1,X2,X3,….,Xn
如果N=1,则EMA(X,1)=[2*X1+(1-1)*Y’]/(1+1)=X1
如果N=2,则EMA(X,2)=[2*X2+(2-1)*Y’]/(2+1)=(2/3)*X2+(1/3)X1
如果N=3,则EMA(X,3)=[2*X3+(3-1)*Y’]/(3+1)=[2*X3+2*((2/3)*X2+(1/3)*X1)]/4=(1 /2)*X3+(1/3)*X2+(1/6)*X1
如果N=4,则EMA(X,4)=[2*X4+(4-1)*Y’]/(4+1)=2/5*X4+3/5*((1/2)*X3+(1/3)*X2+(1 /6)*X1)
=2/5*X4+3/10*X3+1/5*X2+1/10*X1
如果N=5,则EMA(X,5)=2/(5+1)*X5+(5-1)/(5+1)(2/5*X4+3/10*X3+3/15*X2+3/30*X1)
=(1/3)*X5+(4/15)*X4+(3/15)*X3+(2/15)*X2+(1/15)*X1
…………循环

X1
(2/3)*X2+(1/3)X1
(3/6)*X3+(2/6)*X2+(1/6)*X1
(4/10)*X4+(3/10)*X3+(2/10)*X2+(1/10)*X1
(5/15)*X5+(4/15)*X4+(3/15)*X3+(2/15)*X2+(1/15)*X1

2/(1+2) 3/(1+2+3) 4/(1+2+3+4) 4/(1+2+3+4+5)
...................

任何时候系数之和恒为1。如果X是常量,每天的X值都不变,则EMA(X,N)=MA(X,N).

从以上的例举分析中,我们可以看到时间周期越近的X值它的权重越大,说明EMA函数对近期的X值加强了权重比,更能及时反映近期X值的波动情况。所以EMA比Ma更具参考价值,而ema 也不容易出现死叉和金叉,所以一旦出现要立即作出反映!对周线处理,ema就更加稳定

转载请注明来自理想论坛李达三,欢迎交流。
要理解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;