%>
{黑色零线}
0,colorblack;
{/黑色零线}
{黄金比例}
比:=(SQRT(5)-1)/2;{~0.618}
{.反比}
反比:=2/(SQRT(5)-1);{~1.618}
双反比:=POW(反比,反比);{~2.178}
{/.反比}
{.比反比}
比反比:=POW(比,反比);{~0.459}
比双反比:=POW(比,双反比);{~0.351}//比反比*比双反比~=0.161
比反比双反比:=POW(比反比,双反比);{~0.183}//比双反比*比反比双反比~=0.064
{/.比反比}
{/黄金比例}
{填充背景.BGB}
//填充背景为黑色???:
//DRAWGBK(1, COLORRGB(0,0,0), COLORRGB(0,0,0),0);
{填充背景.BGB.END}
{主题及LOGO}
DRAWTEXTEX(1,1,比双反比*1000,比反比*1000,'·FOR MONEY·FOR GIRL·'),COLORC5B5FF;
DRAWTEXTEX(1,1,382,618,'超级吸金黑洞'),COLOR696969;
{/主题及LOGO 2009.01.27}
{当前数据周期类型}
当前数据周期类型:=DATATYPE;{返回值范围为-1-12,分别表示即时图、分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、日、周、 月、年、多日、多分钟、多秒}
当前数据周期类型超日线:=当前数据周期类型>=6;
当前数据周期类型低六十分钟:=当前数据周期类型<=5;
当前数据周期类型低三十分钟:=当前数据周期类型<=4;
{/当前数据周期类型}
{股价关系提示}
DRAWTEXTEX(1,1,0,879,' 股价=每笔金额/每笔换手*1/流通盘\n===>股价与每笔金额(资金度)成正比,与每笔换手(控盘度)成反比... (1/流通盘)一般不变为常量'),colorc6B7D8B;
{/股价关系提示}
{显示所属板块.黑金}
//定义常量
所属板块字符串:=BLKNAME;
截取所属板块字符串:=' 所属板块: '+所属板块字符串;
单行最大显示长度:=159;//单位:字节
截取所属板块字符串长度:=STRLEN(截取所属板块字符串);
//定义并初始化变量
显示字符串:='';
逗号:=',';
末单字符截取位置:=单行最大显示长度-1;
单行末单个字符:='';
//判断截取长度
IF 截取所属板块字符串长度>单行最大显示长度 THEN
//截取长度超过单行最大显示长度时,开始以下运算.
BEGIN
//截取长度超过单行最大显示长度时,循环
WHILE 截取所属板块字符串长度>单行最大显示长度 DO
BEGIN
//循环计算单行最大长度前最后一个逗号的位置
WHILE STRCMP(单行末单个字符,逗号)<>0 DO
BEGIN
单行末单个字符:=STRMID(截取所属板块字符串,末单字符截取位置,1);
末单字符截取位置:=末单字符截取位置-1;
END;
//截取截取所属板块字符串到最后逗号位置.
单行可显示字符串:=STRLEFT(截取所属板块字符串,末单字符截取位置+1)+'\n';
//逗号位置所截取长度.
单行可显示字符串长度:=STRLEN(单行可显示字符串)-1;
//前段填充空格 对 所属板块字符串
截取所属板块字符串:=' '+STRMID(截取所属板块字符串,单行可显示字符串长度,0);
//填充后字符串长度.
截取所属板块字符串长度:=STRLEN(截取所属板块字符串);
//再次初始化变量.
末单字符截取位置:=单行最大显示长度-1;
单行末单个字符:='';
//对可显示字符串进行累加.
显示字符串:=显示字符串+单行可显示字符串;
END;
//累加后的可显示字符串累加最后一行截取字符串.
显示字符串:=显示字符串+截取所属板块字符串;
END;
ELSE
//截取长度不超过单行最大显示长度时,进行以下运算.
显示字符串:=截取所属板块字符串;
//屏幕左上角显示输出可显示所属板块字符串.
DRAWTEXTEX(1,1,0,0,显示字符串),color8B8B00;
{/显示所属板块.黑金}
{代码核心算法概括 SUM(QT ANDOR AMOUNT,SUMBARS(V,CAPITAL));}
{完全量计算(算法起源)}
完全:=1;{可根据股本流通率,动态更新,将1替换.当非流通股解禁时动态更新流通盘大小}
完全量:=完全*capital;
完全略周期:=sumbars(v,完全量);
完全略周期量:=sum(v,完全略周期);
完全略周期超出量:=完全略周期量-完全量;
完全略周期减一周期:=完全略周期-1;
完全略周期初周期量:=ref(v,完全略周期减一周期);
完全略周期超出量初周期量比:=完全略周期超出量/完全略周期初周期量;
完全略周期超出周期:=1*完全略周期超出量初周期量比;{超出量比粗认为超出周期,使用周期越小越精确}
完全略周期初周期金额:=ref(amount,完全略周期减一周期);
完全略周期初周期笔数:=ref(qt,完全略周期减一周期);
完全略周期超出金额:=完全略周期初周期金额*完全略周期超出量初周期量比;{超出量比粗认为超出金额比,使用周期越小越精确}
完全略周期超出笔数:=完全略周期初周期笔数*完全略周期超出量初周期量比;{超出量比粗认为超出笔数比,使用周期越小越精确}
完全略周期金额:=sum(amount,完全略周期);
完全略周期笔数:=sum(qt,完全略周期);
完全量周期:=完全略周期-完全略周期超出周期;
完全金额:=完全略周期金额-完全略周期超出金额;
完全笔数:=完全略周期笔数-完全略周期超出笔数;
完全价:=完全金额/完全量/100;
完全市值:=完全金额/100000000;//单位:亿元
{/完全量计算}
{黄金比例量周期超精简版.黑金}
{向前45.9%(比反比)换手,35.1%(比双反比)换手所用周期}
{股票教程网-股票公式网站 www.gwgz.net}
比反比量周期:=sumbars(v,比反比*完全量)-(sum(v,sumbars(v,比反比*完全量))-比反比*完全量)/ref(v,sumbars(v,比反比*完全量)-1);
比双反比量周期:=sumbars(v,比双反比*完全量)-(sum(v,sumbars(v,比双反比*完全量))-比双反比*完全量)/ref(v,sumbars(v,比双反比*完全量)-1);
{/黄金比例量周期超精简版.黑金}
{以量周期计算要使用的周期及周期对应数据及数据运算}
{.比周期计算}
比周期:=完全量周期*比反比;//~0.459
比略周期:=CEILING(比周期);
比略周期超出周期:=比略周期-比周期;
比略周期超出周期初比:=比略周期超出周期/1;
比略周期减一周期:=比略周期-1;
比略周期初周期金额:=ref(amount,比略周期减一周期);
比略周期初周期量:=ref(v,比略周期减一周期);
比略周期初周期笔数:=ref(qt,比略周期减一周期);
比略周期超出金额:=比略周期初周期金额*比略周期超出周期初比;
比略周期超出量:=比略周期初周期量*比略周期超出周期初比;
比略周期超出笔数:=比略周期初周期笔数*比略周期超出周期初比;
比略周期金额:=sum(amount,比略周期);
比略周期量:=sum(v,比略周期);
比略周期笔数:=sum(qt,比略周期);
比周期金额:=比略周期金额-比略周期超出金额;
比周期量:=比略周期量-比略周期超出量;
比周期笔数:=比略周期笔数-比略周期超出笔数;
比周期换手:=比周期量*100000000/完全量;
比周期量大于零:=比周期量>0;
上次比周期量大于零周期数:=BARSLAST(比周期量大于零);
原比周期市值:=比周期金额*完全量/比周期量/100000000;
原比周期价:=比周期金额/比周期量/100;
原比周期每笔金额:=比周期金额/比周期笔数/10000;
原比周期每笔换手:=比周期换手/比周期笔数;
比周期市值:=IF(比周期量大于零,原比周期市值,ref(原比周期市值,上次比周期量大于零周期数));//单位:亿元
比周期价:=IF(比周期量大于零,原比周期价,ref(原比周期价,上次比周期量大于零周期数));//单位:元每股
比周期每笔金额:=IF(比周期量大于零,原比周期每笔金额,ref(原比周期每笔金额,上次比周期量大于零周期数));
//单位:万元每笔 {比周期资金度}
比周期每笔换手:=IF(比周期量大于零,原比周期每笔换手,ref(原比周期每笔换手,上次比周期量大于零周期数));
//单位:每笔亿分之 {比周期控盘度}
{上次比周期量大于零周期数? OR 上次比周期量大于零周期数-1?}
{/.比周期计算}
{.比比周期计算}
比比周期:=比反比量周期*比双反比;//比反比*比双反比~=0.161
比比略周期:=CEILING(比比周期);
比比略周期超出周期:=比比略周期-比比周期;
比比略周期超出周期初比:=比比略周期超出周期/1;
比比略周期减一周期:=比比略周期-1;
比比略周期初周期金额:=ref(amount,比比略周期减一周期);
比比略周期初周期量:=ref(v,比比略周期减一周期);
比比略周期初周期笔数:=ref(qt,比比略周期减一周期);
比比略周期超出金额:=比比略周期初周期金额*比比略周期超出周期初比;
比比略周期超出量:=比比略周期初周期量*比比略周期超出周期初比;
比比略周期超出笔数:=比比略周期初周期笔数*比比略周期超出周期初比;
比比略周期金额:=sum(amount,比比略周期);
比比略周期量:=sum(v,比比略周期);
比比略周期笔数:=sum(qt,比比略周期);
比比周期金额:=比比略周期金额-比比略周期超出金额;
比比周期量:=比比略周期量-比比略周期超出量;
比比周期笔数:=比比略周期笔数-比比略周期超出笔数;
比比周期换手:=比比周期量*100000000/完全量;
比比周期量大于零:=比比周期量>0;
上次比比周期量大于零周期数:=BARSLAST(比比周期量大于零);
原比比周期市值:=比比周期金额*完全量/比比周期量/100000000;
原比比周期价:=比比周期金额/比比周期量/100;
原比比周期每笔金额:=比比周期金额/比比周期笔数/10000;
原比比周期每笔换手:=比比周期换手/比比周期笔数;
比比周期市值:=IF(比比周期量大于零,原比比周期市值,ref(原比比周期市值,上次比比周期量大于零周期数));//单位:亿元
比比周期价:=IF(比比周期量大于零,原比比周期价,ref(原比比周期价,上次比比周期量大于零周期数));//单位:元每股
比比周期每笔金额:=IF(比比周期量大于零,原比比周期每笔金额,ref(原比比周期每笔金额,上次比比周期量大于零周期数));
//单位:万元每笔 {比比周期资金度}
比比周期每笔换手:=IF(比比周期量大于零,原比比周期每笔换手,ref(原比比周期每笔换手,上次比比周期量大于零周期数));
//单位:每笔亿分之 {比比周期控盘度}
{上次比比周期量大于零周期数? OR 上次比比周期量大于零周期数-1?}
{/.比比周期计算}
{.比比比周期计算.起源.黑金}
比比比周期:=比双反比量周期*比反比双反比;//比双反比*比反比双反比~=0.064
{取消对比比比周期的大于有效周期引用...计算更正确...渐进消亡,,用有效周期的有效数据的可用性}
比比比略周期:=CEILING(比比比周期);
比比比略周期超出周期:=比比比略周期-比比比周期;
比比比略周期超出周期初比:=比比比略周期超出周期/1;
比比比略周期减一周期:=比比比略周期-1;
比比比略周期初周期金额:=ref(amount,比比比略周期减一周期);
比比比略周期初周期量:=ref(v,比比比略周期减一周期);
比比比略周期初周期笔数:=ref(qt,比比比略周期减一周期);
比比比略周期超出金额:=比比比略周期初周期金额*比比比略周期超出周期初比;
比比比略周期超出量:=比比比略周期初周期量*比比比略周期超出周期初比;
比比比略周期超出笔数:=比比比略周期初周期笔数*比比比略周期超出周期初比;
比比比略周期金额:=sum(amount,比比比略周期);
比比比略周期量:=sum(v,比比比略周期);
比比比略周期笔数:=sum(qt,比比比略周期);
比比比周期金额:=比比比略周期金额-比比比略周期超出金额;
比比比周期量:=比比比略周期量-比比比略周期超出量;
比比比周期笔数:=比比比略周期笔数-比比比略周期超出笔数;
比比比周期换手:=比比比周期量*100000000/完全量;
比比比周期量大于零:=比比比周期量>0;
上次比比比周期量大于零周期数:=BARSLAST(比比比周期量大于零);
原比比比周期市值:=比比比周期金额*完全量/比比比周期量/100000000;
原比比比周期价:=比比比周期金额/比比比周期量/100;
原比比比周期每笔金额:=比比比周期金额/比比比周期笔数/10000;
原比比比周期每笔换手:=比比比周期换手/比比比周期笔数;
比比比周期市值:=IF(比比比周期量大于零,原比比比周期市值,ref(原比比比周期市值,上次比比比周期量大于零周期数));
//单位:亿元
比比比周期价:=IF(比比比周期量大于零,原比比比周期价,ref(原比比比周期价,上次比比比周期量大于零周期数));
//单位:元每股
比比比周期每笔金额:=IF(比比比周期量大于零,原比比比周期每笔金额,ref(原比比比周期每笔金额,上次比比比周期量大于零周期数));
//单位:万元每笔 {比比比周期资金度}
比比比周期每笔换手:=IF(比比比周期量大于零,原比比比周期每笔换手,ref(原比比比周期每笔换手,上次比比比周期量大于零周期数));
//单位:每笔亿分之 {比比比周期控盘度}
{上次比比比周期量大于零周期数? OR 上次比比比周期量大于零周期数-1?}
{/.比比比周期计算.起源.黑金}
{/以量周期计算要使用的周期及周期对应数据及数据运算}
{不知道飞狐支持UNICODE大字符集的显示否? 那样就可以制作非·非主流火星文版的黑金指标~\(≧▽≦)/~啦啦啦,,,哗哗哗....}
{当前周期计算}
当前周期金额:=AMOUNT;
当前周期量:=VOL;
当前周期笔数:=QT;
当前周期换手:=当前周期量*100000000/完全量;
当前周期量大于零:=当前周期量>0;
上次当前周期量大于零周期数:=BARSLAST(当前周期量大于零);
原当前周期市值:=当前周期金额*完全量/当前周期量/100000000;
原当前周期价:=当前周期金额/当前周期量/100;
原当前周期每笔金额:=当前周期金额/当前周期笔数/10000;
原当前周期每笔换手:=当前周期换手/当前周期笔数;
{引用语句消耗的资源 VS 判断语句消耗的资源????}
{不知是否需要添加判断 上次当前周期量大于零周期数=0 ,而后决定是否使用 REF 引用语句.... 以减少引用语句 消耗的 处理器资源 或及 内存 或虚拟硬盘 读写时间消耗......或不会消耗多少,不需要添加判断语句,,,,,或添加判断语句所耗费的资源同样高????}
{想了想,,,,,还是加上判断语句吧........我真的好懒,,,不想动哪......~~~~(>_<)~~~~ 呜呜呜呜呜呜}
当前周期市值:=IF(当前周期量大于零,原当前周期市值,ref(原当前周期市值,上次当前周期量大于零周期数));
//单位:亿元
当前周期价:=IF(当前周期量大于零,原当前周期价,ref(原当前周期价,上次当前周期量大于零周期数));
//单位:元每股
当前周期每笔金额:=IF(当前周期量大于零,原当前周期每笔金额,ref(原当前周期每笔金额,上次当前周期量大于零周期数));
//单位:万元每笔 {当前资金度}
当前周期每笔换手:=IF(当前周期量大于零,原当前周期每笔换手,ref(原当前周期每笔换手,上次当前周期量大于零周期数));
//单位:每笔亿分之 {当前控盘度}
{上次当前周期量大于零周期数? OR 上次当前周期量大于零周期数-1?}
{/当前周期计算}
{霍哗哗,终于写完啦....哗哈哈哈哈哈O(∩_∩)O哈哈~}
{显示输出价}
//单位:元每股
白金价:比周期价,colorwhite;
蓝金价:比比周期价,colorff9900;
黄金价:比比比周期价,color00D7FF;
当前价:当前周期价,colorGRAY,linethick2;
{/显示输出价}
{显示输出市值}
{单位:亿元}
{
白金市值:=比周期市值,colorwhite;
蓝金市值:=比比周期市值,colorff9900;
黄金市值:=比比比周期市值,color00D7FF;
当前周期市值:=当前周期市值,colorGRAY,linethick2;
}
{/显示输出市值}
{显示输出每笔金额}
{
//单位:万元每笔
{30,60分钟周期不明原因有别}
{资金度}
白金每笔金额:=比周期每笔金额,colorwhite;
蓝金每笔金额:=比比周期每笔金额,colorff9900;
黄金每笔金额:=比比比周期每笔金额,color00D7FF;
{一般不要显示当前周期每笔金额,其指标值过大时,破坏其他稳定指标线可见性}
当前周期每笔金额:=当前周期每笔金额,colorGRAY,linethick2;
}
{/显示输出每笔金额}
{显示输出每笔换手}
{
//单位:每笔亿分之
{30.60分钟周期是否有差?}
{控盘度}
白金每笔换手:=比周期每笔换手,colorwhite;
蓝金每笔换手:=比比周期每笔换手,colorff9900;
黄金每笔换手:=比比比周期每笔换手,color00D7FF;
{一般不要显示当前周期每笔换手,其指标值过大时,破坏其他稳定指标线可见性}
当前周期每笔换手:=当前周期每笔换手,colorGRAY,linethick2;
}
{/显示输出每笔换手}
{价显示停牌周期}
现在日期:=CURRENTDATE;
此周期日期:=DATE;
上周期日期:=ref(DATE,1);
停止交易周期数:=DATEDIFF(上周期日期,此周期日期)-1;
停止交易星期数:=停止交易周期数/7;
停止交易整星期数:=FLOOR(停止交易星期数);
超出周期数:=停止交易周期数-停止交易整星期数*7;{1-6}
周末休市日期数:=2*停止交易整星期数;
当前星期:=WEEKDAY;
当前为周末:=当前星期=6 or 当前星期=0;
超出休市数:=count(当前为周末,超出周期数);
休市周期数:=周末休市日期数+超出休市数;
停牌周期数:=停止交易周期数-休市周期数-2;
{我没搞明白,这里为什么减去二结果就正确了。。。。我自己写的代码自己都不明白。。。~~~~~~~~~~~}
停牌周期数小于十:=停牌周期数<10 and 停牌周期数>0;
停牌周期数大于等于十:=停牌周期数>=10;
停牌周期数字符串:= NUMTOSTR(停牌周期数,0);
drawtext(停牌周期数>0,当前周期价,'停牌'),align2,color8B8B7A;
drawtext(停牌周期数小于十,当前周期价,' 周期'),align1,color8B8B7A;
drawtext(停牌周期数大于等于十,当前周期价,' 周期'),align1,color8B8B7A;
DRAWNUMBER(停牌周期数>0,当前周期价,停牌周期数,0),colorwhite;
{/价显示停牌周期}
{市值显示停牌周期}
{
现在日期:=CURRENTDATE;
此周期日期:=DATE;
上周期日期:=ref(DATE,1);
停止交易周期数:=DATEDIFF(上周期日期,此周期日期)-1;
停止交易星期数:=停止交易周期数/7;
停止交易整星期数:=FLOOR(停止交易星期数);
超出周期数:=停止交易周期数-停止交易整星期数*7;{1-6}
周末休市日期数:=2*停止交易整星期数;
当前星期:=WEEKDAY;
当前为周末:=当前星期=6 or 当前星期=0;
超出休市数:=count(当前为周末,超出周期数);
休市周期数:=周末休市日期数+超出休市数;
停牌周期数:=停止交易周期数-休市周期数-2;
{我没搞明白,这里为什么减去二结果就正确了。。。。我自己写的代码自己都不明白。。。~~~~~~~~~~~}
停牌周期数小于十:=停牌周期数<10 and 停牌周期数>0;
停牌周期数大于等于十:=停牌周期数>=10;
停牌周期数字符串:= NUMTOSTR(停牌周期数,0);
drawtext(停牌周期数>0,当前周期市值,'停牌'),align2,color8B8B7A;
drawtext(停牌周期数小于十,当前周期市值,' 周期'),align1,color8B8B7A;
drawtext(停牌周期数大于等于十,当前周期市值,' 周期'),align1,color8B8B7A;
DRAWNUMBER(停牌周期数>0,当前周期市值,停牌周期数,0),colorwhite;
}
{/市值显示停牌周期}
{财务数据}
换行:=' \n ';
{.显示财务数据更新日期}
更新日期:=FINANCE( 0);
飞狐函数接口规范格式更新日期:=更新日期*100-19000000+30;
更新日期字符串:=NUMTOSTR(更新日期,0);
取更新日期年份:=STRLEFT(更新日期字符串,4);
取更新日期月份:=STRRIGHT(更新日期字符串,2);
更新日期年月字符串:=取更新日期年份+'年'+取更新日期月份+'月';
现即更新日期:=DATE=飞狐函数接口规范格式更新日期 or (ref(date,1)<飞狐函数接口规范格式更新日期 and date>飞狐函数接口规范格式更新日期);
更新日期字符串:='财务数据最后于'+更新日期年月字符串+'更新';
DRAWTEXT(现即更新日期,完全价,更新日期字符串),color8B658B;
{/.显示财务数据更新日期}
{.股本分布}
总股本:=FINANCE( 1);//单位:百手 或万股
国家股本:=FINANCE( 2);//单位:百手 或万股
B股股本:=FINANCE( 5);//单位:百手 或万股
H股股本:=FINANCE( 6);//单位:百手 或万股
A股股本:=FINANCE( 7);//单位:百手 或万股
国有控股率:=国家股本/总股本*100;//单位:百分之一
A股流通率:=A股股本/总股本*100;//单位:百分之一
B股流通率:=B股股本/总股本*100;//单位:百分之一
H股流通率:=H股股本/总股本*100;//单位:百分之一
股本流通率:=(B股股本+H股股本+A股股本)/总股本*100;//单位:百分之一
//股本分布字符串:
国有控股率字符串:=IF(国有控股率>1,' 国有控股率:'+NUMTOSTR(国有控股率,1)+'%'+换行,换行);
A股流通率字符串:='A股流通率:'+NUMTOSTR(A股流通率,1)+'%'+换行;
股本流通率字符串:=IF((A股流通率+1)>股本流通率,'','股本流通率:'+NUMTOSTR(股本流通率,1)+'%'+换行);
B股流通率字符串:=IF(B股流通率>1,'B股流通率:'+NUMTOSTR(B股流通率,1)+'%'+换行,'');
H股流通率字符串:=IF(H股流通率>1,'H股流通率:'+NUMTOSTR(H股流通率,1)+'%'+换行,'');
//输出显示股本分布字符串:
DRAWTEXTEX(1,1,3,123,国有控股率字符串+股本流通率字符串+A股流通率字符串+B股流通率字符串+H股流通率字符串),COLOR3F85CD;
{/.股本分布.结束}
{.总资产状况}
总资产:=FINANCE(10)/100000;//单位:亿元 {总资产大小}
资本公积金:=FINANCE(17)/100000;//单位:亿元 {备用金,储备金,保留资金}
每股公积金:=FINANCE(18);//单位:元每股 {等于 资本公积金/总股本}
公积金储备率:=资本公积金/总资产*100;//单位:百分之一 {抗风险能力,稳定能力?}
股东权益:=FINANCE(19)/100000;//单位:亿元 {好像等于净资产 股东权益=总资产-负债=净资产}
净资产:=股东权益;{???}//单位:亿元
负债:=总资产-股东权益;//单位:亿元 {等于总资产-净资产}
每股收益:=FINANCE(33);//单位:元每股 {总收益/总股本}
总收益:=每股收益*总股本/10000;//单位:亿元
股东权益比率:=FINANCE(36);//单位:百分之一 {等于 净资产(=股东权益)/总资产*100}
股东权益比总资产:=股东权益/总资产*100;//单位:百分之一 {等于股东权益比率}
每股净资:=FINANCE(34);//单位:元每股 {净资产/总的股本}
净资收益率:=FINANCE(37);//单位:百分之一 {每股收益/每股净资产*100}
总资产收益率:=总收益/总资产*100;//单位:百分之一
股东总数:=FINANCE(50);//单位:头..... `````````````````````{是全部股份的股东总数?而非流通股东总数?}
每股东资产:=总资产*10000/股东总数;//单位:万元每头.....~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
税后利润增长率:=FINANCE(54);//单位:百分之一?
总资产收益率增长率:=总资产收益率*(100+税后利润增长率)/100;{这差不多对了吧,也许可能大概应该MAYBE,中华象形文字比那些字母丰富直观多了}
总资产增长率:=FINANCE(56);//单位:百分之一? {总资产=上年总资产+上年总利润?}
{资本扩张速度:=(100+税后利润增长率)*(100+总资产增长率)/100;//单位:百分之一}{此行定义有误,理解有误,以后改....不好意思,当下就改了}
资本扩张速度:=(100+总资产收益率增长率)*(100+总资产增长率)/100;//单位:百分之一
//总资产状况字符串:
公积金储备率字符串:=' 公积金储备率:'+NUMTOSTR(公积金储备率,1)+'%'+换行;{公积金储备率越高,抗风险性越好,但同时减少了再投资的 资金,影响资本扩张.}{抗风险能力}
股东权益比率字符串:='股东权益比率:'+NUMTOSTR(股东权益比率,1)+'%'+换行;{股东权益(=净资产)比率越高,说明公司资产负债率越低,资 产可靠度越高.}{资产可靠度}
总资产收益率字符串:='总资产收益率:'+NUMTOSTR(总资产收益率,1)+'%'+换行;{总资产收益率越高,说明公司盈利能力越高,赚钱能力越 好}{盈利能力}
资本扩张速度字符串:=IF(资本扩张速度<>100,'资本扩张速度:'+NUMTOSTR(资本扩张速度,1)+'%'+换行,'');{速度越快,表明公司成长速度 越快,对应公司市值也应该上涨最快}{资本扩张速度}
每股东资产字符串:=IF(每股东资产<0.1,'','每股东资产:'+NUMTOSTR(每股东资产,1)+'万元'+换行);{每股东资产越多,说明???}{股东有钱度 }
//输出显示总资产状况:
DRAWTEXTEX(1,1,3,295,公积金储备率字符串+股东权益比率字符串+总资产收益率字符串+资本扩张速度字符串+每股东资产字符串),COLOR82DDEE;
{本人独自一人进行量化分析与代码编写,甚感孤单,希望有人相伴}
{/.总资产状况}
{.总资产每总股状况}
每股公积金:=每股公积金;//单位:元每股
每股收益:=每股收益;//单位:元每股
每股净资:=每股净资;//单位:元每股 {等于每股股东权益}
每股东资产:=总资产*10000/股东总数;//单位:万元每头
每股资产:=总资产*10000/总股本;//单位:元每股 {每总股本股股价}
每股资产字符串:='每总股本股总资产:'+NUMTOSTR(每股资产,1)+'元';
//显示输出总资产每总股状况
DRAWTEXTEX(1,1,3,545,' '+更新日期字符串+'时'+每股资产字符串),COLOR13458B;
DRAWTEXT(现即更新日期,完全价,换行+'当时的'+每股资产字符串),color8B658B;
{/.总资产每总股本状况}
{.A股市价状况}
A股市净率:=当前价/每股净资;
A股市总率:=当前价/每股资产;
A股市盈率:=当前价/每股收益;
//A股市值或市价状况字符串
A股市净率字符串:=' A股市净率:'+NUMTOSTR(A股市净率,1)+'倍'+换行;
A股市总率字符串:='A股市总率:'+NUMTOSTR(A股市总率,1)+'倍'+换行;
A股市盈率字符串:='A股市盈率:'+NUMTOSTR(A股市盈率,1)+'倍'+换行;
//输出显示A股市价状况:
DRAWTEXTEX(1,1,3,615,A股市净率字符串+A股市总率字符串+A股市盈率字符串),color1E69D2;
{/.A股市价状况}
{.A股资产}
A股资产:=完全市值;//单位:亿元{A股完全换手总成交金额}
A股资产字符串:=' A股市值:'+NUMTOSTR(A股资产,1)+'亿元'+换行;
DRAWTEXTEX(1,1,3,758,A股资产字符串),COLORADDEFF;
{/.A股资产}
{.A股板块资产状况}
{运算量巨大,运算卡机时间几近十数秒,另一个版本的占内存空间较大但可能运算时间较少的版本,测试未通过,为保证您的用户体验,现屏蔽此代码段}
{
{..末周期A股板块个股完全市值遍历累加和}
{请保证数据完整性及正确性}
A股板块板块字符串:='A股板块';
A股板块品种数量:=STKCOUNT(A股板块板块字符串);
A股板块末周期累加市值:=0;
FOR N=1 TO A股板块品种数量 DO
BEGIN
A股板块第N个品种代码:=STKFROMBLK(A股板块板块字符串,N);
A股板块第N个品种市值:=STKINDI(A股板块第N个品种代码,'完全市值',0,DATAPERIOD);
A股板块末周期累加市值:=A股板块末周期累加市值+A股板块第N个品种市值[DATACOUNT];
{去掉下标,可改编为动态A股板块总市值,但可能运算量极大,导致计算机假死.也可制作为横向统计方式(横向统计不需要此代码段,只需要对A股板块所有个股完全市值输出进行相等权重累加即可),每日更新,可大幅减少重复运算}
END;
无敌黑金BOY的累加市值:=A股板块末周期累加市值;//单位:亿元
无敌黑金BOY的累加市值字符串:='A股板块总市值:'+NUMTOSTR(无敌黑金BOY的累加市值,1)+'亿元'+换行;
{/..末周期A股板块个股完全市值遍历累加和}
当前个股市值占A股板块权重:=完全市值/无敌黑金BOY的累加市值*1000;
当前个股市值占A股板块权重字符串:='当前个股市值占A股板块权重:'+NUMTOSTR(当前个股市值占A股板块权重,1)+'‰'+换行;
//显示输出当前个股市值占A股板块权重(单位:千分之):
DRAWTEXTEX(1,1,3,800,' '+无敌黑金BOY的累加市值字符串+当前个股市值占A股板块权重字符串),COLORA1CFEE;
{/.A股板块资产状况}
}
{/财务数据}
{黄金周期过小时 提示减小显示周期以精确计算及看盘}
{换手率高,筹码流动活跃,股价变动周期很小.需使用60分钟或其以下周期看盘及计算.盘中即时进行交易}
{如果您的计算机性能优良,建议您使用飞狐60分钟或其以下周期看盘,您选用的看盘周期越小,计算精度越高,但同时运算量更大.(推荐使用30分钟周期)}
{为保证本代码所需原始数据精细性,以提高计算精确性.请不要屏蔽此代码段.}
DRAWTEXTEX(比比比周期<双反比,1,555,367,'◆◆◆请将看盘周期调整为60分钟或其以下周期◆◆◆\n \n以使代码获取并计算 更精细数据信 息 及 \n \n 更即时准确地观察盘面变化\n \n \n(如无五分钟数据,请下载安装)\n \n 推荐您使用30分钟周期'),colorCDFAFF;
{/黄金周期过小时 提示减小显示周期以精确计算及看盘}
{画面可见性较差时,提示更改画面可见性}
{此段代码耗费处理器及中断资源巨大,已做屏蔽.如果需要,请自行打开屏蔽.WARNING:一般请不要打开此屏蔽.小心死机.}
{
{此代码段耗费处理器资源较大,,,但对初级用户且在30分钟周期以上看盘及计算时,建议不要屏蔽,,,,在十五分钟周期时运算量很大,,,
在五分钟周期运算时计算机几乎停止响应}
{包含有动态跟踪光标及画面可见性函数,循环运算量巨大.耗用大量处理器资源,在30分钟周期以下运行时,计算机对用户的响应明显停滞,
甚至造成假死.因此如果您经常使用30分钟周期以下看盘,或者您不需要此菜鸟提示,强烈推荐屏蔽此代码段}
//请选择是否关闭提示:
是否关闭提士:='否';{如需关闭提示,请填"是"}
IF (STRCMP(是否关闭提士,'是')=0)=0 and 当前数据周期类型低三十分钟=0 THEN
BEGIN
主图可见光标最初位置:=SYSPARAM(2);//时间坐标
主图可见光标最后位置:=SYSPARAM(3);//时间坐标
当前可见周期数:=主图可见光标最后位置-主图可见光标最初位置;
运算周期:=IF(当前数据周期类型超日线=1,30,IF(当前数据周期类型低六十分钟=1,200,128));
IF (当前数据周期类型超日线 AND 当前可见周期数<=运算周期) OR (当前数据周期类型低六十分钟 AND 当前可见周期数<=运算周期) THEN
BEGIN
主图可见光标最高位置:=SYSPARAM(4);//纵坐标
主图可见光标最低位置:=SYSPARAM(5);//纵坐标
当前可见价差:=主图可见光标最高位置-主图可见光标最低位置;
当前可见价幅:=当前可见价差/主图可见光标最低位置*100;
价幅周期价幅小:=当前可见价幅<46;{可根据您的需要,更改此项参数}
更改K线显示提示:='◆◆◆当前画面股价变动可见性较差◆◆◆\n \n 您可以: \n \n 右键单击 纵坐标栏 点选 [仅随K线变动] 选项\n \n \n (如 不需要此提醒 请将源码中"{提示更改画面可见性}中的"是否关闭提士:="否"改为"是")';
DRAWTEXTEX(价幅周期价幅小,1,167,212,更改K线显示提示),colorADDEFF;
END;
END;
}
{/画面可见性较差时,提示更改画面可见性}