从蝌蚪到青蛙图片:领涨板块及个股排序--飞狐精品

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 00:30:11
加入日期:2009-9-28 20:28:50
源码如下:
国庆送大礼,祝同学们一路凯歌168、168、16888!!!
领涨板块及个股排序
领涨板块及个股排序---飞狐副图,引用网友bajatje(懒汉)及网友1949提供的指标,谢谢懒汉及1949网友
1.板块指数需盘中浏览、刷新之后,显示的结果才是正确的。
2.指标公式运行错误,最根本的原因可能是找不到板块名称、板块指数或自选股数量少于9个。
{//涨幅引用xx
HH:HIGH;LL:LOW;CC:CLOSE;
A0:DYNAINFO(14)*100;
DD:DATE;
ZDF:(CC/REF(CC,1)-1)*100;
HSH:VOL/IF(CAPITAL>0,CAPITAL,SUM(VOL,120))*100;
//}
{先单独建立上面指标名为"涨幅引用xx"的指标,再建下列指标}
///////////////////////////////////////////////////////////
{领涨板块及个股排序---飞狐副图,引用网友bajatje(懒汉)及网友1949提供的指标,谢谢懒汉及1949网友}
//////////////////////////////////////////////////////////
{当前个股所在板块内个股排序,引用网友bajatje(懒汉)提供的指标,谢谢懒汉网友}
INPUT:X(1,1,3);
RQ:=DATE;//取日期
A:=BLKNAME;
HY:=IF(STRFIND(A,,,1)>0,STRLEFT(A,STRFIND(A,,,1)-1),A);//DRAWTEXT(BARPOS=SYSPARAM(2),2,HY);
HYs:=STKCOUNT(HY);
DYZB:=IF(X=1,涨幅引用xx.ZDF,IF(X=2,涨幅引用xx.HSH,涨幅引用xx.CC));
DAS:=DATACOUNT;
D0:=RQ[DAS];//取最后日期
variable:DM[HYs]=,vcp[HYs]=0,vci[HYs]=0,TP=0;
for k=1 to HYs do  begin
DDD:=STKFROMBLK(HY,k);
DM[k]:=DDD;
TMP:=STKINDI(DDD,DYZB,0,6);
TMPD:=STKINDI(DDD,涨幅引用xx.DD,0,6);
vcp[k]:=TMP[DAS];
vci[k]:=IF(TMPD[DAS]=D0,TMP[DAS],-1000);//去除当天停牌股
TP:=TP+IF(vci[k]=-1000,1,0);
end;
PX1:=SORTPOS(vci,1,1,HYs);
KHYS:=HYS-TP,LINETHICK;
BKXS:=当前股所属行业: +HY+   包含个股数:+NUMTOSTR(HYs,0);
ZF:=IF(X=3, 元, %);
LBS:=IF(X=3,收盘价,IF(X=1,涨跌幅,换手率));
DRAWTEXT(SYSPARAM(2)=BARPOS,h,BKXS),colorAFFF,ALIGN4;
WZ:=INTPART((SYSPARAM(3)-SYSPARAM(2))/10);
HST:= \n\n;
kg:=         ;
//
IF KHYS<2 THEN EXIT;
COL1:=HST+kg+ ①+STKNAMEEX(DM[vci[1]])+ +numtostr(vcp[vci[1]],2)+ZF+
②+STKNAMEEX(DM[vci[2]])+ +numtostr(vcp[vci[2]],2)+ZF+
IF(KHYS>3, ③+STKNAMEEX(DM[vci[3]])+ +numtostr(vcp[vci[3]],2)+ZF,)+
IF(KHYS>4, ④+STKNAMEEX(DM[vci[4]])+ +numtostr(vcp[vci[4]],2)+ZF+ ⑤+STKNAMEEX(DM[vci[5]])+ +numtostr(vcp[vci[5]],2)+ZF+\n+kg
+ ⑥+STKNAMEEX(DM[vci[6]])+ +numtostr(vcp[vci[6]],2)+ZF+ ⑦+STKNAMEEX(DM[vci[7]])+ +numtostr(vcp[vci[7]],2)+ZF
+ ⑧+STKNAMEEX(DM[vci[8]])+ +numtostr(vcp[vci[8]],2)+ZF+ ⑨+STKNAMEEX(DM[vci[9]])+ +numtostr(vcp[vci[9]],2)+ZF
+ ⑩+STKNAMEEX(DM[vci[10]])+ +numtostr(vcp[vci[10]],2)+ZF,);//领先股
COL2:=HST+HST+kg+IF(KHYS>6, ①+STKNAMEEX(DM[vci[KHYs]])+ +numtostr(vcp[vci[KHYs]],2)+ZF+
②+STKNAMEEX(DM[vci[KHYs-1]])+ +numtostr(vcp[vci[KHYs-1]],2)+ZF+
③+STKNAMEEX(DM[vci[KHYs-2]])+ +numtostr(vcp[vci[KHYs-2]],2)+ZF+
④+STKNAMEEX(DM[vci[KHYs-3]])+ +numtostr(vcp[vci[KHYs-3]],2)+ZF+
⑤+STKNAMEEX(DM[vci[KHYs-4]])+ +numtostr(vcp[vci[KHYs-4]],2)+ZF+\n+kg+
⑥+STKNAMEEX(DM[vci[KHYs-5]])+ +numtostr(vcp[vci[KHYs-5]],2)+ZF+
⑦+STKNAMEEX(DM[vci[KHYs-6]])+ +numtostr(vcp[vci[KHYs-6]],2)+ZF+
⑧+STKNAMEEX(DM[vci[KHYs-7]])+ +numtostr(vcp[vci[KHYs-7]],2)+ZF+
⑨+STKNAMEEX(DM[vci[KHYs-8]])+ +numtostr(vcp[vci[KHYs-8]],2)+ZF+
⑩+STKNAMEEX(DM[vci[KHYs-9]])+ +numtostr(vcp[vci[KHYs-9]],2)+ZF,);//滞后股
DRAWTEXT(BARPOS=SYSPARAM(2),h,HST+领先股:),COLORred,ALIGN4;
DRAWTEXT(BARPOS=SYSPARAM(2),h,COL1),Colorred,ALIGN4;
DRAWTEXT(BARPOS=SYSPARAM(2),h,HST+HST+HST+滞后股:),COLORFF00,ALIGN4;
DRAWTEXT(BARPOS=SYSPARAM(2),h,HST+COL2
+\n+*********************************************************************************************************************************),COLORFFFF00,ALIGN4;
//////////////////////////////////////////////////////////////
{指定板块内个股排序,引用网友bajatje(懒汉)提供的指标,谢谢懒汉网友}
bk:=自选股; //可任意指定版块,板块内个股数需大于9个
stksum:=STKCOUNT(bk);dcount:=DATACOUNT;yygs4:=涨幅引用xx.A0;
variable:dmstr[stksum]=,var_px[stksum]=0,var_indi[stksum]=0;
for k=1 to stksum do
begin
dn:=stkfromblk(bk,k);
dmstr[k]:=dn;
temp1:=stkindi(dn,yygs4,0,-1);
var_px[k]:=temp1[dcount];
var_indi[k]:=temp1[dcount];
end;
Num1:=sortpos(var_indi,1,1,stksum);
dm_max1:=var_indi[1];dm_max2:=var_indi[2];dm_max3:=var_indi[3];dm_max4:=var_indi[4];
dm_max5:=var_indi[5];dm_max6:=var_indi[6];dm_max7:=var_indi[7];dm_max8:=var_indi[8];
max1:=var_px[dm_max1];max2:=var_px[dm_max2];max3:=var_px[dm_max3];
max4:=var_px[dm_max4];max5:=var_px[dm_max5];max6:=var_px[dm_max6];max7:=var_px[dm_max7];
max8:=var_px[dm_max8];
DRAWTEXT(BARPOS=SYSPARAM(2),100,hst+hst+hst+hst+hst+hst+自选前排序%+[+STKNAMEEX(dmstr[dm_max1])++NUMTOSTR(max1,2)
+][+STKNAMEEX(dmstr[dm_max2])++NUMTOSTR(max2,2)
+][+STKNAMEEX(dmstr[dm_max3])++NUMTOSTR(max3,2)
+][+STKNAMEEX(dmstr[dm_max4])++NUMTOSTR(max4,2)
+][+STKNAMEEX(dmstr[dm_max5])++NUMTOSTR(max5,2)
+][+STKNAMEEX(dmstr[dm_max6])++NUMTOSTR(max6,2)
+][+STKNAMEEX(dmstr[dm_max7])++NUMTOSTR(max7,2)
+][+STKNAMEEX(dmstr[dm_max8])++NUMTOSTR(max8,2)
+]),ColorFF99ff,align4;
yygs5:=涨幅引用xx.A0;
variable:dmstr[stksum]=,var_px[stksum]=0,var_indi[stksum]=0;
for k=1 to stksum do
begin
dn:=stkfromblk(bk,k);
dmstr[k]:=dn;
temp1:=stkindi(dn,yygs5,0,-1);
var_px[k]:=temp1[dcount];
var_indi[k]:=temp1[dcount];
end;
Num1:=sortpos(var_indi,0,1,stksum);
dm_max1:=var_indi[1];dm_max2:=var_indi[2];dm_max3:=var_indi[3];dm_max4:=var_indi[4];
dm_max5:=var_indi[5];dm_max6:=var_indi[6];dm_max7:=var_indi[7];dm_max8:=var_indi[8];
max1:=var_px[dm_max1];max2:=var_px[dm_max2];max3:=var_px[dm_max3];
max4:=var_px[dm_max4];max5:=var_px[dm_max5];max6:=var_px[dm_max6];max7:=var_px[dm_max7];
max8:=var_px[dm_max8];
DRAWTEXT(BARPOS=SYSPARAM(2),h,hst+hst+hst+hst+hst+hst+hst+自选后排序%+[+STKNAMEEX(dmstr[dm_max1])++NUMTOSTR(max1,2)
+][+STKNAMEEX(dmstr[dm_max2])++NUMTOSTR(max2,2)
+][+STKNAMEEX(dmstr[dm_max3])++NUMTOSTR(max3,2)
+][+STKNAMEEX(dmstr[dm_max4])++NUMTOSTR(max4,2)
+][+STKNAMEEX(dmstr[dm_max5])++NUMTOSTR(max5,2)
+][+STKNAMEEX(dmstr[dm_max6])++NUMTOSTR(max6,2)
+][+STKNAMEEX(dmstr[dm_max7])++NUMTOSTR(max7,2)
+][+STKNAMEEX(dmstr[dm_max8])++NUMTOSTR(max8,2)
+]
+\n+===============================================================
==================================================================),Colorffff,align4;
/////////////////////////////////////////////////////////////////////////
{板块指数个股前8,引用1949网友提供的指标,谢谢1949网友}
BKNAME:=板块指数;
STKC:=stkcount(BKNAME);
variable:s=0,ZFSZ[STKC]=0,ZFNAME[10]=,ZFNumber[10]=0;
for p=1 to stkc do begin
Ty1:=STKFROMBLK(BKNAME,p);
Ty2:=dynainfo2(14,ty1)*100;
ZFSZ[p]:=Ty2;
if Ty2>=0 then  s:=s+1;
end
NWY:=sortpos(ZFSZ,0,1,stkc);
for p1 =1 to 10 do begin
ZFDM:=STKFROMBLK(BKNAME,ZFSZ[stkc-(p1-1)]);
Te:=stknameex(ZFDM);
ZFNAME[p1]:=strleft(te,strlen(te)-4);
ZFNumber[p1]:=dynainfo2(14,ZFDM)*100;
end;
drawtext(BARPOS=SYSPARAM(2),h,hst+hst+hst+hst+hst+hst+hst+hst+hst+ZFNAME[1]+(+ numtostr(stkcount(ZFNAME[1]),0)+ ) +   numtostr(ZFNumber[1],2) + %
+\n+ZFNAME[2]+(+ numtostr(stkcount(ZFNAME[2]),0)+ ) +  numtostr(ZFNumber[2],2) + %
+\n+ZFNAME[3]+(+ numtostr(stkcount(ZFNAME[3]),0)+ ) +  numtostr(ZFNumber[3],2) + %
+\n+ZFNAME[4]+(+ numtostr(stkcount(ZFNAME[4]),0)+ ) +  numtostr(ZFNumber[4],2) + %
+\n+ZFNAME[5]+(+ numtostr(stkcount(ZFNAME[5]),0)+ ) +   numtostr(ZFNumber[5],2) + %
+\n+ZFNAME[6]+(+ numtostr(stkcount(ZFNAME[6]),0)+ ) +   numtostr(ZFNumber[6],2) + %
+\n+ZFNAME[7]+(+ numtostr(stkcount(ZFNAME[7]),0)+ ) +   numtostr(ZFNumber[7],2) + %
+\n+ZFNAME[8]+(+ numtostr(stkcount(ZFNAME[8]),0)+ ) +   numtostr(ZFNumber[8],2) + %
+\n+ZFNAME[9]+(+ numtostr(stkcount(ZFNAME[9]),0)+ ) +   numtostr(ZFNumber[9],2) + %
+\n+ZFNAME[10]+(+ numtostr(stkcount(ZFNAME[10]),0)+ ) +   numtostr(ZFNumber[10],2) + %),color5050ff,align4;
variable:MinZFStr[10]=;
paa:=0;
WHILE Paa<10 do begin
PAA:=Paa+1;
MinStkName:=ZFNAME[paa];
STKNum:=stkcount(MinStkName);
variable:ZF[STKNum]=0;
for p2=1 to stkNum do begin
Ty1:=STKFROMBLK(MinStkName,p2);
Ty2:=if(dynainfo2(8,ty1)>0,dynainfo2(14,ty1)*100,-10);
ZF[p2]:=Ty2;
end
NWY:=sortpos(ZF,0,1,stkNum );
ub:=if(STKNum>=8,8,STKNum);
for p3 =1 to UB do begin
ZFDM:=STKFROMBLK(MinStkName,ZF[STKNum-(p3-1)]);
Te:=stknameex(ZFDM);
MinZFStr[paa]:=MinZFStr[paa] +(+Te + numtostr(dynainfo2(14,ZFDM)*100,2) +%+)+ ;//
end;
end;
drawtext(BARPOS=SYSPARAM(2),h,hst+hst+hst+hst+hst+hst+hst+hst+hst+                    +MinZFStr[1]
+\n+                    +MinZFStr[2]
+\n+                    +MinZFStr[3]
+\n+                    +MinZFStr[4]
+\n+                    +MinZFStr[5]
+\n+                    +MinZFStr[6]
+\n+                    +MinZFStr[7]
+\n+                    +MinZFStr[8]
+\n+                    +MinZFStr[9]
+\n+                    +MinZFStr[10]),colorff00ff,align4;

{顶尖财经网www.58188.com整理}