自制财务副图(完善版)

[复制链接]
查看11 | 回复0 | 2022-7-11 11:19:43 | 显示全部楼层 |阅读模式
完善了l、上市晚的数据引用可能出错的问题2、提前公布季报可能出错的问题,增加了停牌提示。
提示:l、需要有专业财务函数的通达信版本才可以使用。
2、需要下载专业财务数据。
3、本指标提供了季报期、季报、上年年报、同期季报、前年年报等准确基础数据引用,动手能力强需要选股的朋友请自行编写选股公式 。
4、其它的股票软件比如大智慧,因为软件自带函数跟通达信不同,本指标编写完全不同,恕不能一一改写,抱歉 。 安装:
l、新建公式VOL2,在第一行写入 CURRBARSCOUNT,LINETHICK0; 此数据供判断停复牌引用。 2、新建财务公式,写入以下代码:
0,POINTDOT;
季报期3:=IF((MONTH*100+DAY>=101) AND (MONTH*100+DAY<401) ,4,IF((MONTH*100+DAY<701) AND (MONTH*100+DAY>331) ,1,IF((MONTH*100+DAY<1001) AND (MONTH*100+DAY>630),2,3)));
季报期:IF(REF(FINVALUE(1),1)=FINVALUE(1),季报期3,IF(IF(MONTH*100+DAY=1231 OR MONTH*100+DAY=930 OR MONTH*100+DAY=630 OR MONTH*100+DAY=331,季报期3+1,季报期3)>4,1,IF(MONTH*100+DAY=1231 OR MONTH*100+DAY=930 OR MONTH*100+DAY=630 OR MONTH*100+DAY=331,季报期3+1,季报期3))),LINETHICK0;
季报期2:=IF(REF(季报期,1)=季报期,0,季报期); S:=BARSLASTCOUNT(REF(FINVALUE(1),1)=FINVALUE(1))+1;
S2:=IF(S=1,REF(S,1),0);
S3:=SUMBARS(S2>0,5)+1; SN1:=IF(季报期=1,BARSLAST(季报期2=1),0);
SN2:=IF(季报期=2,BARSLAST(季报期2=2),0);
SN3:=IF(季报期=3,BARSLAST(季报期2=3),0);
SN4:=IF(季报期=4,BARSLAST(季报期2=4),0);
SN11:=IF(SN1>0,0,REF(SN1,1));
SNN1:=SUMBARS(SN11>0,1)+SN11+9;
SN12:=IF(SN2>0,0,REF(SN2,1));
SNN2:=SUMBARS(SN12>0,1)+SN12+9;
SN13:=IF(SN3>0,0,REF(SN3,1));
SNN3:=SUMBARS(SN13>0,1)+SN13+9;
SN14:=IF(SN4>0,0,REF(SN4,1));
SNN4:=SUMBARS(SN14>0,1)+SN14+9;
季报:FINVALUE(1),LINETHICK0;
同期季报:IF(SNN1<S3 AND 季报期=1,REF(季报,SNN1),IF(SNN2<S3 AND 季报期=2,REF(季报,SNN2),IF(SNN3<S3 AND 季报期=3,REF(季报,SNN3),IF(SNN4<S3 AND 季报期=4,REF(季报,SNN4),0)))),LINETHICK0;
DRAWTEXT(FILTER(同期季报=0,30),0,'缺'); SN:=BARSLAST(季报期2=4);
QN:=BARSLAST(SN=0)+REF(SN,BARSLAST(SN=0)+1);
QN1:=BARSLAST(SN=0)+REF(QN,BARSLAST(SN=0)+1);
上年年报:IF(季报期=4,REF(季报,QN),REF(季报,SN)),LINETHICK0;
前年年报:=IF(季报期=4,REF(季报,QN1),REF(季报,QN)),LINETHICK0;
季报营业收入:=FINVALUE(74);
同期营业收入:=IF(SNN1<S3 AND 季报期=1,REF(季报营业收入,SNN1),IF(SNN2<S3 AND 季报期=2,REF(季报营业收入,SNN2),IF(SNN3<S3 AND 季报期=3,REF(季报营业收入,SNN3),IF(SNN4<S3 AND 季报期=4,REF(季报营业收入,SNN4),0))));
季报营业利润:=FINVALUE(86);
同期营业利润:=IF(SNN1<S3 AND 季报期=1,REF(季报营业利润,SNN1),IF(SNN2<S3 AND 季报期=2,REF(季报营业利润,SNN2),IF(SNN3<S3 AND 季报期=3,REF(季报营业利润,SNN3),IF(SNN4<S3 AND 季报期=4,REF(季报营业利润,SNN4),0))));
季报利润总额:=FINVALUE(92);
同期利润总额:=IF(SNN1<S3 AND 季报期=1,REF(季报利润总额,SNN1),IF(SNN2<S3 AND 季报期=2,REF(季报利润总额,SNN2),IF(SNN3<S3 AND 季报期=3,REF(季报利润总额,SNN3),IF(SNN4<S3 AND 季报期=4,REF(季报利润总额,SNN4),0))));
季报净利润:=FINVALUE(95);
同期净利润:=IF(SNN1<S3 AND 季报期=1,REF(季报净利润,SNN1),IF(SNN2<S3 AND 季报期=2,REF(季报净利润,SNN2),IF(SNN3<S3 AND 季报期=3,REF(季报净利润,SNN3),IF(SNN4<S3 AND 季报期=4,REF(季报净利润,SNN4),0))));
季报增长率:IF(季报>=0 AND 同期季报>0,(季报-同期季报)/同期季报*100,IF(同期季报<0 AND 季报>0,100,IF(同期季报>0 AND 季报<0,-100,IF(同期季报=0,0,-100)))),LINETHICK2; 上年增长率:=IF(前年年报>0 AND 上年年报>0,(上年年报-前年年报)/前年年报*100,IF(前年年报<0 AND 上年年报>0,100,IF(前年年报>0 AND 上年年报<0,-100,IF(前年年报=0,0,-100))));
营业收入比:=IF(季报营业收入>0 AND 同期营业收入>0 AND 季报营业收入/同期营业收入>1.2,3,IF(季报营业收入>0 AND 同期营业收入>0 AND 季报营业收入/同期营业收入<1.2,0,IF(季报营业收入>0 AND 同期营业收入<0,2,IF(季报营业收入<0,0,0)))); 营业利润比:=IF(季报营业利润>0 AND 同期营业利润>0 AND 季报营业利润/同期营业利润>1.2,3,IF(季报营业利润>0 AND 同期营业利润>0 AND 季报营业利润/同期营业利润<1.2,0,IF(季报营业利润>0 AND 同期营业利润<0,2,IF(季报营业利润<0,0,0)))); 利润总额比:=IF(季报利润总额>0 AND 同期利润总额>0 AND 季报利润总额/同期利润总额>1.2,3,IF(季报利润总额>0 AND 同期利润总额>0 AND 季报利润总额/同期利润总额<1.2,0,IF(季报利润总额>0 AND 同期利润总额<0,2,IF(季报利润总额<0,0,0)))); 净利润比:=IF(季报净利润>0 AND 同期净利润>0 AND 季报净利润/同期净利润>1.2,3,IF(季报净利润>0 AND 同期净利润>0 AND 季报净利润/同期净利润<1.2,0,IF(季报净利润>0 AND 同期净利润<0,2,IF(季报净利润<0,0,0)))); 总分:营业收入比+营业利润比+利润总额比+净利润比,LINETHICK0; DPR:=CALCSTOCKINDEX('999999','VOL2',1); JYRS1:=REF(DPR,1)-DPR-1;
TODAY:=ISLASTBAR AND V=0;
JYRS:=IF(TODAY,JYRS1+1,JYRS1);
FP:=JYRS>0;
FPB:=BARSLAST(FP);
DRAWTEXT(FP=1 AND V>0,IF(REF(季报增长率,6)=0,REF(季报,6),REF(季报增长率,6))/4,VARCAT(VARCAT('停',VAR2STR(JYRS,0)),'天复牌')),COLORYELLOW;
DRAWTEXT(FP=1 AND V=0,IF(REF(季报增长率,6)=0,REF(季报,6),REF(季报增长率,6))/3,VARCAT(VARCAT('已停',VAR2STR(JYRS,0)),'天')),COLORYELLOW;
公式打包上传供下载,导入这两个公式即可:
 

20161262025286567.png

20161262025286567.png


20161262025973383.png

20161262025973383.png


201612620251553850.png

201612620251553850.png

20161262026658162.rar

6.32 KB, 下载次数: 0

售价: 1 金钱  [记录]  [购买]

20161262026658162.rar

回复

使用道具 举报

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

本版积分规则