‹ 返回45156
🔧 核心通用·带A股选股过滤(核心可用 · 把'去ST/选板块/CODELIKE'那行删掉,美港马加都能跑)
周期:长线用途:只管进单(找买点/选股)🔻 明确含做空逻辑
📊 把公式 45156 实时算进主散博弈(纯技术函数;选股/筹码特殊函数会标注不支持)
🧩 这个指标拆开看 = 哪些"积木"组合的
① 定方向(趋势)均线类 MA/EMA — 一段时间的平均价,铺出趋势中枢、看多空排列
MACD — 快慢均线之差,测趋势动能、金叉死叉
DMA — 两条不同周期均线之差,测中线方向
② 验量能(量价)成交量/额 VOL — 量在价先——放量证实突破、缩量过滤假信号
③ 抓买卖点(择时摆动)KDJ 随机 — 收盘在近期高低区间的位置,抓超买超卖+金叉
④ 触发(信号扳机)CROSS 交叉 — 两线金叉/死叉当买卖扳机
突破/计数/过滤 — 突破前高、信号计时与去重
搭条件的零件HHV/LLV/REF 等 — 取区间最高最低、引用前N根——搭条件的零件
图上标注买卖点画线/标注 — 在图上画柱、标买卖点、上色提示(只是显示,不是判断逻辑)
⚠️ A股专属(港股/美股/马股/加密都没有)代码/板块/题材 — 按代码段、行业、概念、龙头筛选(A股特有)
去ST/风险股 — 剔除A股ST风险股
组合思路:用均线/MACD 定方向,再用量能验证真假,再用摆动指标抓超买超卖,再用金叉/突破当买卖扳机。把几件事叠在一起同时成立,才算一个'信号'——叠得越多看着越细,但也越容易过度拟合。 ⚠️ 这条含 A股专属逻辑(涨停板/龙虎榜/代码板块)——只有大陆A股有这制度,港股、美股、马股、加密统统没有,这部分搬不过去。
指标公式
M:=1.2;
N1:=34;
N2:=N1*1.05;
N3:=N1+3;
SAT:=(AMOUNT/C)/(HHV(AMOUNT,20)/HHV(C,20));
���ܱ��Ͷ�:IF(SAT>1,1,SAT)*100,COLORLIBLUE,NODRAW;
�е�:=REFDATE(HHV(V,100)/2,DATE);
STICKLINE(CURRBARSCOUNT=N1,�е�*1.9,�е�*1.5,100,1),COLOR00DDDD;
STICKLINE(CURRBARSCOUNT=N1,�е�*1.88,�е�*1.52,���ܱ��Ͷ�,0),COLOR0033FF;
STICKLINE(CURRBARSCOUNT=N1,�е�*1.82,�е�*1.58,���ܱ��Ͷ�,0),COLOR0077FF;
STICKLINE(CURRBARSCOUNT=N1,�е�*1.76,�е�*1.64,���ܱ��Ͷ�,0),COLOR0099FF;
STICKLINE(CURRBARSCOUNT=N1,�е�*1.7,�е�*1.7,���ܱ��Ͷ�,0),COLORFFDD55;
DRAWTEXT(CURRBARSCOUNT=N3,�е�*1.82,'���ܱ��Ͷ�'),COLORBLUE;
VOLUME:VOL,VOLSTICK;
SHORT:=12;
LONG:=26;
MID:=9;
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,MID);
MACD:=(DIF-DEA)*2,COLORSTICK;
STICKLINE(DIF>DEA,0,VOL,3,0),COLORRED;
STICKLINE(DIF<DEA,0,VOL,3,0),COLORGREEN;
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
J:=3*K-2*D;
STICKLINE(J>D,VOL/2,VOL,3,0),COLORRED;
STICKLINE(J<D,VOL/2,VOL,3,0),COLORGREEN;
VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);
OBV1:=SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
OBV2:=EMA(OBV1,3)-MA(OBV1,9);
OBV3:=EMA(IF(OBV2>0,OBV2,0),3);
MAC3:=MA(C,3);
����:=IF(OBV3>=VOL,VOL,IF(OBV3<VOL,OBV3,0));
STICKLINE(OBV3>REF(OBV3,1) AND MAC3>REF(MAC3,1),0,����,2,0),COLORYELLOW;
PJJ:=DMA((((HIGH + LOW) + (CLOSE * 2)) / 4),0.9);
JJ:=REF(EMA(PJJ,3),1);
QJJ:=(VOL / (((HIGH - LOW) * 2) - ABS((CLOSE - OPEN)))); XVL:=(IF((CLOSE > OPEN),(QJJ * (HIGH - LOW)),IF((CLOSE < OPEN),(QJJ * ((HIGH - OPEN) + (CLOSE - LOW))),(VOL / 2))) + IF((CLOSE > OPEN)
,(0 - (QJJ * ((HIGH - CLOSE) + (OPEN - LOW)))),IF((CLOSE < OPEN),(0 - (QJJ * (HIGH - LOW))),(0 - (VOL / 2)))));
ZLL:=(VOL / CAPITAL);
HSL1:=IF((ZLL > 10),10,ZLL);
HSL:=((XVL / 20) / 1.15);
��������:=(((HSL * 0.55) + (REF(HSL,1) * 0.33)) + (REF(HSL,2) * 0.22));
GJJ:=EMA(��������,8); LLJX:=EMA(��������,3);
��̬����:=CONST(IF(V=HHV(V,N),V,REF(V,BARSLAST(V=HHV(V,N))))),COLOR00FF00,POINTDOT;
STICKLINE(((HSL * 0.4) >= 0),��̬����*M+((HSL * 0.4) +LLJX)*20,��̬����*M,3,0),COLORYELLOW;
STICKLINE(((HSL * 0.4) < 0),��̬����*M+((HSL * 0.4) +LLJX)*20,��̬����*M,3,0),COLOR00FF00;
�ʽ�����:=IF((HSL*0.4+LLJX)>0,(HSL*0.4+LLJX),DRAWNULL),COLORRED;
�ʽ�����:=IF((HSL*0.4+LLJX)<0,(HSL*0.4+LLJX),DRAWNULL),COLOR00FF00;
�ʽ���֧:=(HSL*0.4+LLJX),LINETHICK0;
��Ԫ:=AMOUNT/10000,VOLSTICK,COLORFF00FF;
�ʽ���֧:IF((HSL*0.4+LLJX)>0,�ʽ�����,�ʽ�����),COLORWHITE,POINTDOT;
��֧����%:IF((HSL*0.4+LLJX)>0,�ʽ�����/��Ԫ*100,�ʽ�����/��Ԫ*100),COLORYELLOW;
������1:=BARSLASTCOUNT(�ʽ���֧>0),,COLORA20FFD,NODRAW;
������2:=IF(������1=0,REF(������1,1),������1),,COLORA20FFD,NODRAW;
������3:=IF(������2=0,REF(������1,2),������2),,COLORA20FFD,NODRAW;
������4:=IF(������3=0,REF(������1,3),������3),,COLORA20FFD,NODRAW;
����������:IF(������4=0,REF(������1,4),������4),,COLORYELLOW,NODRAW;
�����ʽ�:SUM(�ʽ���֧,3),COLORWHITE,NODRAW;
�����ʽ�:SUM(�ʽ���֧,5),COLORFF00FF,NODRAW;
ʮ���ʽ�:SUM(�ʽ���֧,10),COLOR0000FF,NODRAW;
�ʽ�����:=LLJX,LINETHICK0,COLOR0000FF;
STICKLINE((�ʽ����� > 0),��̬����*M+�ʽ�����*20,��̬����*M,3,0),COLOR0000FF;
STICKLINE((�ʽ����� < 0),��̬����*M+�ʽ�����*20,��̬����*M,3,0),COLOR008000;
MAVOL5:MA(VOLUME,5),LINETHICK1,COLORFFFFFF;
�ʽ��춯135:MA(VOLUME,135),LINETHICK2,COLORFF80FF;
����ϴ��35:MA(VOL,35),LINETHICK2,COLORFFFF80;
TT:=240/FROMOPEN;
��:=TT;
AY2:=EMA(CLOSE,12)-EMA(CLOSE,26);
AZ2:=EMA(AY2,9);
LT2:=(AY2-AZ2);
L211:=IF(LT2,LLV(L,21),DRAWNULL),COLOR217158,CIRCLEDOT;
ZGD:=HHV(H,80)*0.99;
ZGD2:=CONST(ZGD);
ZDD:=LLV(L211,80);
ZDD2:=CONST(ZDD);
YYA4:=MA(CLOSE,20);
YYA5:=(CLOSE > MA(CLOSE,5));
YYA6:=(MA(CLOSE,5) > MA(CLOSE,10));
YYA7:=(CLOSE > MA(CLOSE,10));
YYA8:=(MA(CLOSE,5) > MA(CLOSE,20));
YYA9:=(CLOSE > MA(CLOSE,20));
YYA10:=REF(YYA4,1);
YYA11:=(YYA4 > YYA10);
YYAVX:=(((((IF(YYA5,10,(0 - 10)) + IF(YYA6,10,(0 - 10))) + IF(YYA7,10,(0 - 10))) + IF(YYA8,10,(0 - 10))) + IF(YYA9,10,(0 - 10))) + IF(YYA11,10,(0 - 10)));
DSLX:=(CLOSE / INDEXC);
DSLX1:=MA(DSLX,5);
DSLX2:=MA(DSLX,10);
YYV1:=MA(VOL,5);
YYV2:=MA(VOL,10);
J1:=CONST(IF( YYAVX > 0,200,100));
J2:=CONST(IF( YYAVX > 0,00,100));
J3:=CONST(IF( YYAVX > 0,100,100));
ZGD3:=ZGD2;
ZDD3:=ZDD2;
ZGD4:=ZGD2;
���1:=CONST(IF(((CROSS(YYAVX,1) AND (YYV1 >= YYV2)) AND (DSLX >= DSLX1)),1,0)),NODRAW;
���2:=CONST(IF(((CROSS(YYAVX,1) AND (YYV1 < YYV2)) AND (DSLX >= DSLX1)),1,0));
���3:=CONST(IF(((CROSS(YYAVX,1) AND (YYV1 > YYV2)) AND (DSLX < DSLX1)),1,0));
���4:=CONST(IF(((CROSS(YYAVX,1) AND (YYV1 <= YYV2)) AND (DSLX < DSLX1)),1,0));
���5:=CONST(IF(((CROSS(1,YYAVX) AND (YYV1 >= YYV2)) AND (DSLX >= DSLX1)),1,0));
���6:=CONST(IF(((CROSS(1,YYAVX) AND (YYV1 < YYV2)) AND (DSLX >= DSLX1)),1,0));
���7:=CONST(IF(((CROSS(1,YYAVX) AND (YYV1 >= YYV2)) AND (DSLX < DSLX1)),1,0));
���8:=CONST(IF(((CROSS(1,YYAVX) AND (YYV1 < YYV2)) AND (DSLX < DSLX1)),1,0));
���9:=CONST(IF(((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 >= YYV2)) AND (DSLX >= DSLX1)),1,0));
���10:=CONST(IF(((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 < YYV2)) AND (DSLX >= DSLX1)),1,0));
���11:=CONST(IF(((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 >= YYV2)) AND (DSLX < DSLX1)),1,0)),NODRAW;
���12:=CONST(IF(((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 < YYV2)) AND (DSLX < DSLX1)),1,0));
���13:=CONST(IF(((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 >= YYV2)) AND (DSLX >= DSLX1)),1,0));
���14:=CONST(IF(((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 < YYV2)) AND (DSLX >= DSLX1)),1,0));
���15:=CONST(IF(((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 >= YYV2)) AND (DSLX < DSLX1)),1,0));
���16:=CONST(IF(((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 < YYV2)) AND (DSLX < DSLX1)),1,0));
����1:=CONST(IF((CROSS(YYAVX,1) AND (YYV1 >= YYV2)),1,0));
����2:=CONST(IF((CROSS(YYAVX,1) AND (YYV1 < YYV2)),1,0));
����3:=CONST(IF((CROSS(1,YYAVX) AND (YYV1 >= YYV2)),1,0));
����4:=CONST(IF((CROSS(1,YYAVX) AND (YYV1 < YYV2)),1,0));
����5:=CONST(IF((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 >= YYV2)),1,0));
����6:=CONST(IF((((YYAVX >= 1) AND (REF(YYAVX,1) > 0)) AND (YYV1 < YYV2)),1,0));
����7:=CONST(IF((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 >= YYV2)),1,0));
����8:=CONST(IF((((YYAVX < 1) AND (REF(YYAVX,1) < 0)) AND (YYV1 < YYV2)),1,0));
MFI:=(HIGH-LOW)*1000000/(VOL*��);
�̵�:=MFI>=REF(MFI,1)AND VOL*��>=REF(VOL,1);
MMM1:=CONST(�̵�);
˥��:=MFI<REF(MFI,1)AND VOL*��<REF(VOL,1);
MMM2:=CONST(˥��);
αװ:=MFI>=REF(MFI,1)AND VOL*��<REF(VOL,1);
MMM3:=CONST(αװ);
�ݷ�:=MFI<REF(MFI,1)AND VOL*��>=REF(VOL,1);
MMM4:=CONST(�ݷ�);
WJ:=(H+L+C)/3;
V1:=IF(H=L,1,H-MAX(O,C));
V2:=IF(H=L,1,MAX(C,O)-WJ);
V3:=IF(H=L,1,MIN(O,C)-L);
V4:=IF(H=L,1,WJ-MIN(C,O));
V5:=VOL/IF(H=L,4,H-L);
V6:=(V1*V5);
V7:=(V2*V5);
V8:=(V3*V5);
V9:=(V4*V5);
����1:=DYNAINFO(23)*��;
����1:=DYNAINFO(22)*��;
����2:=IF(ISLASTBAR AND C>300,(V9+V8)*TT,(V9+V8));
����2:=IF(ISLASTBAR AND C>300,(V6+V7)*TT,(V6+V7));
����:=IF(ISLASTBAR AND PERIOD=5 AND C<300,����1,����2);
����:=IF(ISLASTBAR AND PERIOD=5 AND C<300,����1,����2);
����:=(����+����)/REF(VOL,1)>2;
MMM5:=CONST(����);
����:=REF(VOL,1)/(����+����)>1.5;
MMM6:=CONST(����);
������:=(����-����)/����>0.4;
MMM7:=CONST(������);
������:=(����-����)/����>0.4;
MMM8:=CONST(������);
TS1:=IF(���1=1,0.06+0.06,0.06); TS2:=IF(���2=1,TS1+0.06,TS1);
TS3:=IF(���3=1,TS2+0.06,TS2); TS4:=IF(���4=1,TS3+0.06,TS3);
TS5:=IF(���5=1,TS4+0.06,TS4); TS6:=IF(���6=1,TS5+0.06,TS5);
TS7:=IF(���7=1,TS6+0.06,TS6); TS8:=IF(���8=1,TS7+0.06,TS7);
TS9:=IF(���9=1,TS8+0.06,TS8); TS10:=IF(���10=1,TS9+0.06,TS9);
TS11:=IF(���11=1,TS10+0.06,TS10); TS12:=IF(���12=1,TS11+0.06,TS11);
TS13:=IF(���13=1,TS12+0.06,TS12); TS14:=IF(���14=1,TS13+0.06,TS13);
TS15:=IF(���15=1,TS14+0.06,TS14); TS16:=IF(���16=1,TS15+0.06,TS15);
TS17:=IF(����1=1,TS16+0.06,TS16); TS18:=IF(����2=1,TS17+0.06,TS17);
TS19:=IF(����3=1,TS18+0.06,TS18); TS20:=IF(����4=1,TS19+0.06,TS19);
TS21:=IF(����5=1,TS20+0.06,TS20); TS22:=IF(����6=1,TS21+0.06,TS21);
TS23:=IF(����7=1,TS22+0.06,TS22); TS24:=IF(����8=1,TS23+0.06,TS23);
TS25:=IF(MMM1=1,TS24+0.06,TS24);
TS26:=IF(MMM2=1,TS25+0.06,TS25);
TS27:=IF(MMM3=1,TS26+0.06,TS26);
TS28:=IF(MMM4=1,TS27+0.06,TS27);
TS29:=IF(MMM5=1,TS28+0.03,TS28);
TS30:=IF(MMM6=1,TS29+0.03,TS29);
TS31:=IF(MMM7=1,TS30+0.03,TS30);
TS32:=IF(MMM8=1,TS31+0.03,TS31);
DRAWTEXT_FIX(���1=1 ,0.10,0,0,'��������,������ǿ�����߲��룬��λ������70%���ҡ�'),COLORFF00FF;
DRAWTEXT_FIX(���2=1 ,0.10,0,0,'������ǿ,���ܲ��㣬���߽�������λ������50%���ҡ�'),COLORFF00FF;
DRAWTEXT_FIX(���3=1 ,0.10,0,0,'��������,����������ǿ�����߿ɽ�������λ50%���ҡ�'),COLORFF00FF;
DRAWTEXT_FIX(���4=1 ,0.10,0,0,'��̬�п�,���ܲ��㣬δȫ��ǿ�����룬��λ30%���ҡ�'),COLORFF00FF;
DRAWTEXT_FIX(���5=1 ,0.10,0,0,'��̬�ѱ仵,�����пɣ��ز�����룬�����%������'),COLOR00FFFF;
DRAWTEXT_FIX(���6=1 ,0.10,0,0,'������µ����������������Ǵ��̷��գ����ֻ���֡�'),COLOR00FFFF;
DRAWTEXT_FIX(���7=1 ,0.10,0,0,'�ùɷ����µ�����������ƫ���������������볡������'),COLORFFFFFF;
DRAWTEXT_FIX(���8=1 ,0.10,0,0,'�ù������µ�������ƫ������������ɢʧ���볡������'),COLORFFFF00;
DRAWTEXT_FIX(���9=1 ,0.10,0,0,'�ù���̬���ã�ǿ����