如何利用大买量,大卖量的成交均额算各指数的主力持仓

标签:
股票杂谈大智慧l2分析家通达信选股策略于安生净利润增长率 |
分类: 精品公式 |
共可看六个指数主力持仓的走势——全部A股(市场全貌——包括上海A股,深圳A股,中小板所有股票),沪深300,上证50,深成40,深证100,中证100(沪深100只权重股),下面是公式,只给了一个公式,其他依法炮制(即把'全部A股大买量'改成“沪深300大买量',“全部A股大卖量'改成”
沪深300大卖量”,然后将公式起名为“沪深300”即可,其他不用改,就可用了,引入我发上来的自定义数据,将其一一引入,即可在副图下,股票日线数据下看到了这六个指数主力持仓的走势图,其它依此类推),图和数据如下
适用于分析家6。0;分析家5。0,飞狐,大智慧和大智慧L2
全部A股
大买:=SELFDATA('全部A股大买量');
大卖:=SELFDATA('全部A股大卖量');
当天增减:(大买-大卖),LINETHICK0,COLOR0000ff;
主力仓量:sum(大买-大卖,0),COLORGRAY;
三天前仓:=ref(主力仓量,3);
五天前仓:=ref(主力仓量,5);
十天前仓:=ref(主力仓量,10);
廿天前仓:=ref(主力仓量,20);
三天增减:主力仓量-三天前仓,LINETHICK0,color003399;
五天增减:主力仓量-五天前仓,LINETHICK0,color0055ff;
十天增减:主力仓量-十天前仓,LINETHICK0,color00aaff;
廿天增减:主力仓量-廿天前仓,LINETHICK0,color00ffff;
FILLRGN(廿天增减,0,廿天增减>0,rgb(255,255,00),廿天增减<0,rgb(00,255,255));
{廿天增减,COLORWHITE;}
FILLRGN(十天增减,0,十天增减>0,rgb(255,170,00),十天增减<0,rgb(00,170,255));
{十天图:十天增减,COLORWHITE;}
FILLRGN(五天增减,0,五天增减>0,rgb(255,85,00),五天增减<0,rgb(00,85,255));
{五天图:五天增减,COLORWHITE;}
FILLRGN(三天增减,0,三天增减>0,rgb(153,51,00),三天增减<0,rgb(00,51,153));
{三天图:三天增减,COLORWHITE;}
STICKLINE(当天增减>0,当天增减,0,6,0),COLOR0000ff;
STICKLINE(当天增减<0,当天增减,0,6,0),color00ff00;
ma5:MA(主力仓量,5),colorred;
ma10:MA(主力仓量,10),COLORGRAY;
ma20:MA(主力仓量,20),COLORBLUE,linethick2;
ma30:MA(主力仓量,30),colorgreen;
ma50:MA(主力仓量,50),CIRCLEDOT,COLORMAGENTA;
drawtext(ma(主力仓量,50)>ref(ma(主力仓量,50),1),ma(主力仓量,50),'o'),COLORBLACK;
以“全部A股大买量”为例,先点“自定义数据”》》点“新建”》》在”名称“一栏里填”全部A股大买量“》》在”属性“一栏里,选择”股票无关序列值“》》在”与指标横向统计关联“的左面小方框中打上勾》》点”指标“》》选择”主力持筹“指标》》指向”大单买量“(分析周期选择”分笔成交“)》》在”计算时用除权后数据“左面小方框打上勾,在”统计方法“的右面矩形方框中选择”“总和”》》在”股票统计范围“中将”全部A股“点黑(黑圆点)点”确定“——设置完毕,可刷新计算了(用我发给你们的数据,以后数据自己每天再算吧,要想自己把数据全部算出来没4~5个钟头完不成的,每天算数据时,只保留一天的分笔,其他天的剪切到别处,否则算数据时会把所有天的分笔一起算——慢得像蜗牛),其它数据如法炮制,如图:
主力持筹
Var1:=AMOUNT/VOL/100;
Var2:=REF(ASKPRICE(1),1);
Var3:=REF(BIDPRICE(1),1);
Var4:=(Var2-Var3)*0.35;
Var5:=IF(Var1>=Var2-Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,BUYVOL,0));
Var6:=IF(Var1<=Var3+Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,SELLVOL,0));
J: SUM(Var5,0);
大单买量:SUM(IF(AMOUNT>=50000,Var5,0),0);
T: SUM(Var6,0);
大单卖量:SUM(IF(AMOUNT>=50000,Var6,0),0);
Var2;
P: Var1;
Var3;
VOL, VOLSTICK;
U: EMA(J-T,3);
Var7:=BARSLAST(CLOSE>REF(CLOSE,1));
Var8:=BARSLAST(CLOSE<REF(CLOSE,1));
Var9:=SUM(IF(REF(CLOSE,Var7)<=CLOSE,VOL,0),0);
VarA:=SUM(IF(REF(CLOSE,Var8)>=CLOSE,VOL,0),0);
U1: EMA(Var9-VarA,3);
[ 本帖最后由 lymanqun 于 2007-3-16 21:46 编辑 ]
在反映板块的‘主力持筹’中,如果仍然适用主力成交量(大买/大卖)来反映大盘主力趋势的话,有一个问题是,如果某主力卖出(大卖)股价为50元的股票20000股,然后买入(大买)股价为20元的股票30000股,从老师给的公式看,主力持筹是在‘吸筹’,但从资金角度来讲,主力却是在‘减仓’,这样的话岂不是不能反映主力对大盘走势的态度了嘛?
请老师指点,谢谢。
这种情况有的,还相当多,那就在大单买量和大单卖量后加上当日成交均价,算出的即为所有个股当日大买量,大卖量的成交均额,这样统计出来就是各指数的主力真实持仓了(表现为成交额的形式),这种形式我还没试过,因我觉得原来的已不错(像你说的情况存在,但不至于影响当日整个市场主力持仓增减的属性),不过还是谢谢你的提醒,有人愿意用如下公式算算吗?我是不算了,要算完没5~6个钟头做不完
主力持筹1{成交额形式}
Var1:=AMOUNT/VOL/100;
Var2:=REF(ASKPRICE(1),1);
Var3:=REF(BIDPRICE(1),1);
Var4:=(Var2-Var3)*0.35;
Var5:=IF(Var1>=Var2-Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,BUYVOL,0));
Var6:=IF(Var1<=Var3+Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,SELLVOL,0));
J: SUM(Var5,0);
大单买量:SUM(IF(AMOUNT>=50000,Var5,0),0)*(AMOUNT/V/100);
T: SUM(Var6,0);
大单卖量:SUM(IF(AMOUNT>=50000,Var6,0),0)*(AMOUNT/V/100);
Var2;
P: Var1;
Var3;
VOL, VOLSTICK;
U: EMA(J-T,3);
Var7:=BARSLAST(CLOSE>REF(CLOSE,1));
Var8:=BARSLAST(CLOSE<REF(CLOSE,1));
Var9:=SUM(IF(REF(CLOSE,Var7)<=CLOSE,VOL,0),0);
VarA:=SUM(IF(REF(CLOSE,Var8)>=CLOSE,VOL,0),0);
U1: EMA(Var9-VarA,3);
今天发的公式数据都丢了,重发(成交额的)
指数持筹
if date>1050228 then
大买额:selfdata('大买量')*amount/vol/100;{我的数据限制,只能看200503月份以来的数据}
if date>1050228 then
大卖额:selfdata('大卖量')*amount/vol/100;{我的数据限制,只能看200503月份以来的数据};
[ 本帖最后由 lymanqun 于 2007-3-17 18:40 编辑 ]
用日线,如图
http://bbs.macd.cn/attachments.php?aid=1050427&noupdate=yes&3
http://bbs.macd.cn/attachments.php?aid=1050428&noupdate=yes&3
http://bbs.macd.cn/attachments.php?aid=1050430&noupdate=yes&3
这个公式:
指数持筹
if date>1050228 then 大买额:selfdata('大买量')*amount/vol/100;{我的数据限制,只能看12月份以来的数据}
if date>1050228 then 大卖额:selfdata('大卖量')*amount/vol/100;{我的数据限制,只能看12月份以来的数据};
好是好,但是有一缺陷,就是算出的主力持仓数据额全部是以最后一天(20070316)的成交均价为系数算出了全部指数主力持仓额,有错误,但不妨碍使用,所有主力持仓的方向是对的,就是金额有错误,以后再算就要每天计算,算个股的大买量,大卖量仍用如下公式:
主力持筹
Var1:=AMOUNT/VOL/100;
Var2:=REF(ASKPRICE(1),1);
Var3:=REF(BIDPRICE(1),1);
Var4:=(Var2-Var3)*0.35;
Var5:=IF(Var1>=Var2-Var4,VOL,IF(Var1<Var2-Var4 AND Var1>Var3+Var4,BUYVOL,0));
Var6:=IF(Var1<=Var3+Var4,VOL,IF(Var1<Var2-Var4 AND Var1>Var3+Var4,SELLVOL,0));
J: SUM(Var5,0);
大单买量:SUM(IF(AMOUNT>=50000,Var5,0),0);
T: SUM(Var6,0);
大单卖量:SUM(IF(AMOUNT>=50000,Var6,0),0);
Var2;
P: Var1;
Var3;
VOL, VOLSTICK;
U: EMA(J-T,3);
Var7:=BARSLAST(CLOSE>REF(CLOSE,1));
Var8:=BARSLAST(CLOSE<REF(CLOSE,1));
Var9:=SUM(IF(REF(CLOSE,Var7)<=CLOSE,VOL,0),0);
VarA:=SUM(IF(REF(CLOSE,Var8)>=CLOSE,VOL,0),0);
U1: EMA(Var9-VarA,3);
继续引入大买量,大卖量不变;而对全部各个指数主力持仓额的计算采用如下公式:
大买卖额
{专算各指数主力持筹}
大单买额:SELFDATA('大买量')*(AMOUNT/Vol/100);
大单卖额:SELFDATA('大卖量')*(AMOUNT/Vol/100);
以“全部A股大买量”为例,将所要运算的指标,改为指向“大买卖额”中的“大单买额”(选择“日线”),如图
http://bbs.macd.cn/images/D5/attachimg.gif
以后每天刷新数据时,如图,选择“否”即是刷新当天的数据了,而保留了以前的数据不变了,这样我每天仍只要发一种数据——大买量,大买量即可了,你们引入后,自己刷新各个指数的主力大买额,大卖额即可(指向的公式不可错)
Var1:=AMOUNT/VOL/100;
Var2:=REF(ASKPRICE(1),1);
Var3:=REF(BIDPRICE(1),1);
Var4:=(Var2-Var3)*0.35;
Var5:=IF(Var1>=Var2-Var4,VOL,IF(Var1<Var2-Var4 AND Var1>Var3+Var4,BUYVOL,0));
Var6:=IF(Var1<=Var3+Var4,VOL,IF(Var1<Var2-Var4 AND Var1>Var3+Var4,SELLVOL,0));
J: SUM(Var5,0);
大单买量:SUM(IF(AMOUNT>=50000,Var5,0),0)*C;
T: SUM(Var6,0);
大单卖量:SUM(IF(AMOUNT>=50000,Var6,0),0)*C;
Var2;
P: Var1;
Var3;
VOL, VOLSTICK;
U: EMA(J-T,3);
Var7:=BARSLAST(CLOSE>REF(CLOSE,1));
Var8:=BARSLAST(CLOSE<REF(CLOSE,1));
Var9:=SUM(IF(REF(CLOSE,Var7)<=CLOSE,VOL,0),0);
VarA:=SUM(IF(REF(CLOSE,Var8)>=CLOSE,VOL,0),0);
U1: EMA(Var9-VarA,3);
每天增加一项——大买额,大卖额的公布下载
比较讨厌的是多了六个0.00的显示,把其他重要的数值推到后面去了,没找到原因:*9*:
{主力持仓大全}
DRAWTEXTABS(200,0,'主力持仓大全-lymanqun原创');
ss:=STKLABEL;
if STRCMP(ss,'000002')=0 then{全部A股}
else if STRCMP(ss,'000300')=0 then{沪深300}
else if STRCMP(ss,'399001')=0 then{深成40}
else if STRCMP(ss,'000016')=0 then{上证50}
else if STRCMP(ss,'399004')=0 then{深证100}
else if STRCMP(ss,'000903')=0 then{中证100}
else {个股}
流通股:FINANCE(7);{(CAPITAL/100)}{单位:万股}
当天增减:(大买-大卖),LINETHICK0,COLOR0000ff;
主力仓量:sum(大买-大卖,0),COLORwhite,linethick4;
{主力持仓百分率:sum(主力仓量,0)/(流通股*10000/100)*100%,linethick0;}
三天前仓:=ref(主力仓量,3);
五天前仓:=ref(主力仓量,5);
十天前仓:=ref(主力仓量,10);
廿天前仓:=ref(主力仓量,20);
三天增减:主力仓量-三天前仓,LINETHICK0,color003399;
五天增减:主力仓量-五天前仓,LINETHICK0,color0055ff;
十天增减:主力仓量-十天前仓,LINETHICK0,color00aaff;
廿天增减:主力仓量-廿天前仓,LINETHICK0,color00ffff;
FILLRGN(廿天增减,0,廿天增减>0,rgb(255,255,00),廿天增减<0,rgb(00,255,255));
{廿天增减,COLORWHITE;}
FILLRGN(十天增减,0,十天增减>0,rgb(255,170,00),十天增减<0,rgb(00,170,255));
{十天图:十天增减,COLORWHITE;}
FILLRGN(五天增减,0,五天增减>0,rgb(255,85,00),五天增减<0,rgb(00,85,255));
{五天图:五天增减,COLORWHITE;}
FILLRGN(三天增减,0,三天增减>0,rgb(153,51,00),三天增减<0,rgb(00,51,153));
{三天图:三天增减,COLORWHITE;}
STICKLINE(当天增减>0,当天增减,0,6,0),COLOR0000ff;
STICKLINE(当天增减<0,当天增减,0,6,0),color00ff00;
ma5:MA(主力仓量,5),colorred;
ma10:MA(主力仓量,10),COLORGRAY;
ma20:MA(主力仓量,20),COLORBLUE,linethick4;
ma30:MA(主力仓量,30),colorgreen;
ma50:MA(主力仓量,50),CIRCLEDOT,COLORMAGENTA;
主力增减:当天增减/FINANCE(7);
drawtext(ma(主力仓量,50)>ref(ma(主力仓量,50),1),ma(主力仓量,50),'o'),COLORgray;
{PARTLINE(ma50,ma50<ma30 and ma50>ref(ma50,1) and ma30>ref(ma30,1),rgb(255,0,0),
}
PARTLINE(ma50<ma30 and ma50>ref(ma50,1) and ma30>ref(ma30,1),ma50),color0000ff,CIRCLEDOT;
PARTLINE(ma50<ma30 and (ma50<ref(ma50,1) or ma30<ref(ma30,1)),ma50),color00ffff,CIRCLEDOT;
PARTLINE(ma50>ma30 and ma50>ref(ma50,1) and ma30>ref(ma30,1),ma50),colorff00ff,CIRCLEDOT;
PARTLINE(ma50>ma30 and (ma50<ref(ma50,1) or ma30<ref(ma30,1)),ma50),colorff0000;
当天增减比率:当天增减/CAPITAL*100;
三天增减比率:三天增减/CAPITAL*100;
五天增减比率:五天增减/CAPITAL*100;
十天增减比率:十天增减/CAPITAL*100;
廿天增减比率:廿天增减/CAPITAL*100;
仓量斜率3:ma(主力仓量-ref(主力仓量,1),3)/FINANCE(7),linethick0;
仓量斜率5:ma(主力仓量-ref(主力仓量,1),5)/FINANCE(7),linethick0;
仓量斜率10:ma(主力仓量-ref(主力仓量,1),10)/FINANCE(7),linethick0;
仓量斜率20:ma(主力仓量-ref(主力仓量,1),20)/FINANCE(7),linethick0;
大买卖额
大买额:SELFDATA('大买额' );
大卖额:SELFDATA('大卖额' );
将各指数的大买量,大卖量指向上述公式中的大买额,大卖额,然后刷新各指数的大买量,大卖量就是用大买额,大卖额算出的结果——这是高精度算法,原来
各指数的大买量,大卖量指向下列公式的大单买额,大单卖额是一般精度的计算,足可以满足需求了:
大买卖额
大单买额:SELFDATA('大买量')*(AMOUNT/Vol/100);
大单卖额:SELFDATA('大卖量')*(AMOUNT/Vol/100);
如果说要精确的计算分笔大额,小弟觉得应该采用如下公式,这样才是每一笔的成交精确金额,原来的是先求和再*c,修改后是每一笔金额之和,大家觉得呢?:
分笔大额
Var1:=AMOUNT/VOL/100;
Var2:=REF(ASKPRICE(1),1);
Var3:=REF(BIDPRICE(1),1);
Var4:=(Var2-Var3)*0.35;
Var5:=IF(Var1>=Var2-Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,BUYVOL,0));
Var6:=IF(Var1<=Var3+Var4,VOL,IF(Var1<Var2-Var4
AND Var1>Var3+Var4,SELLVOL,0));
J: SUM(Var5,0);
大单买量:SUM(IF(AMOUNT>=50000,Var5*c,0),0);{新}
大单买量:SUM(IF(AMOUNT>=50000,Var5,0),0)*c;{老}
T: SUM(Var6,0);
大单卖量:SUM(IF(AMOUNT>=50000,Var6*c,0),0);{新}
大单卖量:SUM(IF(AMOUNT>=50000,Var6,0),0)*c;{老}
Var2;
P: Var1;
Var3;
VOL, VOLSTICK;
U: EMA(J-T,3);
Var7:=BARSLAST(CLOSE>REF(CLOSE,1));
Var8:=BARSLAST(CLOSE<REF(CLOSE,1));
Var9:=SUM(IF(REF(CLOSE,Var7)<=CLOSE,VOL,0),0);
VarA:=SUM(IF(REF(CLOSE,Var8)>=CLOSE,VOL,0),0);
U1:
EMA(Var9-VarA,3);