‹ 返回

46827

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

指标公式

����A:=REFDATE(HHV(H,120),DATE)*1.05;
����A:=REFDATE(LLV(L,120),DATE)*0.95;
MA5:=MA(C,5),COLORCYAN,LINETHICK2;
MA24:=MA(C,24),COLORGREEN,LINETHICK2;
MA72:=MA(C,72),COLORRED,LINETHICK2;
MA200:=IF((MA(C,200)<=����A AND MA(C,200)>=����A) OR C>=MA(C,200),MA(C,200),DRAWNULL),COLORBLUE,LINETHICK2;
������:=ISLASTBAR AND MA5>MA24 AND MA24>MA72 AND MA72>IF(MA200=DRAWNULL,0,MA200);
���˻ص�:=ISLASTBAR AND MA24>MA5 AND MA5>MA72 AND MA72>IF(MA200=DRAWNULL,0,MA200);
�������:=ISLASTBAR AND MA24>MA72 AND MA72>MA5 AND MA5>IF(MA200=DRAWNULL,0,MA200);
������:=ISLASTBAR AND IF(MA200=DRAWNULL,300,MA200)>MAX(MA24,MA72) AND MA5>MA24 AND MA24>MA72;
�ײ�����:=ISLASTBAR AND IF(MA200=DRAWNULL,300,MA200)>MA72 AND MA72>MA24 AND MA5>MA24;
̽�׽׶�:=ISLASTBAR AND IF(MA200=DRAWNULL,300,MA200)>MA72 AND MA72>MA24 AND MA24>MA5;
����:=ISLASTBAR AND IF(MA200=DRAWNULL,MA24>MA72 AND C<MA72,MA72>MA200 AND C<MA200);
��ţ:=ISLASTBAR AND IF(MA200=DRAWNULL,MA24<MA72 AND C>=MA72,MA72<MA200 AND C>=MA200);
����:=ISLASTBAR AND IF(MA200=DRAWNULL,MA24<MA72 AND C<MA72,MA72<MA200 AND C<MA200);
DRAWGBK(��ʾ�DZ���1=1 AND ������=0 AND ���˻ص�=0 AND �������=0 AND ������=0 AND �ײ�����=0 AND ̽�׽׶�=0 AND ����=0 AND ��ţ=0 AND ����=0,0,0,0,'����',0)COLOR00BF00;
DRAWGBK(��ʾ�DZ���1=1 AND ������,0,0,0,'������',0)COLORFF00FF;
DRAWGBK(��ʾ�DZ���1=1 AND ���˻ص�,0,0,0,'���˻ص�',0)COLORFF8080;
DRAWGBK(��ʾ�DZ���1=1 AND �������,0,0,0,'�������',0)COLOR009500;
DRAWGBK(��ʾ�DZ���1=1 AND ������,0,0,0,'������',0)COLOR00FFFF;
DRAWGBK(��ʾ�DZ���1=1 AND �ײ�����,0,0,0,'�ײ�����',0)COLORFFFF00;
DRAWGBK(��ʾ�DZ���1=1 AND ̽�׽׶�,0,0,0,'̽�׽׶�',0);
DRAWGBK(��ʾ�DZ���1=1 AND ����,0,0,0,'����',0)COLORFFFF00;
DRAWGBK(��ʾ�DZ���1=1 AND ��ţ,0,0,0,'��ţ',0)COLOR00FFFF;
DRAWGBK(��ʾ�DZ���1=1 AND ����,0,0,0,'����',0)COLOR00BF00;
����:=REF(C,1)-LOW,LINETHICK1,NODRAW;
������:IF((REF(C,1)-LOW)/REF(C,1)*100>0,(REF(C,1)-LOW)/REF(C,1)*100,0),LINETHICK1,NODRAW;
���վ���:MA(������,3),COLORWHITE,NODRAW;
�����:HIGH,LINETHICK1,COLORRED,NODRAW;
�����:LOW,LINETHICK1,COLORGREEN,NODRAW;
����:EMA(C,5),COLORYELLOW,LINETHICK1;
����1:IF(����>REF(����,1),����,DRAWNULL),COLORRED,LINETHICK1;
�̽�1:IF(����<REF(����,1),����,DRAWNULL),COLORFFFF00,LINETHICK1,DOTLINE;
����10��:EMA(C,10),COLORYELLOW,LINETHICK1;
����2:IF(����10��>REF(����10��,1),����10��,DRAWNULL),COLOR00FFFF,LINETHICK1;
�̽�2:IF(����10��<REF(����10��,1),����10��,DRAWNULL),COLORFFFF00,LINETHICK1,DOTLINE;
����20��:EMA(C,20),COLORYELLOW,LINETHICK1;
����3:IF(����20��>REF(����20��,1),����20��,DRAWNULL),COLORFF00FF,LINETHICK1;
�̽�3:IF(����20��<REF(����20��,1),����20��,DRAWNULL),COLORFFFF00,LINETHICK1,DOTLINE;
����30�վ���:EMA(C,30),COLORYELLOW,LINETHICK4;
����:IF(����30�վ���>REF(����30�վ���,1),����30�վ���,DRAWNULL),COLORRED,LINETHICK4;
�̽�:IF(����30�վ���<REF(����30�վ���,1),����30�վ���,DRAWNULL),COLOR009300,LINETHICK4;
����55����:EMA(C,55),COLORYELLOW,LINETHICK1,NODRAW;
����4:IF(����55����>REF(����55����,1),����55����,DRAWNULL),COLOR0080FF,LINETHICK1;
�̽�4:IF(����55����<REF(����55����,1),����55����,DRAWNULL),COLORFFFF00,DOTLINE,LINETHICK1;
������:EMA(C,120),COLORYELLOW,LINETHICK1,NODRAW;
�������:IF(������>REF(������,1),������,DRAWNULL),COLORFFFFFF,LINETHICK1;
�����̽�:IF(������<REF(������,1),������,DRAWNULL),COLORFFFF00,DOTLINE,LINETHICK1;
����:EMA(C,250),COLORYELLOW,LINETHICK1,NODRAW;
�����:IF(����>REF(����,1),����,DRAWNULL),COLOR8000FF,LINETHICK1;
���̽�:IF(����<REF(����,1),����,DRAWNULL),COLORFFFF00,DOTLINE,LINETHICK1;
��������:=(PERIOD==5) AND (C>0) AND V>0; 
����:=(MA(C,30)+MA(C,72))/2; 
�¹�:=����*0.73; 
�¹�75:=����*0.75; 
�¹�71:=����*0.71; 
�¹�68:=����*0.68; 
��������:=1; 
VAR1:=EMA(EMA(CLOSE,9),9); 
����:=(VAR1-REF(VAR1,1))/REF(VAR1,1)*1000;
�ʽ�:=EMA(EMA(CLOSE,8),8); 
�ʽ�̧��:=(�ʽ�-REF(�ʽ�,1))/REF(�ʽ�,1)*1000; 
��ׯ����:=�ʽ�̧��>0; ��ׯ����:=�ʽ�̧��<=0; ����:=EMA(C,3);
����:=EMA(SLOPE(C,22)*20+C,54); 
BU1:=CROSS(����,����); 
SEL1:=CROSS(����,����); 
BU2:=IFF(BU1 AND ��ׯ����,1,IFF(COUNT(BU1 AND ��ׯ����,BARSLAST(SEL1)+1)==1 AND CROSS(�ʽ�̧��,0),1,0)); 
BU:=BU2 AND COUNT(BU2,BARSLAST(SEL1)+1)==1; 
SEL:=SEL1 AND COUNT(SEL1,BARSLAST(BU)+1)==1; 
BUNEW:=BU; 
ֹ������:=CLOSE/REF(OPEN,BARSLAST(BU))<(1-7/100) AND COUNT(BU,BARSLAST(BU)+1)==1 AND COUNT(SEL,BARSLAST(BU)+1)==0; 
SELNEW:=IFF(ֹ������ AND COUNT(ֹ������,BARSLAST(BU)+1)==1,1,IFF(SEL AND COUNT(ֹ������,BARSLAST(BU)+1)==0,1,0));
��������:=COUNT(ֹ������,BARSLAST(BUNEW)+1)>=1 AND CROSS(C,0.965*REF(O,BARSLAST(BUNEW))); 
����ͬһ��1:=((�������� AND SELNEW)==0); BUNEW2:=((BUNEW AND COUNT(SELNEW,��������)==0) OR ��������) AND ����ͬһ��1; 
����ֹ��:=(CLOSE/REF(OPEN,BARSLAST(��������))<(1-7/100) AND COUNT(��������,BARSLAST(��������)+1)==1 AND COUNT(SEL,BARSLAST(��
������)+1)==0); 
��������:=(SEL AND COUNT(��������,BARSLAST(BUNEW2)+1)==1) OR (����ֹ�� AND SUM(����ֹ��,0)==1); 
����ͬһ��2:=((�������� AND BUNEW2)==0); 
SELNEW2:=((SELNEW AND COUNT(SELNEW,BARSLAST(BUNEW2)+1)==1) OR ��������) AND ����ͬһ��2; 
BUNEW3:=BUNEW2 AND COUNT(BUNEW2,BARSLAST(SELNEW2)+1)==1; 
SELNEW3:=SELNEW2 AND COUNT(SELNEW2,BARSLAST(BUNEW3)+1)==1; 
D:=BARSLAST(BUNEW3)+1>=1 AND COUNT(SELNEW3,BARSLAST(BUNEW3)+1)==0; 
K:=BARSLAST(SELNEW3)+1>=1 AND COUNT(BUNEW3,BARSLAST(SELNEW3)+1)==0; 
�������ֶ�λ:=IFF(COUNT(SELNEW3,BARSCOUNT(C))==0 AND COUNT(BUNEW3,BARSCOUNT(C))==0,1,0); 
���������ۼ�:=SUM(�������ֶ�λ,1000)+1; 
��׼�����ۼ�:=IFF(���������ۼ�==REF(���������ۼ�,1) AND REF(���������ۼ�,2)<���������ۼ�,���������ۼ�,0); 
��������B:=�������ֶ�λ AND CROSS(����,0);
��������S:=�������ֶ�λ AND CROSS(0,����) AND COUNT(��������B,BARSLAST(C>0))>=1;
����D:=COUNT(��������B,BARSLAST(��������B)+1)==1 AND COUNT(��������S,BARSLAST(��������B)+1)==0 AND COUNT (SELNEW3,BARSCOUNT
(C))==0; 
����K:=COUNT(��������S,BARSLAST(��������S)+1)==1 AND COUNT(��������B,BARSLAST(��������S)+1)==0 AND COUNT 
(BUNEW3,BARSCOUNT(C))==0; 
SSXZBZS:=COUNT(��������B,BARSCOUNT(C)); 
SSXZSZS:=COUNT(��������S,BARSCOUNT(C)); 
QB:=IFF(�������ֶ�λ,��������B,BUNEW3); 
QS:=IFF(�������ֶ�λ,��������S AND (SSXZBZS==SSXZSZS AND SSXZBZS>=0 AND COUNT(SELNEW3,BARSCOUNT(C))==1 AND COUNT
(BUNEW3,BARSCOUNT(C))==0)==0, SELNEW3 AND (SSXZBZS==SSXZSZS AND SSXZBZS>=0 AND COUNT(SELNEW3,BARSCOUNT(C))==1 AND COUNT
(BUNEW3,BARSCOUNT(C))==0)==0); 
K��:=(COUNT(��������B,BARSLAST(C>0))==0 AND COUNT(QB,BARSLAST(C>0))==0)==0;
��λB68:=QB AND COUNT(L<�¹�68,10)>=1; 
��λB71:=QB AND COUNT(L<�¹�71,10)>=1; 
��λB75:=QB AND COUNT(L<�¹�75,10)>=1; 
��λ68B:=EXIST(��λB68,BARSLAST(BUNEW)+1) AND �������� AND QB; 
��λ71B:=EXIST(��λB71,BARSLAST(BUNEW)+1) AND �������� AND QB; 
��λ75B:=EXIST(��λB75,BARSLAST(BUNEW)+1) AND �������� AND QB; 
����1:=IFF(��λB68,5,IFF(��λB71,4,IFF(��λB75,3,0))); 
����2:=IFF(��λ68B,5,IFF(��λ71B,4,IFF(��λ75B,3,0))); 
����:=IFF(����1>0,����1,����2); 
STICKLINE((D AND ��������) OR (����D AND ��������),H,L,0.00,0),COLOR0000FF; 
STICKLINE((D AND ��������) OR (����D AND ��������),C,O,3.00,0),COLOR0000FF; 
STICKLINE((K AND K�� AND ��������) OR (����K AND ��������),H,L,0.00,0),COLORFFFF00; 
STICKLINE((K AND K�� AND ��������) OR (����K AND ��������),C,O,3.00,0),COLORFFFF00; 
STICKLINE(C==O AND (D OR ����D) AND ��������,C,C,3,0),COLOR0000FF; 
STICKLINE(C==O AND (K AND K��) AND ��������,C,C,3,0),COLORFFFF00; 
���ƶ�ͷ:=(D AND ��������) OR (����D AND ��������); 
���ƿ�ͷ:=(K AND K�� AND ��������) OR (����K AND ��������); 
���޸�����:=���ƶ�ͷ==0 AND ���ƿ�ͷ==0; 
B��:=BARSLAST(QB); 
S��:=BARSLAST(QS); 
�������:=IFF(B��<S�� AND ���޸�����,1,IFF(B��>S�� AND ���޸�����,2,0));
STICKLINE(�������� AND �������==1,H,L,0.00,0),COLOR0000FF; 
STICKLINE(�������� AND �������==1,C,O,3.00,0),COLOR0000FF; 
STICKLINE(�������� AND �������==2,H,L,0.00,0),COLORFFFF00; 
STICKLINE(�������� AND �������==2,C,O,3,0),COLORFFFF00;
DRAWICON(QB AND ��������,LOW,1); 
DRAWICON(QB AND ��������,LOW*0.995,34); 
DRAWICON(QS AND ��������,HIGH,2); 
DRAWICON(QS AND ��������,HIGH*1.005,35); 
DRAWICON(����==5 AND ��������,L*0.97,14); 
DRAWICON(����==4 AND ��������,L*0.97,13); 
DRAWICON(����==3 AND ��������,L*0.97,11);
DRAWTEXT_FIX(ISLASTBAR,0.988,0.06,1,'�� ���̼����̼۵������յ����̼��򣬰�ֲ������������֡�
�� '),COLOR00FFFF; 
CC:IF(CURRBARSCOUNT<18,CONST(REF(C,1)),DRAWNULL),COLOR000000,NODRAW;
ֹӮ:1.05*CC,COLORMAGENTA,LINETHICK1;
DRAWTEXT(ISLASTBAR,ֹӮ,'ֹӮ'),LINETHICK1;
ֹ��:0.97*CC,COLORYELLOW,LINETHICK1;
DRAWTEXT(ISLASTBAR,ֹ��,'ֹ��'),LINETHICK1;
V01:=ABS((2*CLOSE+HIGH+LOW)/4-MA(CLOSE,20))/MA(CLOSE,20); 
V02:=(1-7/100)*(DMA(CLOSE,V01));
V03:=(1+7/100)*(DMA(CLOSE,V01));
V05:=MA((LOW+HIGH+CLOSE)/3,5);
֧��:REFDATE(V02,DATE),LINETHICK1,COLOR454545;
DRAWTEXT(ISLASTBAR,֧��,'֧��'),LINETHICK1;
����:REFDATE(V03,DATE),LINETHICK1,COLOR454545; 
DRAWTEXT(ISLASTBAR,����,'����'),LINETHICK1;
ZT:=C/REF(C,1)>1.097;
XH:=FILTER(ZT,13);
BH:=BARSLAST(ZT);
CZ:=REF(H,BH)-REF(L,BH);
STICKLINE(ZT,REF(O,BH),REF(C,BH),5,0),COLORYELLOW;
DRAWTEXT(ZT,L*0.98,'����ͣ'),COLOR4080FF;
AAA:=CONST(HHV(H,50));PL5:=HHV(H,45); 
F:=100*(C-REF(C,1))/REF(C,1);
����:=IF(C<REF(O,1) AND F<0,1,0);
P1:=����;
����:=IF(C<REF(O,2) AND F<0,1,0);
P2:=����;
STICKLINE(P1=0