大智慧正版超赢指标源码全解密
发现有几个是以前没有见过的
大智慧超赢模型是在Topview数据基础上,加入Level2大单分析而建立的,
大部分指标用了未公开的Topview函数,注意普通机构版以下用户是无法在自己编写的公式中使用这些函数的。
下面是大智慧超赢指标源码:
C/C++ Code复制内容到剪贴板
- {SVSH - 散户线模型}
- input:p1(7);
- variable:散户帐号数=0;
- 参数:=min(1-(h-c)/c,1-(c-l)/c,1-(h-l)/c);
- TOP散户:=TOPVIEW(1360)+TOPVIEW(1361);
- T1:=topview(1430);
- T2:=topview(1431);
- T3:=topview(1432);
- T4:=topview(1433);
- s1:=(t1-ref(t1,1));
- s7:=(t1-ref(t1,p1));
- bb:=if(order(1)-order(2)>=0,pow(abs((order(1)-order(2))*参数),0.8),0-pow(abs((order(1)-order(2))*参数),0.8));;
- aa:=INTPART(max(min(散户帐号数+bb,capital/8),capital/2000));
- 散户帐号数:if(TOPVIEW(1400,0,1)<>0,TOP散户,aa),PRECIS0,linethick2;
- drawmovetext(s7>0,numtostr(p1)+'日内散户增仓占'+numtostr(s7)+'%'),colorgreen;
- drawmovetext(s7<0,numtostr(p1)+'日内散户减仓占'+numtostr(abs(s7))+'%'),colorred;
- drawflagtext(s1>1,散户帐号数,'散户当日增仓占流通盘的'+NUMTOSTR(s1)+'%'),colorgreen;
- drawflagtext(s1<-1,散户帐号数,'散户当日减仓占流通盘的'+NUMTOSTR(abs(s1))+'%'),colorred;
- DRAWGBK((topview(1400,0,10)-ref(topview(1400,0,10),1))<>0 and STRCMP(STKLABEL,'000001')<>0 and capital<>0),COLOR484848;
- drawmovetext((topview(1400,0,10)-ref(topview(1400,0,10),1))>0,'流通A股增加了'+NUMTOSTR((topview(1400,0,10)-ref(topview(1400,0,10),1))/10000)+'万股'),coloryellow;
- drawmovetext((topview(1400,0,10)-ref(topview(1400,0,10),1))<0,'流通A股减少了'+NUMTOSTR((ref(topview(1400,0,10),1)-topview(1400,0,10))/10000)+'万股'),coloryellow;
C/C++ Code复制内容到剪贴板
- {SVZJ - 资金流向决策分析}
- T1:=topview(1430);
- T2:=topview(1431);
- T3:=topview(1432);
- T4:=topview(1433);
- 散户:=(T1-REF(T1,1))*capital/10000*(c/if(TYPE=0,255.5,1));
- 中户:=(T2-REF(T2,1))*capital/10000*(c/if(TYPE=0,255.5,1));
- 大户:=(T3-REF(T3,1))*capital/10000*(c/if(TYPE=0,255.5,1));
- 超大:=(T4-REF(T4,1))*capital/10000*(c/if(TYPE=0,255.5,1));
- 净额:=if(TYPE=0 and date<1090101,0,大户+超大);
- stickline(净额>0,0,净额,3,0),colorred;
- stickline(净额<0,0,净额,3,0),colorgreen;
- stickline(净额=0,0,净额,3,0),colorwhite;
- drawmovetext(1,'活跃资金进出'+numtostr(净额)+'万元');
- drawtextabs(0,0,'超赢资金流'),coloryellow;
C/C++ Code复制内容到剪贴板
- {SVZL - 主力持仓分析}
- input:p1(7);
- 主力持仓:topview(1436,0,200),LINETHICK2;
- bb1:=主力持仓-ref(主力持仓,1);
- STICKLINE(bb1<0.2 and bb1>=0,bb1+主力持仓,主力持仓,0.1,0),colorred;
- STICKLINE(bb1>=0.2 and bb1<1,bb1+主力持仓,主力持仓,1,0),colorred;
- STICKLINE(bb1>=1 and bb1<2,bb1+主力持仓,主力持仓,2,0),colorred;
- STICKLINE(bb1>=2,bb1+主力持仓,主力持仓,3,0),colorred;
- STICKLINE(bb1>-0.2 and bb1<0,主力持仓+bb1,主力持仓,0.1,0),COLORCYAN;
- STICKLINE(bb1<=-0.2 and bb1>-1,主力持仓+bb1,主力持仓,1,0),COLORCYAN;
- STICKLINE(bb1<=-1 and bb1>-2,主力持仓+bb1,主力持仓,2,0),COLORCYAN;
- STICKLINE(bb1<=-2,主力持仓+bb1,主力持仓,3,0),COLORCYAN;
- 多日净值:=主力持仓-ref(主力持仓,p1);
- drawmovetext(多日净值>0,NUMTOSTR(p1)+'日内买卖净占比'+NUMTOSTR(多日净值)+'%'),colorred;
- drawmovetext(多日净值<=0,NUMTOSTR(p1)+'日内买卖净占比'+NUMTOSTR(-多日净值)+'%'),colorgreen;
- drawflagtext(bb1>0.2,主力持仓+bb1,'当日主力净买入占流通盘的'+NUMTOSTR(intpart(bb1*100)/100)+'%'),colorred;
- drawflagtext(bb1<=-0.2,主力持仓+bb1,'当日主力净卖出占流通盘的'+NUMTOSTR(intpart(-bb1*100)/100)+'%'),colorgreen;
- DRAWGBK((topview(1400,0,10)-ref(topview(1400,0,10),1))<>0 and STRCMP(STKLABEL,'000001')<>0 and capital<>0),COLOR484848;
- drawmovetext((topview(1400,0,10)-ref(topview(1400,0,10),1))>0,'流通A股增加了'+NUMTOSTR((topview(1400,0,10)-ref(topview(1400,0,10),1))/10000)+'万股'),coloryellow;
- drawmovetext((topview(1400,0,10)-ref(topview(1400,0,10),1))<0,'流通A股减少了'+NUMTOSTR((ref(topview(1400,0,10),1)-topview(1400,0,10))/10000)+'万股'),coloryellow;
- drawtextabs(0,0,'超赢主力持仓'),coloryellow;
C/C++ Code复制内容到剪贴板
- {SVYY - 引用指标 }
- 原散户:TOPVIEW(1430,0,100);
- 原中户:TOPVIEW(1431,0,100);
- 原大户:TOPVIEW(1432,0,100);
- 原超大:TOPVIEW(1433,0,100);
- 昨日原散户:REF(原散户,1);
- 昨日原中户:REF(原中户,1);
- 昨日原大户:REF(原大户,1);
- 昨日原超大:REF(原超大,1);
C/C++ Code复制内容到剪贴板
- {SVSS - 超赢实时监控}
- T1:=topview(1430);
- T2:=topview(1431);
- T3:=topview(1432);
- T4:=topview(1433);
- 散户:(T1-REF(T1,1))*capital/10000*c,PRECIS1,colorstick;
- 中户:(T2-REF(T2,1))*capital/10000*c,PRECIS1,colorstick;
- 大户:(T3-REF(T3,1))*capital/10000*c,PRECIS1,colorstick;
- 超大:(T4-REF(T4,1))*capital/10000*c,PRECIS1,colorstick;
- drawtextrel(0,997,'净额(万元)');
- drawtextrel(0,998.5,'分类');
- drawtextrel(10,998,'#RULER10'),COLORYELLOW;
- drawtextrel(20,998,'#RULER10'),COLORYELLOW;
- drawtextrel(30,998,'#RULER10'),COLORYELLOW;
- drawtextrel(40,998,'#RULER10'),COLORYELLOW;
C/C++ Code复制内容到剪贴板
- {SVQS - 超赢盘中趋势}
- 昨天的超大:="SVYY.昨日原超大#day";
- 昨天的大户:="SVYY.昨日原大户#day";
- 昨天的中户:="SVYY.昨日原中户#day";
- 昨天的散户:="SVYY.昨日原散户#day";
- 当日超大1:=(ordervol(1,3)-ordervol(2,3))/capital*100;
- 当日大户1:=((ordervol(1,2)-ordervol(2,2))-(ordervol(1,3)-ordervol(2,3)))/capital*100;
- 当日中户1:=((ordervol(1,1)-ordervol(2,1))-(ordervol(1,2)-ordervol(2,2)))/capital*100;
- 当日散户1:=0-当日中户1-当日大户1-当日超大1;
- 当日散户:=sum(当日散户1,0);
- 当日中户:=sum(当日中户1,0);
- 当日大户:=sum(当日大户1,0);
- 当日超大:=sum(当日超大1,0);
- 最新超大:=昨天的超大+当日超大;
- 最新大户:=昨天的大户+当日大户;
- 最新中户:=昨天的中户+当日中户;
- 最新散户:=昨天的散户+当日散户;
- 回归后散户仓位:=1/(exp(50)/100*exp(-(50+(最新散户-50)/20))+0.01);
- 回归后中户仓位:=1/(exp(50)/100*exp(-(50+(最新中户-50)/20))+0.01);
- 回归后大户仓位:=1/(exp(50)/100*exp(-(50+(最新大户-50)/20))+0.01);
- 回归后超大仓位:=1/(exp(50)/100*exp(-(50+(最新超大-50)/20))+0.01);
- 归百:=100/(回归后散户仓位+回归后中户仓位+回归后大户仓位+回归后超大仓位);
- 超大:=回归后超大仓位*归百;
- 大户:=回归后大户仓位*归百;
- 中户:=回归后中户仓位*归百;
- 散户:=回归后散户仓位*归百;
- 盘中变化:大户+超大-ref(大户,1)-ref(超大,1),colorstICK,LINETHICK2;
- 超赢趋势:sum(盘中变化,0);
C/C++ Code复制内容到剪贴板
- {SVFL - 超赢分类统计}
- refline:0,25,50,75;
- T1:=topview(1430);
- T2:=topview(1431);
- T3:=topview(1432);
- T4:=topview(1433);
- 散户:percentbar(T1,REF(T1,1)),COLORGREEN;
- 中户:percentbar(T2,REF(T2,1)),COLORBLUE;
- 大户:percentbar(T3,REF(T3,1)),COLORCYAN;
- 超大:percentbar(T4,REF(T4,1)),COLORRED;
- drawtextrel(0,997,'比例%');
- drawtextrel(0,998.5,'分类');
- drawtextrel(10,997,numtostrn(T1,1)),COLORGREEN;
- drawtextrel(20,997,numtostrn(T2,1)),COLORBLUE;
- drawtextrel(30,997,numtostrn(T3,1)),COLORCYAN;
- drawtextrel(40,997,numtostrn(T4,1)),COLORRED;
- drawtextrel(10,998,'#RULER10'),COLORYELLOW;
- drawtextrel(20,998,'#RULER10'),COLORYELLOW;
- drawtextrel(30,998,'#RULER10'),COLORYELLOW;
- drawtextrel(40,998,'#RULER10'),COLORYELLOW;
C/C++ Code复制内容到剪贴板
- {每日大单}
- 每日大单:(bigorder(1)-bigorder(2))*vol/capital*100,color3d;
C/C++ Code复制内容到剪贴板
- {SUPL - 主力资金线}
- variable:eye=0;
- eye:=(BIGORDER(1)-BIGORDER(2))*vol/capital*100;
- eyes:=sum(eye,0);
- gold:=eyes+50;
- 主力资金:gold,color0093f5;
- STICKLINE(eye>0 and eye<0.5,gold,gold+eye,0.5,0),colorred;
- STICKLINE(eye>=0.5 and eye<1,gold,gold+eye,2,0),colorred;
- STICKLINE(eye>=1 and eye<2,gold,gold+eye,3,0),colorred;
- STICKLINE(eye>=2,gold,gold+eye,4,0),colorred;
- STICKLINE(eye>-0.5 and eye<=0,gold+eye,gold,0.5,0),COLORCYAN;
- STICKLINE(eye<=-0.5 and eye>-1,gold+eye,gold,2,0),COLORCYAN;
- STICKLINE(eye<=-1 and eye>-2,gold+eye,gold,3,0),COLORCYAN;
- STICKLINE(eye<=-2,gold+eye,gold,4,0),COLORCYAN;
- drawflagtext(eye>=0.3,gold+eye,'当日主力净买入力度'+NUMTOSTR(intpart(eye*100)/100)+'%'),colorred;
- drawflagtext(eye<=-0.3,gold+eye,'当日主力净卖出力度'+NUMTOSTR(intpart(eye*100)/100)+'%'),colorgreen;
C/C++ Code复制内容到剪贴板
- {TRT - 顺势交易}
- variable:p1=0;
- c1:=INTPART(cyc(5)*100*0.96)/100;
- p2:=intpart(ref(cyc(5),1)*100)/100;
- p3:=intpart(ref(cyc(5),1)*0.96*100)/100;
- vv:=intpart(min(capital*0.05,ref(ma(vol,34),1))/100);
- p40:=intpart(maxcyc*100)/100;
- p41:=intpart(ref(MAXCYC,1)*100)/100;
- p4:=p1=0 and c>p2 or (ref(vol/100,1)<vv and c>intpart(p2*0.98*100)/100 and vol>min(capital*0.05,ref(ma(vol,34),1)));
- p5:=p1=1 and c<min(p3,p41);
- p1:=if(p4=1,1,if(p5=1,0,ref(p1,1)));
- STICKLINE(p1=1 and c<o,c,o,8,1),color5454ff,layer0;
- STICKLINE(p1=1 and c<o,c,o,6,0),colorffff54;
- STICKLINE(p1=1 and c<o,c,l,0.5,0),color5454ff;
- STICKLINE(p1=1 and c<o,h,o,0.5,0),color5454ff;
- STICKLINE(p1=0 and c>o,c,o,8,1),colorffff54;
- STICKLINE(p1=0 and c>o,c,h,0.5,0),colorffff54;
- STICKLINE(p1=0 and c>o,l,o,0.5,0),colorffff54;
- DRAWTEXT(cross(p1,0),l*0.9,'B'),coloryellow,LINETHICK3;
- DRAWTEXT(cross(1,p1),h*1.05,'S'),COLORgreen,LINETHICK3;
- DRAWFLAGTEXT(p1=0 and (p2*0.98-c)/c>0.1,c,'持币');
- DRAWFLAGTEXT(p1=0 and (p2*0.98-c)/c<=0.1 and ref(vol/100,1)<vv,c,'明日收盘价超过'+str(p2)+';或收盘价超过'+str(intpart(p2*0.98*100)/100)+'且成交量大于'+str(vv)+'买入');
- DRAWFLAGTEXT(p1=0 and (p2*0.98-c)/c<=0.1 and ref(vol/100,1)>=vv,c,'明日收盘价超过'+str(p2)+'买入');
- DRAWFLAGTEXT(p1=1 and (c-min(c1,p40))/min(c1,p40)>0.1 ,c,'持股');
- DRAWFLAGTEXT(p1=1 and (c-min(c1,p40))/min(c1,p40)<=0.1 ,c,'明日收盘价跌破'+str(min(c1,p40))+'卖出');;
C/C++ Code复制内容到剪贴板
- {SVPH - 分类排行}
- 散户:=topview(1430);
- 中户:=topview(1431);
- 大户:=topview(1432);
- 超大:=topview(1433);
- P1日前散户:=REF(散户,P1);
- 散户持仓:percentbar(散户,P1日前散户);
- P2日前中户:=REF(中户,P2);
- 中户持仓:percentbar(中户,P2日前中户);
- P3日前大户:=REF(大户,P3);
- 大户持仓:percentbar(大户,P3日前大户);
- P4日前超大:=REF(超大,P4);
- 超大持仓:percentbar(超大,P4日前超大);
- 散户增减:散户-P1日前散户;
- 中户增减:中户-P2日前中户;
- 大户增减:大户-P3日前大户;
- 超大增减:超大-P4日前超大;
- 活跃资金增减:大户+超大-ref(大户,1)-ref(超大,1);
C/C++ Code复制内容到剪贴板
- {超赢买入 - 选股公式}
- DDX:=(BIGORDER(1)-BIGORDER(2))*vol/capital*100;
- DDX>0.1 and DYNAINFO(14)<=0.05;
C/C++ Code复制内容到剪贴板
- {超赢潜力 - 选股公式}
- DDX:=(BIGORDER(1)-BIGORDER(2))*vol/capital*100;
- count(DDX>0,10)=1 AND DYNAINFO(14)<=0.05 and ddx>0.06;
C/C++ Code复制内容到剪贴板
- {超赢强势 - 选股公式}
- DDX:=(BIGORDER(1)-BIGORDER(2))*vol/capital*100;
- REF(DDX,1)>0.1 AND COUNT(DDX>0,10)>=3 and ddx>0.15;
函数说明:
TOPVIEW(N,M,P),取得M期之前的第N号TOPVIEW数据,N取值请参考上表,M可以省略表示0,
P的个位表示数据处理方式,0表示当日没有TOP数据就使用前一天的数据,1表示截止日之后数据
为0,2表示非数据当日数值为0;
对于板块指数,P的十位表示统计方法,0表示平均,10表示总和,20表示流通盘加权平均,
30表示总股本加权平均,40表示最大值,50表示最小值。P可以省略表示为0.
例如:TOPVIEW(100)表示第100号TOPVIEW数据,TOPVIEW(102,1)表示上一期第102号TOPVIEW数据。