通达信【竞价黄金甲】指标体系包含“竞价黄金甲”、“黄金甲1号”和“黄金甲2号”,是专门用于排序的指标,与选股指标和主副图指标不同。该指标旨在通过对集合竞价数据的分析和处理,为投资者提供一种在集合竞价阶段对股票进行排序的工具,帮助投资者在众多股票中快速筛选出具有潜在投资价值的标的
指标类型 副图指标 适用软件 通达信
适用周期 日线 / 60分钟 未来函数 含未来函数
加密状态 源码未加密,可修改 源码行数 231
公式套数 1 套 包含 竞价黄金甲副图排序(231行)
一、指标效果截图




二、公式源码
以下源码未加密,复制 → 打开通达信 → Ctrl+F 调出公式管理器 → 新建 → 粘贴 → 测试公式 → 保存即可调用。多套公式请分别新建,名称不要重名。
1. 竞价黄金甲副图排序(副图 · 231 行)
开盘%:(OPEN-REF(CLOSE,1))/REF(CLOSE,1)*100;
实涨幅%:(CLOSE-OPEN)/OPEN*100;
CTB3:=CLOSE>REF(CLOSE,1)*1.097;
连板数:BARSLASTCOUNT(CTB3);
竞价量:=DYNAINFO(15)/O/100;
涨幅:=(DYNAINFO(4)/DYNAINFO(3)-1)*100;
LTP:=IF(CAPITAL<100000,100000,CAPITAL);
竞价量比:=竞价量/REF(MA(V,5),1)*240;
数据6:=DAY!=REF(DAY,1);
数据7:=BARSLAST(数据6)+1;
数据8:=VOL*(CLOSE+LOW+HIGH)/3;
数据9:=SUM(数据8,数据7)/SUM(VOL,数据7);
数据10:=IF(数据6<=CONST(数据7),数据9,DRAWNULL);
数据11:=EMA(INDEXC,120)/EMA(CLOSE,120);
数据14:=(EMA(CLOSE,12)/EMA(CLOSE,26)-1)*1000;
数据15:=(EMA(INDEXC,12)/EMA(INDEXC,26)-1)*1000;
数据16:=EMA(数据14,5);
数据17:=EMA(数据15,5);
数据18:=数据16-REF(数据16,1);
数据19:=数据17-REF(数据17,1);
数据20:=IF(数据18-数据19>0,(数据18-数据19)*5,0);
数据21:=数据20-REF(数据20,1);
数据22:=MA(CLOSE,20);
数据23:=BARSLASTCOUNT(CLOSE<数据22);
数据24:=BACKSET((数据23>=4)*数据23,数据23);
数据25:=BARSLASTCOUNT(CLOSE>数据22);
数据26:=BACKSET((数据25>=4)*数据25,数据25);
数据27:=BARSLASTCOUNT(NOT(数据24 OR 数据26));
数据28:=BARSLASTCOUNT(REF(数据24>0,数据27));
数据29:=BARSLASTCOUNT(REF(数据26>0,数据27));
数据30:=FILTERX(LLV(LOW,数据28)=LOW,数据28);
数据31:=FILTERX(HHV(HIGH,数据29)=HIGH,数据29);
数据32:=REF(HIGH,BARSLAST(数据31));
数据33:=REF(LOW,BARSLAST(数据30));
数据34:=BARSLAST(数据28=1);
数据35:=REF(数据32,BARSLAST(数据28));
数据36:=REF(数据33,数据34);
数据37:=数据35+(数据35-数据36)*0.191;
数据38:=REFDATE(数据37,DATE);
数据39:=CURRBARSCOUNT<=60 AND CROSS(CLOSE,数据38);
数据40:=REF(HIGH,7)=HHV(HIGH,2*7+1);
数据41:=BACKSET(数据40,7+1);
数据42:=FILTER(数据41,7) AND HIGH=HHV(HIGH,7+1);
数据43:=BARSLAST(数据42);
数据44:=IF(数据42,CURRBARSCOUNT,0);
数据45:=IF(数据43,REF(HIGH,数据43),HIGH);
数据46:=IF(数据43,REF(数据44,数据43),数据44);
数据47:=REF(数据45,数据43+1);
数据48:=CONST(数据46);
数据49:=REF(数据46,数据43+1);
数据50:=CONST(数据49);
数据51:=REF(数据47,数据43+1);
数据52:=IF(CURRBARSCOUNT>数据50,0,1);
数据53:=DRAWLINE(CURRBARSCOUNT=数据50,HIGH,CURRBARSCOUNT=数据48,HIGH,1);
数据54:=IF(数据53>REF(数据53,1),DRAWNULL,数据53);
数据55:=REF(LOW,7)=LLV(LOW,16);
数据56:=BACKSET(数据55,8);
数据57:=FILTER(数据56,7) AND LOW=LLV(LOW,8);
数据58:=BARSLAST(数据57);
数据59:=IF(数据57,CURRBARSCOUNT,0);
数据60:=IF(数据58,REF(LOW,数据58),LOW);
数据61:=IF(数据58,REF(数据59,数据58),数据59);
数据62:=CONST(数据61);
数据63:=REF(数据60,数据58+1);
数据64:=REF(数据61,数据58+1);
数据65:=CONST(数据64);
数据66:=DRAWLINE(CURRBARSCOUNT=数据65,LOW,CURRBARSCOUNT=数据62,LOW,1);
数据67:=IF(数据66<REF(数据66,1),DRAWNULL,数据66);
数据68:=BACKSET(BARSTATUS=2,BARSLAST(数据42)+1);
数据69:=数据68>REF(数据68,1);
数据70:=BACKSET(BARSTATUS=2,BARSLAST(数据57)+1);
数据71:=数据70>REF(数据70,1);
数据72:=BACKSET(数据69,REF(BARSLAST(数据42),1)+2);
数据73:=数据72>REF(数据72,1);
数据74:=BACKSET(数据71,REF(BARSLAST(数据57),1)+2);
数据75:=数据74>REF(数据74,1);
数据76:=BARSLAST(数据71)+1;
数据77:=BARSLAST(数据75)+1;
数据78:=IF(数据76=DRAWNULL AND 数据77>0 AND 数据42,HIGH,DRAWNULL);
数据79:=BARSLAST(数据69)+1;
数据80:=BARSLAST(数据73)+1;
数据81:=IF(数据79=DRAWNULL AND 数据80>0 AND 数据57,LOW,DRAWNULL);
数据82:=CONST(HHV(数据78-数据67,0));
数据83:=DRAWLINE(CURRBARSCOUNT=数据65,LOW+数据82,CURRBARSCOUNT=数据62,LOW+数据82,1);
数据87:=REF(HIGH,5)=HHV(HIGH,12);
数据88:=FILTER(数据87,5);
数据89:=BACKSET(数据88,6);
数据90:=FILTER(数据89,5);
数据91:=REF(HIGH,BARSLAST(数据90));
数据92:=REF(MAX(CLOSE,OPEN),5)=HHV(MAX(CLOSE,OPEN),12);
数据93:=FILTER(数据92,5);
数据94:=BACKSET(数据93,6);
数据95:=FILTER(数据94,5);
数据96:=REF(MAX(CLOSE,OPEN),BARSLAST(数据95));
数据97:=REF(LOW,5)=LLV(LOW,12);
数据98:=FILTER(数据97,5);
数据99:=BACKSET(数据98,5+1);
数据100:=FILTER(数据99,5);
数据101:=REF(LOW,BARSLAST(数据100));
数据102:=REF(MIN(CLOSE,OPEN),5)=LLV(MIN(CLOSE,OPEN),2*5+1);
数据103:=FILTER(数据102,5);
数据104:=BACKSET(数据103,5+1);
数据105:=FILTER(数据104,5);
数据106:=REF(MIN(CLOSE,OPEN),BARSLAST(数据105));
数据107:=IF(1=0,数据91,数据96);
数据108:=IF(1=0,数据101,数据106);
数据109:=数据107=REF(数据107,1) AND 5>0 AND CROSS(CLOSE,数据107);
数据110:=数据109 OR (REF(数据109,1) AND CLOSE>数据107 AND REF(CLOSE,1)/REF(CLOSE,2)<1.04 AND CLOSE>=OPEN);
数据111:=0.1;
数据112:=CLOSE>=ZTPRICE(REF(CLOSE,1),数据111) AND OPEN<HIGH;
数据113:=CLOSE>=ZTPRICE(REF(CLOSE,1),数据111) AND OPEN=HIGH;
数据114:=HIGH>=ZTPRICE(REF(CLOSE,1),数据111) AND CLOSE<HIGH;
数据115:=1+3*数据112+2*数据113+0.2*数据114;
数据116:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100;
数据117:=数据116*数据115;
数据118:=REF(数据113,1) AND NOT(数据113) AND NOT(REF(EVERY(数据113=1,9),1));
数据119:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
数据120:=IF(CLOSE>OPEN,数据119*(HIGH-LOW),IF(CLOSE<OPEN,数据119*(HIGH-OPEN+(CLOSE-LOW)),IF(CLOSE=OPEN AND CLOSE>REF(CLOSE,1),VOL*0.7,VOL*0.3)));
数据121:=IF(CLOSE>OPEN,数据119*(HIGH-CLOSE+(OPEN-LOW)),IF(CLOSE<OPEN,数据119*(HIGH-LOW),IF(CLOSE=OPEN AND CLOSE<REF(CLOSE,1),VOL*0.7,VOL*0.3)));
数据122:=SUM((数据120-数据121)/CAPITAL,1)*1000;
数据123:=VOL/10000;
数据124:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
数据125:=MOD(FROMOPEN,数据124);
数据126:=IF(数据125<0.5,数据124,数据125);
数据127:=IF(CURRBARSCOUNT=1 AND PERIOD<=5 AND DYNAINFO(8)>1,VOL*数据124/数据126/10000,DRAWNULL);
数据128:=IF(CURRBARSCOUNT=1 AND PERIOD<=5,数据127,数据123);
数据129:=数据128/REF(MA(数据128,5),1);
数据131:=DAY!=REF(DAY,1);
数据132:=BARSLAST(数据131)+1;
数据133:=VOL*(INDEXC+INDEXL+INDEXH)/3;
数据134:=VOL*(CLOSE+LOW+HIGH)/3;
数据135:=IF(SETCODE<=2 AND CLOSE<300,数据133,数据134);
数据136:=SUM(数据135,数据132)/SUM(VOL,数据132);
数据137:=IF(数据131<=CONST(数据132),数据136,DRAWNULL);
数据138:=REF(数据137,1);
数据139:=IF(SETCODE<=2 AND CLOSE<300,INDEXC>数据138,1);
DPTQ:=IF(数据139=1 AND INDEXC>=INDEXO,1,IF(数据139=0 AND INDEXC<=INDEXO,(-1),0)),NODRAW;
数据141:=EMA(100*(CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100)),13)/4;
数据142:=EMA(CLOSE,2)-EMA(CLOSE,89);
数据143:=EMA(数据142,30);
数据144:=2*(数据142-数据143)*10;
数据145:=POW(数据144,3)*0.1+POW(数据144,2);
数据146:=SMA((CLOSE-REF(CLOSE,1))*VOL,3,1)/10000;
数据147:=EMA(数据146,12)-EMA(数据146,26);
数据148:=EMA(数据147,9);
数据149:=(数据147-数据148)*2;
数据150:=IF(SETCODE<=2 AND CLOSE<300 AND 数据149>REF(数据149,1),数据149-REF(数据149,1),0);
数据151:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
数据152:=SMA(数据151,3,1);
数据153:=SMA(数据152,3,1);
数据155:=VOL>0;
数据156:=IF(NAMELIKE(1),0,1);
数据157:=IF(NAMELIKE(2),0,1);
数据158:=数据156 AND 数据157;
数据160:=FINANCE(40)<300.00*100000000 AND FINANCE(7)<=20.00*100000000;
数据161:=IF(CLOSE<500,数据160,1);
数据162:=IF(DPTQ!=(-1),1,IF(DPTQ=(-1) AND CLOSE>=ZTPRICE(REF(CLOSE,1),01) AND CLOSE=HIGH,1,0));
AA:=(EMA(CLOSE,12)/EMA(CLOSE,26)-1)*1000;
数值3:=EMA(AA,5);
BB:=(EMA(INDEXC,12)/EMA(INDEXC,26)-1)*1000;
数值4:=EMA(BB,5);
数值5:=数值3-REF(数值3,1);
数值6:=数值4-REF(数值4,1);
数值7:=IF(数值5-数值6>0,(数值5-数值6)*5,0);
数值8:=数值7-REF(数值7,1);
数值9:=SMA((CLOSE-REF(CLOSE,1))*VOL,3,1)/10000;
数值10:=1;
数值11:=EMA(数值9,12)-EMA(数值9,26);
数值12:=EMA(数值11,9);
数值13:=(数值11-数值12)*2;
数值14:=HHVBARS(数值13,BARSLAST(数值13<0)+1);
数值15:=CROSS(BACKSET(CROSS(0,数值13),REF(数值14,1)+2),0.5);
数值16:=DRAWLINE(数值15,数值13,REF(数值15,1),REF(数值13,1),1);
数值17:=数值13>数值16 AND 数值13>=REF(数值13,1);
数值18:=CLOSE>=ZTPRICE(REF(CLOSE,1),0.1) AND LOW=HIGH;
数值19:=BARSSINCE(CLOSE)<1 OR BARSSINCE(CLOSE)<34 AND CLOSE>=ZTPRICE(REF(CLOSE,1),0.1) AND LOW=HIGH;
数值20:=CLOSE>=ZTPRICE(REF(CLOSE,1),0.1) AND LOW<HIGH;
数值21:=HIGH>=ZTPRICE(REF(CLOSE,1),0.1) AND CLOSE<HIGH;
数值22:=1+3*数值20+1*数值18+0.2*数值21;
数值23:=(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100;
数值25:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
数值26:=IF(CLOSE>OPEN,数值25*(HIGH-LOW),IF(CLOSE<OPEN,数值25*(HIGH-OPEN+(CLOSE-LOW)),IF(CLOSE=OPEN AND CLOSE>REF(CLOSE,1),VOL*0.7,VOL*0.3)));
数值27:=IF(CLOSE>OPEN,数值25*(HIGH-CLOSE+(OPEN-LOW)),IF(CLOSE<OPEN,数值25*(HIGH-LOW),IF(CLOSE=OPEN AND CLOSE<REF(CLOSE,1),VOL*0.7,VOL*0.3)));
数值28:=IF(数值10!=1,0,SUM((数值26-数值27)/CAPITAL,1)*1000);
J1:=VOL/10000;
J2:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
J3:=MOD(FROMOPEN,J2);
J6:=IF(J3<0.5,J2,J3);
J4:=IF(CURRBARSCOUNT=1 AND PERIOD<=5 AND DYNAINFO(8)>1,VOL*J2/J6/10000,DRAWNULL);
J5:=IF(CURRBARSCOUNT=1 AND PERIOD<=5,J4,J1);
数值29:=J5/REF(MA(J5,5),1);
数值33:=EMA(100*(CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100)),13)/4*数值32;
数值34:=IF(C>0,EMA(MAX(C-REF(C,1),0),83)/EMA(ABS(C-REF(C,1)),83)*101,0);
数值35:=EMA(CLOSE,2)-EMA(CLOSE,89);
数值36:=EMA(数值35,30)*数值32;
数值37:=2*(数值35-数值36)*10*数值32;
数值38:=POW(数值37,3)*0.1+POW(数值37,2)*数值32;
数值39:=IF(数值37>0.015,数值38,0)/45*数值32;
数值40:=DMA(EMA(CLOSE,12),SUM(VOL,5)/3/CAPITAL);
数值41:=数值13-REF(数值13,1);
数值42:=DYNAINFO(4)>0;
数值43:=EXIST(ABS(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)>0.052,20) AND EXIST(CLOSE/REF(CLOSE,1)>1.15,2)!=1;
数值44:=FINANCE(40)<300*100000000 AND FINANCE(7)<=20*100000000;
数值45:=DAY!=REF(DAY,1);
数值46:=BARSLAST(数值45)+1;
数值47:=VOL*(INDEXC+INDEXL+INDEXH)/3;
数值48:=SUM(数值47,数值46)/SUM(VOL,数值46);
数值49:=IF(数值45<=CONST(数值46),数值48,DRAWNULL);
数值50:=REF(数值49,1);
数值51:=INDEXC>=数值50;
数值52:=IF(数值51=1 AND INDEXC>=INDEXO,1,IF(数值51=0 AND INDEXC<=INDEXO,(-1),0));
数值53:=IF(数值52!=(-1),1,IF(数值52=(-1) AND CLOSE>=ZTPRICE(REF(CLOSE,1),0.1) AND CLOSE=HIGH,1,0));
数值54:=数值43 AND 数值42 AND 数值19=0 AND AMOUNT/10000>1000;
数值55:=COUNT(HIGH/REF(CLOSE,1)>=1.081,5)>=2 AND CLOSE>=OPEN;
数值56:=INDEXADV/(INDEXADV+INDEXDEC);
数值58:=IF(数值57=1,数值56*100,0);
数值59:=数值58>85 OR REF(数值58,1)>85;
数值60:=IF(0=1,数值59,0);
数值61:=EMA(CLOSE,12)-EMA(CLOSE,26);
数值62:=EMA(数值61,9);
数值63:=BARSLAST(YEAR>REF(YEAR,1))+1;
数值64:=IF(数值63=DRAWNULL,BARSCOUNT(CLOSE)+1,数值63);
数值65:=(CLOSE/REF(CLOSE,数值64)-1)*100;
数值66:=BARSLASTCOUNT(数值61>数值62);
数值67:=(CLOSE/REF(CLOSE,数值66+1)-1)*100;
数值68:=数值34>53 AND CLOSE>=OPEN;
数值69:=(CLOSE-数值40)/数值40*200 ;
量比:DYNAINFO(15)/OPEN/(REF(SUM(VOL,5),1)/12);
昨量比:DYNAINFO(15)/OPEN/REF(VOL,1);
竞价金额W:IF(DATE<=1501207,DYNAINFO(15)/10000,0);
概念:DRAWTEXT(1,1,GNBLOCK),NODRAW;
三、安装与调用
通达信客户端按 Ctrl + F 打开「公式管理器」。
选中对应分组(技术指标公式 → 其他类型 / 条件选股公式),点「新建」。
公式名称填英文或拼音(不含空格、不超过 10 个字符),把源码粘进编辑区。
点「测试公式」,提示编译通过后「确定」保存。
K 线图界面输入公式名称调出;选股公式在「条件选股」里执行。
四、使用提醒
指标本质是把价格与成交量做数学加工,用来辅助判断趋势和买卖时机,不能预测未来。任何公式都有失效区间,请结合大盘环境、板块节奏与仓位管理使用。本文源码仅供学习研究,不构成投资建议。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
