- 金币:
-
- 奖励:
-
- 热心:
-
- 注册时间:
- 2007-4-4
|
|
原帖由 handongwx 于 2007-4-1 09:04 发表 
能编个大智慧新一代公式把近两期股东户数减少前10名和户均持股增加前10名选出来吗
用户均增幅、股东增幅、主力增幅进行排序即可。本帖真长啊,到今天才看到4/5。
港澳的
{大智慧L2--港澳F10股东持股数及机构持股数}
f10:=f10find('◇港澳资讯',1);
if f10>0 then begin
{取第一期十大流通股东情况}
sdgd1:=f10find('十大流通股东情况',f10+1);
sdgdsj1:=f10text(sdgd1-12,10);
cgswz1:=f10find('合计持有',sdgd1+1);
ltg1:=f10find('万',cgswz1+1);
cgs1:=strtonum(f10text(cgswz1+8,ltg1-cgswz1-8));
blwz1:=f10find('流通A股',ltg1+1);
bfhwz1:=f10find('%',blwz1+1);
cgbl1:=strtonum(f10text(blwz1+8,bfhwz1-blwz1-8));
{取第二期十大流通股东情况}
sdgd2:=f10find('十大流通股东情况',sdgd1+1);
sdgdsj2:=f10text(sdgd2-12,10);
cgswz2:=f10find('合计持有',sdgd2+1);
ltg2:=f10find('万',cgswz2+1);
cgs2:=strtonum(f10text(cgswz2+8,ltg2-cgswz2-8));
blwz2:=f10find('流通A股',ltg2+1);
bfhwz2:=f10find('%',blwz2+1);
cgbl2:=strtonum(f10text(blwz2+8,bfhwz2-blwz2-8));
{取第三期十大流通股东情况}
sdgd3:=f10find('十大流通股东情况',sdgd2+1);
sdgdsj3:=f10text(sdgd3-12,10);
cgswz3:=f10find('合计持有',sdgd3+1);
ltg3:=f10find('万',cgswz3+1);
cgs3:=strtonum(f10text(cgswz3+8,ltg3-cgswz3-8));
blwz3:=f10find('流通A股',ltg3+1);
bfhwz3:=f10find('%',blwz3+1);
cgbl3:=strtonum(f10text(blwz3+8,bfhwz3-blwz3-8));
{取第四期十大流通股东情况}
sdgd4:=f10find('十大流通股东情况',sdgd3+1);
sdgdsj4:=f10text(sdgd4-12,10);
cgswz4:=f10find('合计持有',sdgd4+1);
ltg4:=f10find('万',cgswz4+1);
cgs4:=strtonum(f10text(cgswz4+8,ltg4-cgswz4-8));
blwz4:=f10find('流通A股',ltg4+1);
bfhwz4:=f10find('%',blwz4+1);
cgbl4:=strtonum(f10text(blwz4+8,bfhwz4-blwz4-8));
{取股东户数}
gdhswz:=f10find('☆主力追踪☆',1000);
gdhswz1:=f10find('截止日期',gdhswz+1);
jzsz1:=f10text(gdhswz1+148,10);
jzsz2:=f10text(gdhswz1+148+74,10);
jzsz3:=f10text(gdhswz1+148+74+74,10);
jzsz4:=f10text(gdhswz1+148+74+74+74,10);
gdhs1:=strtonum(f10text(gdhswz1+160,10));
gdhs2:=strtonum(f10text(gdhswz1+160+74,10));
gdhs3:=strtonum(f10text(gdhswz1+160+74+74,10));
gdhs4:=strtonum(f10text(gdhswz1+160+74+74+74,10));
hjcg1:=strtonum(f10text(gdhswz1+178,12));
hjcg2:=strtonum(f10text(gdhswz1+178+74,12));
hjcg3:=strtonum(f10text(gdhswz1+178+74+74,12));
hjcg4:=strtonum(f10text(gdhswz1+178+74+74+74,12));
cmjzd1:=f10text(gdhswz1+194,22);
cmjzd2:=f10text(gdhswz1+194+74,22);
cmjzd3:=f10text(gdhswz1+194+74+74,22);
cmjzd4:=f10text(gdhswz1+194+74+74+74,22);
{增减情况}
户均增幅:(hjcg1-hjcg2)/hjcg2*100,linethick0,colorgray;
股东增幅:(gdhs1-gdhs2)/gdhs2*100,linethick0,colorgray;
主力增幅:(cgs1-cgs2)/cgs2*100,linethick0,colorgray;
{-------------------【图解模板】-------------------}
A2:=0;
A3:=1000;
AG:=INTPART((A3-A2)/10);
{显示文字}
DRAWTEXTREL(0,AG*1,'报表时间'),COLORblue;
DRAWTEXTREL(0,AG*2,'户均持股'),Colorblue;
DRAWTEXTREL(0,AG*3,'筹码集中'),Colorblue;
DRAWTEXTREL(0,AG*4,'股东户数'),Colorblue;
DRAWTEXTREL(0,AG*5,'主力占流通%'),Colorblue;
DRAWTEXTREL(0,AG*6,'主力持股数(万)'),Colorblue;
{时间}
DRAWTEXTREL(AG*8,AG*1,jzsz1),ALIGN2,COLORred;
DRAWTEXTREL(AG*6,AG*1,jzsz2),ALIGN2,COLORred;
DRAWTEXTREL(AG*4,AG*1,jzsz3),ALIGN2,COLORred;
DRAWTEXTREL(AG*2,AG*1,jzsz4),ALIGN2,COLORred;
{户均持股}
DRAWTEXTREL(AG*8,AG*2,numtostr(hjcg1)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*6,AG*2,numtostr(hjcg2)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*4,AG*2,numtostr(hjcg3)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*2,AG*2,numtostr(hjcg4)),ALIGN2,Colorffcc00;
{筹码集中度描叙}
DRAWTEXTREL(AG*8.5,AG*3,'('+cmjzd1+')'),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*6.5,AG*3,'('+cmjzd2+')'),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*4.5,AG*3,'('+cmjzd3+')'),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*2.5,AG*3,'('+cmjzd4+')'),ALIGN2,Colorffcc00;
{股东户数}
DRAWTEXTREL(AG*8,AG*4,numtostr(gdhs1)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*6,AG*4,numtostr(gdhs2)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*4,AG*4,numtostr(gdhs3)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*2,AG*4,numtostr(gdhs4)),ALIGN2,ColorFFcc00;
{10大股东持股比例}
DRAWTEXTREL(AG*8.5,AG*5,'('+sdgdsj1+')'+numtostr(cgbl1)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*6.5,AG*5,'('+sdgdsj2+')'+numtostr(cgbl2)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*4.5,AG*5,'('+sdgdsj3+')'+numtostr(cgbl3)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*2.5,AG*5,'('+sdgdsj4+')'+numtostr(cgbl4)),ALIGN2,COLORRED;
{10大股东持股}
DRAWTEXTREL(AG*8,AG*6,numtostr(cgs1)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*6,AG*6,numtostr(cgs2)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*4,AG*6,numtostr(cgs3)),ALIGN2,COLORRED;
DRAWTEXTREL(AG*2,AG*6,numtostr(cgs4)),ALIGN2,COLORRED;
{说明}
DRAWTEXTREL(AG*2,AG*7,'注:若无数据或者显示乱码,是因为该报季无数据可以取,请更新!!'),linethick2,COLOR8000CC;
end;
万国的
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);
sjt:=f10find(' 占流通股 ',QSW1);
if STRTONUM(f10text(sjt-61,10))>0 then
TT1:=f10text(sjt-61,10);
else TT1:=f10text(sjt-22,10);
HJW:=f10find('总 计',sjt);
持股一:=strtonum(f10text(HJW+6,38));
if strtonum(f10text(HJW+45,5))=0 then
比例一:=持股一/CAPITAL*10000;
else
比例一:= strtonum(f10text(HJW+45,5));
sjt1:=f10find(' 占流通股 ',sjt+1);
if strtonum(f10text(sjt1-61,10))>0 then
TT2:=f10text(sjt1-61,10);
else TT2:=f10text(sjt1-22,10);
HJW1:=f10find('总 计',sjt1);
持股二:=strtonum(f10text(HJW1+6,38));
if strtonum(f10text(HJW1+45,5))=0 then
比例二:=持股二/CAPITAL*10000;
else
比例二:= strtonum(f10text(HJW1+45,5));
sjt2:=f10find(' 占流通股 ',sjt1+1);
if strtonum(f10text(sjt2-61,10))>0 then
TT3:=f10text(sjt2-61,10);
else TT3:=f10text(sjt2-22,10);
HJW2:=f10find('总 计',sjt2);
持股三:=strtonum(f10text(HJW2+6,38));
if strtonum(f10text(HJW2+45,5))=0 then
比例三:=持股三/CAPITAL*10000;
else
比例三:= strtonum(f10text(HJW2+45,5));
sjt3:=f10find(' 占流通股 ',sjt2+1);
if sjt3>0 and sjt3<jsw1 then begin
if strtonum(f10text(sjt3-61,10))>0 then
TT4:=f10text(sjt3-61,10);
else TT4:=f10text(sjt3-22,10);
HJW3:=f10find('总 计',sjt3);
持股四:=strtonum(f10text(HJW3+6,38));
if strtonum(f10text(HJW3+45,5))=0 then
比例四:=持股四/CAPITAL*10000;
else
比例四:= strtonum(f10text(HJW3+45,5));
end;
当期:=持股一;
当期1:=比例一;
上期:=持股二;
上期1:=比例二;
±比例:=当期1-上期1;
前二:=持股三;
前二1:=比例三;
前三:=持股四;
前三1:=比例四;
{将变化持股数对应显示在对应位置}
{排序}
股东增幅:(HS1-HS2)/HS2*100,PRECIS2,linethick0,Colorff00a0;
持股增幅:(RS1-RS2)/RS2*100,PRECIS2,linethick0,COLORRED;
主力增幅:(当期-上期)/上期*100,PRECIS2,LINETHICK0,Colorblue;
主力流通:(当期-上期1)/当期1*100,PRECIS2,LINETHICK0,Colorffcc00;
{-------------------【图解模板】-------------------}
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,Colorffcc00;
DRAWTEXTREL(AG*6,AG*2,NUMTOSTR(RS2 )),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*4,AG*2,NUMTOSTR(RS3 )),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*2,AG*2,NUMTOSTR(RS4 )),ALIGN2,Colorffcc00;
{股东户数}
DRAWTEXTREL(AG*8,AG*4,NUMTOSTR(HS1)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*6,AG*4,NUMTOSTR(HS2)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*4,AG*4,NUMTOSTR(HS3)),ALIGN2,Colorffcc00;
DRAWTEXTREL(AG*2,AG*4,NUMTOSTR(HS4)),ALIGN2,ColorFFcc00;
{主力占流通比}
temp:=NUMTOSTR(当期1);
tem:=TT1;
temp1:='('+tem+')'+temp;
DRAWTEXTREL(AG*8,AG*6,temp1),ALIGN2,COLORMAGENTA;
temp2:=NUMTOSTR(上期1);
tem2:=TT2;
temp3:='('+tem2+')'+temp2;
DRAWTEXTREL(AG*6,AG*6,temp3),ALIGN2,COLORMAGENTA;
temp4:=NUMTOSTR(前二1);
tem3:=TT3;
temp5:='('+tem3+')'+temp4;
DRAWTEXTREL(AG*4,AG*6,temp5),ALIGN2,COLORMAGENTA;
temp6:=NUMTOSTR(前三1);
tem4:=TT4;
temp7:='('+tem4+')'+temp6;
DRAWTEXTREL(AG*2,AG*6,temp7),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; |
|
|