- 金币:
-
- 奖励:
-
- 热心:
-
- 注册时间:
- 2002-9-8
|
|

楼主 |
发表于 2007-4-1 20:27
|
显示全部楼层
原帖由 zhbsystem 于 2007-4-1 19:32 发表 
哇,终于更新了!!再送上十大股东统计指标,M变量为年参数,N--N3为报表日参数,可以根据具体需要进行修改。比如2007一季度0330的报表出来时,就需要改为M(2007),M1(2006),N(0330)......
{分析家--专业财 ...
大大的赞一句:very good!vv vv ,请把下列公式改一下,有些显示不正确——
前些日子,有人利用万国F10编的公式(利用三季报),可看股东户数,户均持股,前十大股东持仓量(比率,数量),但现在年报已公布,万国F10结构稍有改变,发上原公式,请修改适应现在的F10, 非常谢谢。。。。
F10资料
VARIABLE:TT[4]='STR',持股[4]=0,比例[4]=0,变化[4]=0;
F10:=IF(F10FIND('万国测评制作',1)>0,1,0);
HW1:=F10FIND('每股收益',50);
QSW:=F10FIND('◆ 控盘情况 ◆',500);
QSW1:=F10FIND('出]☆',1000)+120;
JSW1:=F10FIND('红]☆',QSW1+300)-80;
{F10数据查找}
IF F10=1 AND QSW>0 AND QSW1>0 AND JSW1>0 THEN{万国测评的资料是否完整,不完整就什么都不做}
BEGIN
{年报TIP}
f10str:=f10text(HW1,1024);
三季收益 := strmid(f10str,23-3,6);
HW2:=strfind(f10str,'每股净资产',1);
净资产:= strmid(f10str,HW2+22-3,6);
HW3:=strfind(f10str,'预计年报公布日' ,HW2+80);
if(HW3>0) then
begin
年报日:= strmid(f10str,HW3+18-3,10);
end;
{控盘情况数据栏数据提取}
f10str:=f10text(QSW,320);
WZ1:=strfind(f10str,'-',0)-4;
WZ2:=strfind(f10str,'-',WZ1+10)-4;
WZ3:=strfind(f10str,'-',WZ2+10)-4;
WZ4:=strfind(f10str,'-',WZ3+10)-4;
WZ5:=F10FIND('◆ 概念题材',WZ1);{查找结束位}
{取时间}
T1:= strmid(f10str,WZ1,10);
T2:= strmid(f10str,WZ2,10);
T3:=strmid(f10str,WZ3,10);
T4:= strmid(f10str,WZ4,10);
{取股东户数}
LS:=138;
HS1:=STRTONUM(strmid(f10str,WZ1+LS,10));
HS2:=IF(WZ2<WZ5,STRTONUM(strmid(f10str,WZ2+LS,10)),0);
HS3:=IF(WZ3<WZ5,STRTONUM(strmid(f10str,WZ3+LS,10)),0);
HS4:=IF(WZ4<WZ5,STRTONUM(strmid(f10str,WZ4+LS,10)),0);
{取户均持股数}
LS:=208;
RS1:=STRTONUM(strmid(f10str,WZ1+LS,10));
RS2:=IF(WZ2<WZ5 AND HS2>100,STRTONUM(strmid(f10str,WZ2+LS,10)),0);
RS3:=IF(WZ3<WZ5 AND HS3>100,STRTONUM(strmid(f10str,WZ3+LS,10)),0);
RS4:=IF(WZ4<WZ5 AND HS4>100,STRTONUM(strmid(f10str,WZ4+LS,10)),0);
{大股东数据查找}
f10str:=f10text(QSW1,JSW1-QSW1);
HJW:=0;
{for 循环很慢无法忍受,换成下面的展开
FOR i=1 to 4 DO
BEGIN
SJT:=strfind(f10str,'占流通股',HJW+16);
if SJT<0 OR SJT > JSW1 THEN BREAK;
TT:=strmid(f10str,SJT-(44-21),10);
HJW:=strfind(f10str,'总 计',SJT+300);
持股:=strtonum(strmid(f10str,HJW+6,44-12));
比例:= strtonum(strmid(f10str,HJW+6+45-12,51-45));
ABC:=HJW+80-5+36;
HJW:=ABC;
END;
}
SJT:=strfind(f10str,'占流通股',HJW+15);
TT1:=strmid(f10str,SJT-(45-21),10);{时间}
HJW:=strfind(f10str,'总 计',SJT+300);
持股[1]:=strtonum(strmid(f10str,HJW+6,44-12));
比例[1]:= strtonum(strmid(f10str,HJW+6+45-12,51-45));
ABC:=HJW+80-5+36;
HJW:=ABC;
SJT:=strfind(f10str,'占流通股',HJW+15);
TT2:=strmid(f10str,SJT-(45-21),10);{时间}
HJW:=strfind(f10str,'总 计',SJT+300);
持股[2]:=strtonum(strmid(f10str,HJW+6,44-12));
比例[2]:= strtonum(strmid(f10str,HJW+6+45-12,51-45));
ABC:=HJW+80-5+36;
HJW:=ABC;
SJT:=strfind(f10str,'占流通股',HJW+15);
TT3:=strmid(f10str,SJT-(45-21),10);{时间}
HJW:=strfind(f10str,'总 计',SJT+300);
持股[3]:=strtonum(strmid(f10str,HJW+6,44-12));
比例[3]:= strtonum(strmid(f10str,HJW+6+45-12,51-45));
ABC:=HJW+80-5+36;
HJW:=ABC;
SJT:=strfind(f10str,'占流通股',HJW+15);
if SJT>0 THEN
BEGIN
TT4:=strmid(f10str,SJT-(45-21),10);{时间}
HJW:=strfind(f10str,'总 计',SJT+300);
持股[4]:=strtonum(strmid(f10str,HJW+6,44-12));
比例[4]:= strtonum(strmid(f10str,HJW+6+45-12,51-45));
ABC:=HJW+80-5+36;
HJW:=ABC;
END;
当期:=持股[1];
当期1:=比例[1];
上期:=持股[2];
上期1:=比例[2];
±比例:=当期1-上期1;
前二:=持股[3];
前二1:=比例[3];
前三:=持股[4];
前三1:=比例[4];
{将变化持股数对应显示在对应位置}
{排序}
股东增幅:(HS1-HS2)/HS2*100,PRECIS2,linethick2,Colorblack;
持股增幅:(RS1-RS2)/RS2*100,PRECIS2,linethick2,COLORRED;
主力增幅:(当期-上期)/上期*100,PRECIS2,LINETHICK2,Colorblue;
主力流通:(当期-上期1)/当期1*100,PRECIS2,LINETHICK2,Colorbrown;
{-------------------【图解模板】-------------------}
A2:=0;
A3:=1000;
AG:=INTPART((A3-A2)/10);
{显示文字}
DRAWTEXTREL(0,AG*0,'报表时间'),COLORblue;
DRAWTEXTREL(0,AG*2,'户均持股'),Colorblue;
DRAWTEXTREL(0,AG*4,'股东户数'),Colorblue;
DRAWTEXTREL(0,AG*6,'主力占流通%'),Colorblue;
DRAWTEXTREL(0,AG*8,'主力持股数(万)'),Colorblue;
{时间}
DRAWTEXTREL(AG*8,AG*0,T1),ALIGN2,COLORred;
DRAWTEXTREL(AG*6,AG*0,T2),ALIGN2,COLORred;
DRAWTEXTREL(AG*4,AG*0,T3),ALIGN2,COLORred;
DRAWTEXTREL(AG*2,AG*0,T4),ALIGN2,COLORred;
{户均持股}
DRAWTEXTREL(AG*8,AG*2,NUMTOSTR(RS1 )),ALIGN2,Colorbrown;
DRAWTEXTREL(AG*6,AG*2,NUMTOSTR(RS2 )),ALIGN2,Colorbrown;
DRAWTEXTREL(AG*4,AG*2,NUMTOSTR(RS3 )),ALIGN2,Colorbrown;
DRAWTEXTREL(AG*2,AG*2,NUMTOSTR(RS4 )),ALIGN2,Colorbrown;
{股东户数}
DRAWTEXTREL(AG*8,AG*4,NUMTOSTR(HS1)),ALIGN2,Colorblack;
DRAWTEXTREL(AG*6,AG*4,NUMTOSTR(HS2)),ALIGN2,Colorblack;
DRAWTEXTREL(AG*4,AG*4,NUMTOSTR(HS3)),ALIGN2,Colorblack;
DRAWTEXTREL(AG*2,AG*4,NUMTOSTR(HS4)),ALIGN2,Colorblack;
{主力占流通比}
temp:=NUMTOSTR(当期1);
tem:=TT1;
temp1:='('+tem+')'+temp;
DRAWTEXTREL(AG*8,AG*6,temp1),ALIGN2,COLORMAGENTA;
temp:=NUMTOSTR(上期1);
tem:=TT2;
temp1:='('+tem+')'+temp;
DRAWTEXTREL(AG*6,AG*6,temp1),ALIGN2,COLORMAGENTA;
temp:=NUMTOSTR(前二1);
tem:=TT3;
temp1:='('+tem+')'+temp;
DRAWTEXTREL(AG*4,AG*6,temp1),ALIGN2,COLORMAGENTA;
temp:=NUMTOSTR(前三1);
tem:=TT4;
temp1:='('+tem+')'+temp;
DRAWTEXTREL(AG*2,AG*6,temp1),ALIGN2,COLORMAGENTA;
{10大股东持股}
DRAWTEXTREL(AG*8,AG*8,NUMTOSTR(当期)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*6,AG*8,NUMTOSTR(上期)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*4,AG*8,NUMTOSTR(前二)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*2,AG*8,NUMTOSTR(前三)),ALIGN2,COLORRED;
{TIP DRAW}
DRAWTEXTREL(AG*9,AG*6,'股收益:'+三季收益),ALIGN1,COLORRED;
DRAWTEXTREL(AG*9,AG*4,'净资产:'+净资产),ALIGN1,COLORRED;
DRAWTEXTREL(AG*9,AG*2,'年报日:'+年报日),ALIGN1,COLORRED;
{柱线}
{持股数柱线}
{STICKLINE(BARPOS=A3-AG*1-10 AND HS1>100,0,RS1,AG*3,1),LINETHICK2,ColorFFDDFF;
STICKLINE(BARPOS=A3-AG*2-15 AND HS2>100,0,RS2,AG*3,1),LINETHICK2,ColorF1FFB5;
STICKLINE(BARPOS=A3-AG*3-20 AND HS3>100,0,RS3,AG*3,1),LINETHICK2,ColorB9FFBC;
STICKLINE(BARPOS=A3-AG*4-25 AND HS4>100,0,RS4,AG*3,1),LINETHICK2,ColorB9FFFF;}
{10大股东画柱线}
{STICKLINE(BARPOS=A3-AG*1-6 AND 当期>0,0,当期,AG*3,0),LINETHICK2,ColorFFDDFF;
STICKLINE(BARPOS=A3-AG*2-11 AND 上期>0,0,上期,AG*3,0),LINETHICK2,ColorF1FFB5;
STICKLINE(BARPOS=A3-AG*3-16 AND 前二>0,0,前二,AG*3,0),LINETHICK2,ColorB9FFBC;
STICKLINE(BARPOS=A3-AG*4-21 AND 前三>0,0,前三,AG*3,0),LINETHICK2,ColorB9FFFF;}
END; |
|
|