ARTICLE · 1073444
基本面加筹码,双引擎选股源码

{QS 双引擎选股:基本面打分 + 筹码动能评分,最后只输出一条选股条件}
{基本面七个原始字段:QS_NPGROWTH、QS_REVGROWTH、QS_DEBTASSET、QS_ROE、QS_DIVYIELD、QS_CASHPS、QS_GROSSMARGIN}
QS_NPGROWTH:=FINANCE(43);
QS_REVGROWTH:=FINANCE(44);
QS_DEBTASSET:=FINANCE(9);
QS_ROE:=FINANCE(29)/FINANCE(19)*100;
QS_DIVYIELD:=FINANCE(45);
QS_CASHPS:=FINANCE(25)/FINANCE(1);
QS_GROSSMARGIN:=FINANCE(28)/FINANCE(20)*100;
{QS_NPGROWTH 与 QS_REVGROWTH 各四档,QS_DEBTASSET 四档,QS_DIVYIELD 五档,都是区间给分}
QS_NPS0:=IF(QS_NPGROWTH<=0 ,-10,0);
QS_NPS1:=IF(QS_NPGROWTH>=0 AND QS_NPGROWTH<=20,10,0);
QS_NPS2:=IF(QS_NPGROWTH>20 AND QS_NPGROWTH<=50,20,0);
QS_NPS3:=IF(QS_NPGROWTH>50 ,30,0);
QS_REVS0:=IF(QS_REVGROWTH<=0 ,-10,0);
QS_REVS1:=IF(QS_REVGROWTH>=0 AND QS_REVGROWTH<=20,10,0);
QS_REVS2:=IF(QS_REVGROWTH>20 AND QS_REVGROWTH<=50,20,0);
QS_REVS3:=IF(QS_REVGROWTH>50 ,30,0);
QS_DEBTS0:=IF(QS_DEBTASSET<=0 ,20,0);
QS_DEBTS1:=IF(QS_DEBTASSET>=0 AND QS_DEBTASSET<=50,10,0);
QS_DEBTS2:=IF(QS_DEBTASSET>50 AND QS_DEBTASSET<=75,0,0);
QS_DEBTS3:=IF(QS_DEBTASSET>75 AND FINANCE(45)<0,-10,0);
QS_DIVS0:=IF(QS_DIVYIELD<=0 ,-10,0);
QS_DIVS1:=IF(QS_DIVYIELD>0 AND QS_DIVYIELD<=2 ,10,0);
QS_DIVS2:=IF(QS_DIVYIELD>2 AND QS_DIVYIELD<=4 ,20,0);
QS_DIVS3:=IF(QS_DIVYIELD>4 AND QS_DIVYIELD<=6 ,30,0);
QS_DIVS4:=IF(QS_DIVYIELD>6 ,30,0);
{补充档位:QS_ROE 四档、QS_CASHPS 两档、QS_GROSSMARGIN 五档}
QS_ROES0:=IF(QS_ROE<=0 ,-10,0);
QS_ROES1:=IF(QS_ROE>=0 AND QS_ROE<=5,10,0);
QS_ROES2:=IF(QS_ROE>5 AND QS_ROE<=8,20,0);
QS_ROES3:=IF(QS_ROE>8 ,30,0);
QS_CPSS0:=IF(QS_CASHPS<=0 ,-10,0);
QS_CPSS1:=IF(QS_CASHPS>=0 ,10,0);
QS_GMS0:=IF(QS_GROSSMARGIN<=0 ,-10,0);
QS_GMS1:=IF(QS_GROSSMARGIN>=0 AND QS_GROSSMARGIN<=10 ,5,0);
QS_GMS2:=IF(QS_GROSSMARGIN>10 AND QS_GROSSMARGIN<=20 ,10,0);
QS_GMS3:=IF(QS_GROSSMARGIN>20 AND QS_GROSSMARGIN<=30 ,15,0);
QS_GMS4:=IF(QS_GROSSMARGIN>30 ,20,0);
{QS_VALSCORE = 上面全部档位相加,超过 100 的按 100 计}
QS_VALBASE:=QS_NPS0+QS_NPS1+QS_NPS2+QS_NPS3+QS_REVS0+QS_REVS1+QS_REVS2+QS_REVS3+QS_DEBTS0+QS_DEBTS1+QS_DEBTS2+QS_DEBTS3;
QS_VALSUM:=QS_VALBASE+QS_ROES0+QS_ROES1+QS_ROES2+QS_ROES3+QS_CPSS0+QS_CPSS1+QS_GMS0+QS_GMS1+QS_GMS2+QS_GMS3+QS_GMS4+QS_DIVS0+QS_DIVS1+QS_DIVS2+QS_DIVS3+QS_DIVS4;
QS_VALSCORE:=IF(QS_VALSUM<100,QS_VALSUM,100);
QS_MKTCAPOK:=FINANCE(7)*C<=30000000000;
QS_NOTSTAR:=NOT(CODELIKE('688'));
{自设评分系统}
{筹码获利盘按 30/20/10/5/3 日分别加权 0.1/0.4/0.3/0.1/0.1 汇总}
QS_CHIPW1:=SUM((WINNER(C)*100),30)/30 * 0.1;
QS_CHIPW2:=SUM((WINNER(C)*100),20)/20 * 0.4;
QS_CHIPW3:=SUM((WINNER(C)*100),10)/10 * 0.3;
QS_CHIPW4:=SUM((WINNER(C)*100),5)/5 * 0.1;
QS_CHIPW5:=SUM((WINNER(C)*100),3)/3 * 0.1;
QS_CHIPSUM:=QS_CHIPW1+QS_CHIPW2+QS_CHIPW3+QS_CHIPW4+QS_CHIPW5;
QS_EARNPOWER:=IF(QS_CHIPSUM>38,QS_CHIPSUM,QS_CHIPSUM*1.3);
QS_ACTIVITY:=IF(SUMBARS(VOL,CAPITAL)<100,100-SUMBARS(VOL,CAPITAL),1);
QS_DEBTASSET2:=FINANCE(9);
QS_FREECAP:=FINANCE(40)/100000000;
QS_NPGROWTH2:=FINANCE(43);
QS_REVGROWTH2:=FINANCE(44);
{不要改动代码,否则引起变动.金指标研习社:WWW.LOGIC88.CN}
{QS_ACTIVITY、20 日内涨停次数与五档分值合并成自设评分,同样封顶 100}
QS_LIMITUP:=C=ZTPRICE(REF(C,1),0.1);
QS_FSCORE1:=IF(QS_DEBTASSET2<45,20,0);
QS_FSCORE11:=IF(100>QS_DEBTASSET2>=45,13,1);
QS_FSCORE2:=IF(QS_NPGROWTH2>0,15,0);
QS_FSCORE22:=IF(-10<QS_NPGROWTH2<=0,7,4);
QS_FSCORE3:=IF(QS_REVGROWTH2>=0,15,0);
QS_FSCORE33:=IF(-10<QS_REVGROWTH2<0,7,4);
QS_FSCORE4:=IF(QS_EARNPOWER>50,15,12);
QS_FSCORE5:=IF(QS_ACTIVITY>50,15,12);
QS_FSCORE6:=IF(COUNT(QS_LIMITUP,20)>=1,10,7);
QS_FSCORETOT:=QS_FSCORE1+QS_FSCORE2+QS_FSCORE3+QS_FSCORE4+QS_FSCORE5+QS_FSCORE6+QS_FSCORE11+QS_FSCORE22+QS_FSCORE33;
QS_FINALSCORE:=IF(QS_FSCORETOT<100,QS_FSCORETOT,100);
QS_PE:=DYNAINFO(39);
QS_PICK:QS_VALSCORE>95 AND QS_FINALSCORE>75 AND FINANCE(38)>0 AND QS_DIVYIELD>3;
{配套公式:小阳筑底选股(五连小阳 + 十日放量共振)}
QS_CONTUP:=EVERY(CLOSE>OPEN,5) AND EVERY(CLOSE/REF(CLOSE,1)<1.06,5);
QS_BIGVOL:=100*SUM(VOL,10)/CAPITAL>=15 AND MA(VOL,10)/REF(MA(VOL,10),10)>2;
小阳建仓:QS_CONTUP AND QS_BIGVOL;
