30 12
发新话题
打印

[公式] 基于鹏搏资讯自动显示每季基金持股数量

基于鹏搏资讯自动显示每季基金持股数量

如何基于鹏搏资讯自动显示基金持股合计数(如您所编的"基于鹏搏资讯自动显示股东人数" ) ,只是基金有的年报不持股,不会编了.
附件: 您所在的用户组无法下载或查看附件

TOP

就是说,要将 合计 的数据提取出来?

TOP

对,将每期的合计数做成副图K线

TOP

重新修改公式,以后调整参数更方便,只需要调整开始参数 tx4,tx3,tx2,tx1
并且加入附图显示
复制内容到剪贴板
代码:
{基于鹏搏资讯,因为F10资料经常变动,所以在变动后,
需要对应调整参数中的 tx4,tx3,tx2,tx1}
VARIABLE:d4='',d3='',d2='',d1='',
tx4='2004-09-30',tx3='2004-06-30',
tx2='2004-03-31',tx1='2003-12-31',
txhj='合计│        │          │';
{上面为文本的日期,下季度可对应修改,日期从大到小}
fd4:=10000*(STRTONUM(STRLEFT(tx4,4))-1900)+100*(STRTONUM(STRMID(tx4,6,2)))+(STRTONUM(STRRIGHT(tx4,2)));
fd3:=10000*(STRTONUM(STRLEFT(tx3,4))-1900)+100*(STRTONUM(STRMID(tx3,6,2)))+(STRTONUM(STRRIGHT(tx3,2)));
fd2:=10000*(STRTONUM(STRLEFT(tx2,4))-1900)+100*(STRTONUM(STRMID(tx2,6,2)))+(STRTONUM(STRRIGHT(tx2,2)));
fd1:=10000*(STRTONUM(STRLEFT(tx1,4))-1900)+100*(STRTONUM(STRMID(tx1,6,2)))+(STRTONUM(STRRIGHT(tx1,2)));
{上面自动将文本的日期转换为飞狐格式的日期,为后面附图显示时间用}
jjstar:=F10FIND('十一、基金持股',1);
jj3:=F10FIND('截止日期:'+tx3,jjstar);hj4:=F10FIND(txhj,jjstar);
jj2:=F10FIND('截止日期:'+tx2,jj3);hj3:=F10FIND(txhj,jj3);
jj1:=F10FIND('截止日期:'+tx1,jj2);hj2:=F10FIND(txhj,jj2);
jjend:=F10FIND('十二、高管介绍',jj1);hj1:=F10FIND(txhj,jj1);

if BETWEEN(hj4,jjstar,jj3) then d4:=LTRIM(F10TEXT(hj4+28,12));
if BETWEEN(hj3,jj3,jj2) then d3:=LTRIM(F10TEXT(hj3+28,12));
if BETWEEN(hj2,jj2,jj1) then d2:=LTRIM(F10TEXT(hj2+28,12));
if BETWEEN(hj1,jj1,jjend) then d1:=LTRIM(F10TEXT(hj1+28,12));
{转换字符串为数值}
s4:=STRTONUM(d4);s3:=STRTONUM(d3);s2:=STRTONUM(d2);s1:=STRTONUM(d1);
{显示方法一:解盘显示股东人数变动}
EXPLAIN(hj4>1,tx4+' 计:'+d4);EXPLAIN(hj3>1,tx3+' 计:'+d3);
EXPLAIN(hj2>1,tx2+' 计:'+d2);EXPLAIN(hj1>1,tx1+' 计:'+d1);
{显示方法二:对应显示为拄状线,附图时用}
STICKLINE(date>=fd4,0,s4,8,0);
STICKLINE(BETWEEN(date,fd3-1,fd4),0,s3,8,0);
STICKLINE(BETWEEN(date,fd2-1,fd3),0,s2,8,0);
STICKLINE(BETWEEN(date,fd1-1,fd2),0,s1,8,0);
附公式
附件: 您所在的用户组无法下载或查看附件

TOP

其他的显示方式自己处理 :)

TOP

非常感谢hx817老师,这正是我需要的

TOP

hx817老师你好:

基金持股能否帮忙加柱状,我对编辑指标一点不会。谢谢老师了

TOP

非常感谢hx817老师!!!!!!!!!!!!!!!!!!!!!!1

TOP

请 fzysw 改为柱状显示,提供给其他狐友 :)

TOP

可参考HX817前辈的"基于鹏搏资讯自动显示股东人数"之中的方法套用,(见三楼)
为感谢大家,献上下一波热点版块,请多交流.
附件: 您所在的用户组无法下载或查看附件

TOP

做个百智投的行吗?我做了半天没有做出来
附件: 您所在的用户组无法下载或查看附件

TOP

百智投 中基金数据才 2个月,还是用 鹏搏资讯 的吧

TOP

能否改成从十大股东中来选呢?
谢谢了

TOP

n1:=F10FIND('【 2】最近两期股东',1);
n2:=F10FIND('备注',n1)+6+72;
n3:=f10find('─',n2)-4;
if n1<>-1 then begin
   gdStr:=F10TEXT(n2,n3-n2);
   sl:=strlen(gdstr)/76;gds:='';
   j:=0;
   for i=1 to sl do begin
     if strcmp(strmid(gdstr,(i-1)*76+48,1),'/')=1 then begin //判断本行是否接上行
       j:=j+1;
       s:=strmid(gdstr,(i-1)*76+3,36);//每行宽度固定为76个字符,3--36为股东名称
       k:=strlen(s);
       while strcmp(strmid(s,k,1),' ')=0 do k:=k-1; //记录多余空格的位置
       gds:=gds+numtostr(j,0)+'.'+strmid(s,1,k)+'\n';//取股东名称,并加上序号
     end  else begin  //如果本行是上行的续行,进行下面3行代码处理
       s:=strmid(gdstr,(i-1)*76+3,36);
       k:=strlen(s);
       while strcmp(strmid(s,k,1),' ')=0 do k:=k-1;
       gds:=strmid(gds,1,strlen(gds)-2)+strmid(s,1,k)+'\n';
     end;
   end;
   explain(1,gdS);  //十大股东的名称,都记录在字符串变量gds中,解盘输出
   选股东:strfind(gds,'泰和证券投资基金',1)>0;
end;


用这个改了半天还是不会改

本贴由 netnova 于 2004-11-15 15:22 最后编辑

TOP

这个数据位置不定,提起很麻烦

TOP

要是有一种实时的就好了

TOP

非常感谢hx817老师,这正是我需要的.

TOP

谢谢!

TOP

谢谢提供!

TOP

谢!顶

TOP

谢谢提供

TOP

谢谢提供。。。。。。。

TOP

论坛有你更精彩,谢谢,辛苦了,感谢你的辛勤劳动!

TOP

感谢你的辛勤劳动

TOP

 30 12
发新话题
报警岗亭