‹ 返回

15220

15220 | 查看原文 ↗
🔧 核心通用·带A股选股过滤(核心可用 · 把'去ST/选板块/CODELIKE'那行删掉,美港马加都能跑)
周期:长线用途:只管进单(找买点/选股)(纯多·只做多)
📊 把公式 15220 实时算进主散博弈(纯技术函数;选股/筹码特殊函数会标注不支持) 
🧩 这个指标拆开看 = 哪些"积木"组合的
① 定方向(趋势)
均线类 MA/EMA — 一段时间的平均价,铺出趋势中枢、看多空排列
MACD — 快慢均线之差,测趋势动能、金叉死叉
DMA — 两条不同周期均线之差,测中线方向
② 验量能(量价)
成交量/额 VOL — 量在价先——放量证实突破、缩量过滤假信号
③ 抓买卖点(择时摆动)
KDJ 随机 — 收盘在近期高低区间的位置,抓超买超卖+金叉
CCI — 价偏离均值的强弱,±100 进出
④ 触发(信号扳机)
CROSS 交叉 — 两线金叉/死叉当买卖扳机
突破/计数/过滤 — 突破前高、信号计时与去重
搭条件的零件
HHV/LLV/REF 等 — 取区间最高最低、引用前N根——搭条件的零件
图上标注买卖点
画线/标注 — 在图上画柱、标买卖点、上色提示(只是显示,不是判断逻辑)
⚠️ A股专属(港股/美股/马股/加密都没有)
去ST/风险股 — 剔除A股ST风险股
组合思路:用均线/MACD 定方向,再用量能验证真假,再用摆动指标抓超买超卖,再用金叉/突破当买卖扳机。把几件事叠在一起同时成立,才算一个'信号'——叠得越多看着越细,但也越容易过度拟合。 ⚠️ 这条含 A股专属逻辑(涨停板/龙虎榜/代码板块)——只有大陆A股有这制度,港股、美股、马股、加密统统没有,这部分搬不过去。

指标公式

