搜索
查看: 6213|回复: 2

【教学】在解盘中显示排序

[复制链接]
发表于 2004-4-19 21:00 | 显示全部楼层

【教学】在解盘中显示排序

来自:MACD论坛(bbs.shudaoyoufang.com) 作者:金融寡头 浏览:6213 回复:2

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
t1:CURRENTtime,linethick0;  //用于记录开始执行公式代码的时间
//本公式输出结果,请在解盘中查看,由于大量引用了其它指标,因此运算时间会稍长

bk:='A股板块'; //bk赋值为字符串'A股板块'
yygs:='macd.diff';//引用的指标,此处可修改为引用其它的指标

stksum:=STKCOUNT(bk); //板块所包含证券数量
dcount:=datacount; //K线图上,最后一根K线的位置
variable:dmstr[stksum]='',var_px[stksum]=0,var_indi[stksum]=0;  //定义一个字符串数组用于记录股票代码,元素个数为stksum,初始值为空
for k=1 to stksum do  //以下循环,循环计数器k从1开始每次递增1,直到stksum
begin
    dm:=STKFROMBLK(bk,k);//板块bk中第k只证券的证券代码,赋值到字符串变量dm
    dmstr[k]:=dm;  //股票代码,记录到字符串数组dmstr的第k个元素中
    temp1:=stkindi(dm,yygs,0,-1);  //引用其它个股的指标
    var_px[k]:=temp1[dcount];  //记录最后一个周期的指标值,此处可以使用参数,以便得到其它周期的排序
    var_indi[k]:=temp1[dcount];  //同上,但准备用于记录排序后的位置
end;

Num1:=sortpos(var_indi,1,1,stksum);  //计算排序后,按大小排列的位置
dm_min1:=var_indi[stksum];  //最小值的对应位置
dm_min2:=var_indi[stksum-1];
dm_min3:=var_indi[stksum-3];

min1:=var_px[dm_min1];
min2:=var_px[dm_min2];
min3:=var_px[dm_min3];

explain(islastbar,yygs+'前15名:'),colorred;
EXPLAINex(islastbar,'1 :'+dmstr[var_indi[1 ]]+STKNAMEEX(dmstr[var_indi[1 ]])+':',var_px[var_indi[1 ]],2,0),colorred;
EXPLAINex(islastbar,'2 :'+dmstr[var_indi[2 ]]+STKNAMEEX(dmstr[var_indi[2 ]])+':',var_px[var_indi[2 ]],2,0),colorred;
EXPLAINex(islastbar,'3 :'+dmstr[var_indi[3 ]]+STKNAMEEX(dmstr[var_indi[3 ]])+':',var_px[var_indi[3 ]],2,0),colorred;
EXPLAINex(islastbar,'4 :'+dmstr[var_indi[4 ]]+STKNAMEEX(dmstr[var_indi[4 ]])+':',var_px[var_indi[4 ]],2,0),colorred;
EXPLAINex(islastbar,'5 :'+dmstr[var_indi[5 ]]+STKNAMEEX(dmstr[var_indi[5 ]])+':',var_px[var_indi[5 ]],2,0),colorred;
EXPLAINex(islastbar,'6 :'+dmstr[var_indi[6 ]]+STKNAMEEX(dmstr[var_indi[6 ]])+':',var_px[var_indi[6 ]],2,0),colorred;
EXPLAINex(islastbar,'7 :'+dmstr[var_indi[7 ]]+STKNAMEEX(dmstr[var_indi[7 ]])+':',var_px[var_indi[7 ]],2,0),colorred;
EXPLAINex(islastbar,'8 :'+dmstr[var_indi[8 ]]+STKNAMEEX(dmstr[var_indi[8 ]])+':',var_px[var_indi[8 ]],2,0),colorred;
EXPLAINex(islastbar,'9 :'+dmstr[var_indi[9 ]]+STKNAMEEX(dmstr[var_indi[9 ]])+':',var_px[var_indi[9 ]],2,0),colorred;
EXPLAINex(islastbar,'10:'+dmstr[var_indi[10]]+STKNAMEEX(dmstr[var_indi[10]])+':',var_px[var_indi[10]],2,0),colorred;
EXPLAINex(islastbar,'11:'+dmstr[var_indi[11]]+STKNAMEEX(dmstr[var_indi[11]])+':',var_px[var_indi[11]],2,0),colorred;
EXPLAINex(islastbar,'12:'+dmstr[var_indi[12]]+STKNAMEEX(dmstr[var_indi[12]])+':',var_px[var_indi[12]],2,0),colorred;
EXPLAINex(islastbar,'13:'+dmstr[var_indi[13]]+STKNAMEEX(dmstr[var_indi[13]])+':',var_px[var_indi[13]],2,0),colorred;
EXPLAINex(islastbar,'14:'+dmstr[var_indi[14]]+STKNAMEEX(dmstr[var_indi[14]])+':',var_px[var_indi[14]],2,0),colorred;
EXPLAINex(islastbar,'15:'+dmstr[var_indi[15]]+STKNAMEEX(dmstr[var_indi[15]])+':',var_px[var_indi[15]],2,0),colorred;

explain(islastbar,yygs+'后3名:'),colorgreen;
EXPLAINex(islastbar,'3:'+dmstr[dm_min3]+STKNAMEEX(dmstr[dm_min3])+':',min3,2,0),colorgreen;
EXPLAINex(islastbar,'2:'+dmstr[dm_min2]+STKNAMEEX(dmstr[dm_min2])+':',min2,2,0),colorgreen;
EXPLAINex(islastbar,'1:'+dmstr[dm_min1]+STKNAMEEX(dmstr[dm_min1])+':',min1,2,0),colorgreen;

t2:CURRENTtime,linethick0; //用于记录执行公式代码结束的时间,跟t1比较,可估计执行时间




南客
金币:
奖励:
热心:
注册时间:
2003-1-21

回复 使用道具 举报

签到天数: 2 天

发表于 2004-4-23 19:48 | 显示全部楼层

做个公式让我们下载,好么?老大!!

金币:
奖励:
热心:
注册时间:
2004-2-23

回复 使用道具 举报

发表于 2008-5-4 21:12 | 显示全部楼层

做个公式让我们下载,好么?老大!!

做个公式让我们下载,好么?老大!!
金币:
奖励:
热心:
注册时间:
2007-8-5

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-4-15 15:14 , Processed in 0.029517 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表