DRAWGBK(C>0, RGB(0,0,00),RGB(0,0,0),0,'W20',0);
DRAWKLINE(H,O,L,C);
QWX1:=HHV(CLOSE,30);
QWX2:=LLV(CLOSE,30);
QWX3:=CONST((QWX1+QWX2)/2);
QWX4:=ABS((2*CLOSE+HIGH+LOW)/4-MA(CLOSE,20))/MA(CLOSE,20);
QWX5:=CONST((1-7/100)*(DMA(CLOSE,QWX4)));
QWX6:=CONST((1+7/100)*(DMA(CLOSE,QWX4)));
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
KX:=SMA(RSV,3,1);
DX:=SMA(KX,3,1);
JX:=3*KX-2*DX;
DIF:=(EMA(CLOSE,12)-EMA(CLOSE,26))*2+QWX3,COLORWHITE;
DEA:=EMA(DIF,9),COLORYELLOW;
MACD:(DIF-DEA)*5+QWX3,COLORYELLOW,LINETHICK2;
DRAWBAND(MACD,RGB(120,0,100),QWX3,RGB(60,100,50));
DRAWKLINE(HIGH,OPEN,LOW,CLOSE);
ţ����:=(EMA(CLOSE,30)+EMA(CLOSE,72))/2,LINETHICK2,COLORRED;
M5:MA(CLOSE,5),COLORWHITE,DOTLINE;
IF(MA(C,5)>=REF(MA(C,5),1),MA(C,5),DRAWNULL),COLORYELLOW,LINETHICK3;
M10:MA(CLOSE,10),COLORYELLOW,DOTLINE;
IF(MA(C,10)>=REF(MA(C,10),1),MA(C,10),DRAWNULL),COLOR330099,LINETHICK2;
M20:MA(CLOSE,20),COLORFF00FF;
IF(MA(C,20)>=REF(MA(C,20),1),MA(C,20),DRAWNULL),COLORLIMAGENTA,LINETHICK2;
M60:MA(CLOSE,60),COLOR6699CC;
IF(MA(C,60)>=REF(MA(C,60),1),MA(C,60),DRAWNULL),CIRCLEDOT,LINETHICK2;
M120:MA(CLOSE,120),COLORLIBLUE,DOTLINE;
M250:MA(CLOSE,250),COLORMAGENTA,DOTLINE;
VAR1:=IF(CLOSE>OPEN,CLOSE,OPEN);
VAR2:=MEMA(CLOSE,5);
VAR3:=ATAN((VAR2/REF(VAR2,1)-1)*100);
VAR4:=IF(VAR3>0,VAR3,VAR3);
VAR5:=(CLOSE/REF(CLOSE,1)-1)*100;
VAR6:=VAR5<1.5 AND VAR5>-1.5;
����֮����:LAST(VAR6,4,1) AND VAR5>2 AND VOL>REF(VOL,1),NODRAW,COLORYELLOW;
DRAWTEXT(����֮����,L/1.01,'��'),COLORYELLOW;
ǿ��:IF(VAR4>=REF(VAR4,1) AND VAR4>=0,M10,DRAWNULL),COLORRED,LINETHICK2;
����:IF(VAR4<REF(VAR4,1) AND VAR4>0,M10,DRAWNULL),COLORGREEN,LINETHICK2;
֧��:IF(PERIOD=5,IF(BARSLAST(CURRBARSCOUNT=5),QWX5,DRAWNULL),DRAWNULL),COLORCYAN;
����:IF(PERIOD=5,IF(BARSLAST(CURRBARSCOUNT=5),QWX6,DRAWNULL),DRAWNULL),COLORYELLOW;
N:=120;
K:=BARSLAST(CURRBARSCOUNT=N);
GD:=CONST(IF(ISLASTBAR=1,HHV(H,K),0));
DD:=CONST(IF(ISLASTBAR=1,LLV(L,K),0));
KJ:=GD-DD;
GD4:IF(CURRBARSCOUNT<=N/30,GD,DRAWNULL);
��:IF(CURRBARSCOUNT<=N/30,DD,DRAWNULL),COLORFFFF00;
��:IF(CURRBARSCOUNT<=N/30,GD,DRAWNULL),COLOR00FFFF;
��:IF(CURRBARSCOUNT<=N/30,DD+KJ*0.191,DRAWNULL),COLOR00FFFF;
ǿ: IF(CURRBARSCOUNT<=N/30,DD+KJ*0.382,DRAWNULL),COLORFF00FF;
ͻ��:IF(CURRBARSCOUNT<=N/30,DD+KJ/2,DRAWNULL),COLOR0000FF;
��ʾ:IF(CURRBARSCOUNT<=N/30,DD+KJ*0.618,DRAWNULL),COLOR00FFFF;
ѹ��:IF(CURRBARSCOUNT<=N/30,DD+KJ*0.809,DRAWNULL),COLOR00FF00;
����:IF(CURRBARSCOUNT<=N/30,(C/LLV(LOW,K)-1)*100,DRAWNULL),COLOR0000FF,NODRAW;
����:BARSLAST(L=DD),COLORCYAN,NODRAW;
���ձ�����:(REF(C,2)+REF(C,1)+O)/3 ,COLORCC3299,NODRAW;
����:IF(CURRBARSCOUNT<=60, CONST(IF(ISLASTBAR=1,HHV(H, BARSLAST(CURRBARSCOUNT=60)),1)),DRAWNULL),COLORRED,DOTLINE;
�͵�:IF(CURRBARSCOUNT<=60, CONST(IF(ISLASTBAR=1,LLV(L, BARSLAST(CURRBARSCOUNT=60)),1)),DRAWNULL),COLORYELLOW,DOTLINE;
STICKLINE(CCI>=200 AND H>=����,O,C,3,0),COLORBLUE;
STICKLINE(CCI<=100 AND L<=�͵�,O,C,3,0),COLORYELLOW;
DRAWBAND(��,RGB(200,200,0),ѹ��,RGB(0,0,0));
DRAWBAND(ѹ��,RGB(0,190,0),��ʾ,RGB(0,0,0));
DRAWBAND(��ʾ,RGB(220,120,0),ͻ��,RGB(0,0,0));
DRAWBAND(ͻ��,RGB(120,0,120),ǿ��,RGB(0,0,0));
DRAWBAND(ǿ��,RGB(120, 0,0),֧��,RGB(0,0,0));
DRAWBAND(֧��,RGB(80,80,80),��,RGB(0,0,0));
STICKLINE(CURRBARSCOUNT=N/30,GD,DD,0,0),COLORGREEN;
STICKLINE(CURRBARSCOUNT=1,GD,DD,0,0),COLORGREEN;
STICKLINE(CURRBARSCOUNT<=N/30,֧��,֧��,4,0),COLORFF00FF;
STICKLINE(CURRBARSCOUNT<=N/30,ǿ��,ǿ��,4,0),COLORFF00FF;
STICKLINE(CURRBARSCOUNT<=N/30,ͻ��,ͻ��,4,0),COLORABABAB;
STICKLINE(CURRBARSCOUNT<=N/30,��ʾ,��ʾ,4,0),COLOR00FFFF;
STICKLINE(CURRBARSCOUNT<=N/30,ѹ��,ѹ��,4,0),COLOR00FFFF;
DRAWTEXT(CURRBARSCOUNT=1,ѹ��,'0.809'),COLOR00FFFF;
DRAWTEXT(CURRBARSCOUNT=1,��ʾ,'0.618'),COLOR00FFFF;
DRAWTEXT(CURRBARSCOUNT=1,ͻ��,'0.500'),COLORFFFFFF;
DRAWTEXT(CURRBARSCOUNT=1,ǿ��,'0.382'),COLOR00FFFF;
DRAWTEXT(CURRBARSCOUNT=1,֧��,'0.191'),COLOR00FFFF; 
STICKLINE(CLOSE>REF(CLOSE,1)*1.0985 AND CLOSE=HIGH,CLOSE,OPEN,4,-1),COLOR00FFFF;
STICKLINE(CLOSE<REF(CLOSE,1)*0.9015 AND CLOSE=LOW,CLOSE,OPEN,4,-1),COLORGREEN;
STICKLINE(OPEN>=CLOSE,CLOSE,OPEN,3,0),COLORFF7700;
STICKLINE(OPEN>=CLOSE,CLOSE,OPEN,2.2,0),COLORFF9900;
STICKLINE(OPEN>=CLOSE,CLOSE,OPEN,1.5,0),COLORFFBB00;
STICKLINE(OPEN>=CLOSE,CLOSE,OPEN,0.5,0),COLORCYAN;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,3,0),COLOR000099;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,2.2,0),COLOR0000CC;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,1.5,0),COLOR0000FF;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.5,0),COLORCC66FF;
STICKLINE(CROSS(M5,EMA(C,3)),VAR1,(OPEN+CLOSE)/2,3,0),COLOR009900;
STICKLINE(CROSS(M5,EMA(C,3)),VAR1,(OPEN+CLOSE)/2,2.2,0),COLOR00BB00; 
STICKLINE(CROSS(M5,EMA(C,3)),VAR1,(OPEN+CLOSE)/2,1.5,0),COLOR00DD00; 
STICKLINE(CROSS(M5,EMA(C,3)),VAR1,(OPEN+CLOSE)/2,0.5,0),COLOR00FF00;
STICKLINE(CROSS(EMA(C,3),M5),OPEN,(OPEN+CLOSE)/2,3,0),COLOR999999;
STICKLINE(CROSS(EMA(C,3),M5),OPEN,(OPEN+CLOSE)/2,2.2,0),COLORBBBBBB; 
STICKLINE(CROSS(EMA(C,3),M5),OPEN,(OPEN+CLOSE)/2,1.5,0),COLORDDDDDD; 
STICKLINE(CROSS(EMA(C,3),M5),OPEN,(OPEN+CLOSE)/2,0.5,0),COLORFFFFFF;
STICKLINE(CROSS(JX,DX),OPEN,CLOSE,0.5,0),COLORYELLOW;
STICKLINE(CROSS(DX,JX),OPEN,CLOSE,0.5,0),COLORBLACK;
��B:=L2_AMO(0,2)/10000.0;
��B:=L2_AMO(1,2)/10000.0;
��B:=L2_AMO(2,2)/10000.0;
СB:=L2_AMO(3,2)/10000.0;
��S:=L2_AMO(0,3)/10000.0;
��S:=L2_AMO(1,3)/10000.0;
��S:=L2_AMO(2,3)/10000.0;
СS:=L2_AMO(3,3)/10000.0;
TESTSKIP(NOT(��B OR ��B OR ��B OR СB OR ��S OR ��S OR ��S OR СS)!=0);
���ڽ�:=(��B)+(��B),NODRAW;
���ڳ�:=(��S)+(��S),NODRAW;
�Ǵ��ڽ�:=(��B)+(СB),NODRAW;
�Ǵ��ڳ�:=(��S)+(СS),NODRAW;
���ڽ�����:=IF((��B+��B)=0,0,���ڽ�);
���ڳ�����:=IF((��S+��S)=0,0,���ڳ�);
�Ǵ��ڽ�����:=IF(��B+СB=0,0,�Ǵ��ڽ�);
�Ǵ��ڳ�����:=IF(��S+СS=0,0,�Ǵ��ڳ�);
����������:=(��B+��B)-(��S+��S),COLORRED,NODRAW;
ɢ��������:=(��B+СB)-(��S+СS),COLORRED,NODRAW;
������:=(��B+��B+��B+СB)-(��S+��S+��S+СS),COLORRED,NODRAW;
������:=(��B+��B)/(��B+��B+��S+��S)*100,NODRAW;
����������:=IF((��B+��B+��S+��S)=0,0,������);
��������:=(��S+��S)/(��B+��B+��S+��S)*100,NODRAW;
����������:=IF((��B+��B+��S+��S)=0,0,��������);
�������:=(��B+��B+��B+СB)/(��B+��B+��B+СB+��S+��S+��S+СS)*100,NODRAW;
��������:=(��S+��S+��S+СS)/(��B+��B+��B+СB+��S+��S+��S+СS)*100,NODRAW;
�ɽ�����:=(��B+��B+��B+СB+��S+��S+��S+СS),NODRAW;
���������:=(��B+��S+��B+��S)/�ɽ�����*100,COLORYELLOW,NODRAW;
��ǿ��:=(��B+��B-��S-��S)/�ɽ�����*100,COLORYELLOW,NODRAW;
��ǿ������:=IF(��ǿ��=0,-100,��ǿ��);
��ǿ�ȱ�:=IF(��ǿ��>=0,(��ǿ������+100)/2,100-ABS((��ǿ������-100)/2)),NODRAW;
����ǿ��:=(��B-��S)/(��B+��S)*100,COLORYELLOW,NODRAW;
����ǿ������:=IF(����ǿ��=0,-100,����ǿ��);
����ǿ�ȱ�:=IF(����ǿ��>0,(����ǿ������+100)/2,IF(����ǿ��<0,100-ABS((����ǿ������-100)/2),0)),NODRAW;
DAZHIV:=CONST(MAX(ABS(���ڽ�),MAX(ABS(���ڳ�),MAX(ABS(�Ǵ��ڽ�),ABS(�Ǵ��ڳ�))))),NODRAW;
DRAWRECTREL(0,CONST(950-(ABS(���ڽ�)*250/DAZHIV))-20,30,950,IF(CONST(���ڽ�>0),RGB(250,125,0),RGB(25,150,250)));
DRAWRECTREL(32,CONST(950-(ABS(���ڳ�)*250/DAZHIV))-20,62,950,IF(CONST(���ڳ�>0),RGB(25,150,250),RGB(250,125,0)));
DRAWRECTREL(102,CONST(950-(ABS(�Ǵ��ڽ�)*250/DAZHIV))-20,132,950,IF(CONST(�Ǵ��ڽ�>0),RGB(250,125,0),RGB(25,150,250)));
DRAWRECTREL(134,CONST(950-(ABS(�Ǵ��ڳ�)*250/DAZHIV))-20,164,950,IF(CONST(�Ǵ��ڳ�>0),RGB(25,150,250),RGB(250,125,0)));
DRAWRECTREL(204,CONST(950-(ABS(������)*250/DAZHIV))-20,234,950,IF(CONST(������>0),RGB(200,0,0),RGB(0,125,50)));
DRAWTEXT_FIX(1,0.00,0.95,0,STRCAT(STRCAT('���� ',CON2STR(����������,0)),'��')),COLORMAGENTA;
DRAWTEXT_FIX(1,0.10,0.95,0,STRCAT(STRCAT('ɢ�� ',CON2STR(ɢ��������,0)),'��')),COLORCYAN;
DRAWTEXT_FIX(1,0.20,0.95,0,STRCAT(STRCAT('������ ',CON2STR(������,0)),'��')),COLORYELLOW;
����A:=ACTINVOL,COLORRED,NODRAW;
����A:=ACTOUTVOL,COLORGREEN,NODRAW;
����:=����A*100/(����A+����A),NODRAW,COLORRED;
����:=����A*100/(����A+����A),NODRAW,COLORGREEN;
�����:=LARGEINTRDVOL*100/(LARGEINTRDVOL+LARGEOUTTRDVOL);
������:=LARGEOUTTRDVOL*100/(LARGEINTRDVOL+LARGEOUTTRDVOL);
����������:=(LARGEINTRDVOL-LARGEOUTTRDVOL),COLORYELLOW,NODRAW;
����������:=(ACTINVOL-ACTOUTVOL),COLORMAGENTA,NODRAW;
�����ʽ��:=((L2_AMO(0,0)+L2_AMO(1,0)-L2_AMO(0,1)-L2_AMO(1,1)))/10000,COLORCYAN,NODRAW;
����������:=LARGEINTRDVOL*100/VOL;
����������:=LARGEOUTTRDVOL*100/VOL;
�������ȱ�:=����������/(����������+����������)*100,NODRAW;
�������ȱ�:=����������/(����������+����������)*100,NODRAW;
���ȱ�����:=IF((LARGEINTRDVOL+LARGEOUTTRDVOL)=0,0,�����);
JGV:=(L2_VOL(0,0) - L2_VOL(0,1))*VOL/100000000,COLORRED;
DHV:=(L2_VOL(1,0) - L2_VOL(1,1))*VOL/100000000,COLORFF00FF;
ZHV:=(L2_VOL(2,0) - L2_VOL(2,1))*VOL/100000000,COLOR00FFFF;
SHV:=(L2_VOL(3,0) - L2_VOL(3,1))*VOL/100000000,COLORFFFFFF;
NOTEXT��������:=MA((JGV+DHV),5),COLORYELLOW;
��������:=JGV,COLOR0000FF,NODRAW;
��������:=DHV,COLORMAGENTA,NODRAW;
��������:=(JGV+DHV),COLORYELLOW,NODRAW;
������:=(ZHV+SHV),COLORWHITE,NODRAW;
�����ʽ��:=��������/(ABS(JGV)+ABS(DHV)+ABS(ZHV)+ABS(SHV))*100,COLORYELLOW,NODRAW;
�����ʽ������:=IF(�����ʽ��=0,-100,�����ʽ��);
����ǿ�ȱ�:=IF(�����ʽ��>0,(�����ʽ������+100)/2,IF(�����ʽ��<0,100-ABS((�����ʽ������-100)/2),0)),COLORGREEN,NODRAW;
С���ʽ��:=С������/(ABS(JGV)+ABS(DHV