‹ 返回9547
🔧 核心通用·带A股选股过滤(核心可用 · 把'去ST/选板块/CODELIKE'那行删掉,美港马加都能跑)
周期:长线用途:只管进单(找买点/选股)(纯多·只做多)
📊 把公式 9547 实时算进主散博弈(纯技术函数;选股/筹码特殊函数会标注不支持)
🧩 这个指标拆开看 = 哪些"积木"组合的
① 定方向(趋势)均线类 MA/EMA — 一段时间的平均价,铺出趋势中枢、看多空排列
MACD — 快慢均线之差,测趋势动能、金叉死叉
DMA — 两条不同周期均线之差,测中线方向
② 验量能(量价)成交量/额 VOL — 量在价先——放量证实突破、缩量过滤假信号
③ 抓买卖点(择时摆动)KDJ 随机 — 收盘在近期高低区间的位置,抓超买超卖+金叉
RSI — 涨跌力量强弱,超买超卖与背离
CCI — 价偏离均值的强弱,±100 进出
BIAS 乖离 — 价对均线偏离过大要回归
波动通道ATR 波幅 — 真实波幅,量风险、设止损
④ 触发(信号扳机)CROSS 交叉 — 两线金叉/死叉当买卖扳机
突破/计数/过滤 — 突破前高、信号计时与去重
搭条件的零件HHV/LLV/REF 等 — 取区间最高最低、引用前N根——搭条件的零件
图上标注买卖点画线/标注 — 在图上画柱、标买卖点、上色提示(只是显示,不是判断逻辑)
⚠️ A股专属(港股/美股/马股/加密都没有)去ST/风险股 — 剔除A股ST风险股
组合思路:用均线/MACD 定方向,再用通道测波动边界,再用量能验证真假,再用摆动指标抓超买超卖,再用金叉/突破当买卖扳机。把几件事叠在一起同时成立,才算一个'信号'——叠得越多看着越细,但也越容易过度拟合。 ⚠️ 这条含 A股专属逻辑(涨停板/龙虎榜/代码板块)——只有大陆A股有这制度,港股、美股、马股、加密统统没有,这部分搬不过去。
指标公式
���ǻ�FFS+Xָ�깫ʽԴ������:
KG:=FRACPART(CURRENTTIME/3);
if KG<>0 then begin
qq:=KG<>0;
80*qq,COLOR996699;
20*qq,COLORGREEN;
��:10*qq,COLORCC6633,LINETHICK2;
90*qq,COLOR9966FF,LINETHICK2;
50*qq,COLORRED;
A:=MA(-100*(HHV(HIGH,34)-CLOSE)/(HHV(HIGH,34)-LLV(LOW,34)),19);
B:=-100*(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14));
D:=EMA(-100*(HHV(HIGH,34)-CLOSE)/(HHV(HIGH,34)-LLV(LOW,34)),4);
������:A+100,COLOR9900FF;
������:B+100,COLOR888888;
������:D+100,COLORYELLOW,LINETHICK2;
����:=((REF(������,1)>85 AND REF(������,1)>85 AND REF(������,1)>65) AND CROSS(������,������));
��������:(������<REF(������,1) AND REF(������,1)>80) AND (REF(������,1)>95 OR REF(������,2)>95 ) AND ������>60 AND ������<83.5
AND ������<������ AND ������<������+4,COLORRED;
����:=FILTER(��������,4);
STICKLINE( ����,99,103,20,1 ),COLORRED,LINETHICK2;
�ײ�����:(������<12 AND ������<8 AND (������<7.2 OR REF(������,1)<5) AND (������>REF(������,1) OR ������>REF(������,1)))
OR (������<8 AND ������<7 AND ������<15 AND ������>REF(������,1)) OR (������<10 AND ������<7 AND ������<1) ,COLORGREEN;
STICKLINE( �ײ�����,-4,0,22,0 ),COLORGREEN;
����:30*(������<15 AND REF(������,1)<15 AND ������<18 AND ������>REF(������,1) AND CROSS(������,������) AND ������>������
AND (REF(������,1)<5 OR REF(������,2)<5 ) AND (������>=������ OR REF( ������,1)<1 )),COLORRED;
DRAWGBKLAST(CLOSE>OPEN,STRIP(RGB(0,50,0),RGB(125,50,0),1));
DRAWGBKLAST(CLOSE<OPEN,STRIP(RGB(95,35,0),RGB(0,85,0),1));
end;
if KG=0 then begin
yy:=KG=0;
RV:=(CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100;
RG:=(CLOSE-LLV(LOW,5))/(HHV(HIGH,5)-LLV(LOW,5))*100;
var4:=SMA(RV,3,1);
var5:=SMA(var4,3,1);
KK:=EMA(SMA(RG,3,1),2);
DD:=SMA(KK,3,1);
DRAWTEXTREL(0,10,STKLABEL+' '+STKNAME+''),Color00DDFF;
DRAWTEXT(cross(var4,var5) and cross(KK,DD),10,'�����'),COLORyellow;
VERTLINE(cross(var4,var5) and cross(KK,DD),1),COLOR00FFFF;
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
A:=IF(CROSS(0,DEA),1,0);
A1:=IF(DIFF<0 AND CROSS(DIFF,DEA),1,0);
SS:=IF(A,SUM(A1,0),0);
SSB:=HHV(SS,0);
SSS:=SUM(A1,0);
W��ѡ��:IF(SSS-SSB=2 AND SSS>REF(SSS,1),-22,0),LINETHICK2,COLORffff00;
IF(SSS-SSB=2 AND SSS>REF(SSS,1),-12,0),LINETHICK2,COLORffff00;
DRAWTEXT(A1,-8,'�IW��'),COLORyellow;
VARO5:=LLV(LOW,27);
VARO6:=HHV(HIGH,34);
VARO7:=EMA((CLOSE-VARO5)/(VARO6-VARO5)*4,4)*25;
������: IF((VARO7<10),-6,0) ,COLORyellow,LINETHICK3;
IF((VARO7<10),-3,0) ,COLORblack,LINETHICK3;
MA2:=EMA(C,2);MA5:=EMA(C,5);MA13:=EMA(C,13);MA30:=EMA(C,30);MA55:=EMA(C,55);YCX:=MA5>=REF(MA5,1);H1:=MAX(MAX(MA5,MA13),MA30);L1:=MIN(MIN(MA5,MA13),MA30);һ��������:= H1<C AND O<L1 AND YCX AND MA2>REF(MA2,1);����ѡ��:IF(һ��������,38,0),COLORFFFF00,LINETHICK3;
IF(һ��������,30,0),COLORblack,LINETHICK3;
DRAWTEXT(һ��������,42,'�L��'),COLORffff00;
VAR2:=0.0001*AMOUNT;
MA1:=0.0001*MA(AMOUNT,5);
M2:=0.0001*MA(AMOUNT,10);
���յ���:LLV(VAR2,100)=VAR2,STICK,COLORCC66FF,LINETHICK0;
DRAWTEXT(���յ���,-8,'�I��'),COLORCC66FF;
AA05:=MA(C,5);
���չ�����:=(c-AA05)/AA05*100;
BB05:=atan((aa05/ref(aa05,1)-1)*100)*180/3.1416;
�ٶ�5:=sma(ema((AA05-ref(AA05,1))/ref(AA05,1),3)*100,3,1);
���ٶ�5:=ema((�ٶ�5-ref(�ٶ�5,1)),3);
AA10:=MA(C,10);AA20:=MA(c,20);
BB10:=atan((aa10/ref(aa10,1)-1)*100)*180/3.1416;
AA30:=MA(C,30);
��ʰ�չ�����:=(c-AA30)/AA30*100;
(AA20-AA30)>ref((AA20-AA30),1) and AA20>ref(aa20,1) and AA30>ref(AA30,1);
(AA30-AA20)<ref((AA30-AA20),1) and AA20<ref(aa20,1) and AA30<ref(AA30,1);
BB30:=atan((aa30/ref(aa30,1)-1)*100)*180/3.1416;
ǿ�ƾѻ�ѡ��:filter(BB30>30 and BB10>45 and cross(BB05,60),10);
�Ӳ�:=filter(count(cross(BB05,30),5)>=1 and AA05>ref(aa05,1) and ��ʰ�չ�����>ref(��ʰ�չ�����,1) and AA10>ref(AA10,1)
and ���ٶ�5>ref(���ٶ�5,1) and �ٶ�5>ref(�ٶ�5,1) ,10) ;
MR:=count(cross(���չ�����,0),3)>=1 and ��ʰ�չ�����>ref(��ʰ�չ�����,1) and AA05>ref(AA05,1) and (c/ref(c,1)-1)*100>5 and ref(c,1)<AA30;
����ֱ��ѡ��:if(filter(MR,10),30,0),COLORblue,LINETHICK3;
if(filter(MR,10),20,0),COLORblack,LINETHICK3;
DRAWTEXT(����ֱ��ѡ��,36,'�L��'),COLORblue;
QUAN:(CLOSE-DMA(CLOSE,VOL/SUM(VOL,13)))/DMA(CLOSE,VOL/SUM(VOL,13))*100<=-28 AND (CLOSE-DMA(CLOSE,VOL/SUM(VOL,34)))/DMA(CLOSE,VOL/SUM(VOL,34))*100<=-19
AND C/REF(C,25)<=1.1 AND IF((((HIGH > (LOW * 1.051)) AND (COUNT((HIGH > (LOW * 1.051)),5) > 1)) AND ((((CLOSE / MA(CLOSE,40)) * 100) < 78) OR
(((CLOSE / MA(CLOSE,60)) * 100) < 74))),2,0) AND
(SMA(MAX(C-REF(C,2),0),7,1)/SMA(ABS(C-REF(C,2)),7,1)*100)<15 AND IF(SMA((CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100,2,1)>REF(SMA((CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100,2,1),1)
AND REF(SMA((CLOSE-LLV(LOW,8))/
(HHV(HIGH,8)-LLV(LOW,8))*100,2,1),1)<REF(SMA((CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100,2,1),2)
AND SMA((CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100,2,1)<23 ,1.5,0) AND FILTER((C/MA(C,48))<0.75 AND (C/MA(C,70))<0.70 AND
((C-L)/C>0.02 OR C>REF(C,1)*1.01) AND V<REF(V,1)*2.8 AND (COUNT(C<O*0.93,2)=2 OR COUNT(H/L>1.1,5)>3),3);
DRAWTEXT(QUAN,88,'���аٷ�����'),COLORffff00;
���аٷ�����:IF(QUAN,88,0),COLORffff00,LINETHICK2;
IF(QUAN,60,0),COLORffff00,LINETHICK2;
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100;
�Ӷ�:CROSS(80,RSI)*68,LINETHICK3 ,colorgreen;
CROSS(80,RSI)*50,LINETHICK3 ,colorblack;
DRAWTEXT(CROSS(80,RSI),68,'�� '),colorgreen;
BIAS1W :=(CLOSE-MA(CLOSE,6))/MA(CLOSE,6)*100;
BIAS2W :=(CLOSE-MA(CLOSE,12))/MA(CLOSE,12)*100;
BIAS3W :=(CLOSE-MA(CLOSE,24))/MA(CLOSE,24)*100;
MM:=(BIAS1W+2*BIAS2W+3*BIAS3W)/6;
MN:=MA(MM,3);
VAR24:=LLV(LOW,36);
VAR25:=HHV(HIGH,30);
VAR26:=EMA((CLOSE-VAR24)/(VAR25-VAR24)*4,4)*25;
�ױ���:IF(MN<-4 ,-11,0),COLORA67D3D,LINETHICK3;
������: IF((VAR26>90),110,100), COLORgreen,LINETHICK3;
IF(MN<-4 ,-8,0),COLORblack,LINETHICK2;
IF((VAR26>90),106,100), COLORblack,LINETHICK3;
100*yy,COLORffff00, LINETHICK1;
V1:=LLV(LOW,10);
V2:=HHV(H,25);
���:=EMA((C-V1)/(V2-V1)*4,4);
����:STICKLINE(yy and CROSS(���,0.3),50,5,2,0),COLOR00CCFF,LINETHICK1;
STICKLINE(CROSS(���,0.3),30,5,2,0),COLORRED,LINETHICK1;
����:STICKLINE(yy and CROSS(3.5,���),60,100,2,0),COLORRED,LINETHICK1;
STICKLINE(CROSS(3.5,���),80,100,2,0),COLORFF9900,LINETHICK1;
DRAWTEXT(CROSS(��λ��,0.3),45,'←B'),COLORFFAA66;
DRAWTEXT(CROSS(3.5,��λ��),75,'←S'),COLORFFFFCC;
VAR2Q:=REF(LOW,1);
VAR3Q:=SMA(ABS(LOW-VAR2Q),3,1)/SMA(MAX(LOW-VAR2Q,0),3,1)*100;
VAR4Q:=EMA(IF(CLOSE*1.3,VAR3Q*10,VAR3Q/10),3);
VAR5Q:=LLV(LOW,30);
VAR6Q:=HHV(VAR4Q,30);
VAR7Q:=IF(MA(CLOSE,58),1,0);
VAR8Q:=EMA(IF(LOW<=VAR5Q,(VAR4Q+VAR6Q*2)/2,0),3)/618*VAR7Q;
VAR9Q:=IF(VAR8Q>100,100,VAR8Q);
AA3:=(HHV(HIGH,21)-CLOSE)/(HHV(HIGH,21)-LLV(LOW,21))*100-10;
AA4:=(CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21))*100;
AA5:=SMA(AA4,13,8);
����:=CEILING(SMA(AA5,13,8));
AA6:=SMA(AA3,21,8);
BIAS1:=(C-MA(C,6))/MA(C,6)*100;
BIAS2:=(C-MA(C,12))/MA(C,12)*100;
BIAS3:=(C-MA(C,24))/MA(C,24)*100;
BIAS:=(BIAS1+2*BIAS2+3*BIAS3)/6;
����1:=MA(BIAS,3);
����:IF(CROSS(BIAS,����1) AND ����1<-9,28,0),COLORAAAAFF,LINETHICK3;
DRAWTEXT(����,32,'�L��'),COLORAAAAFF;
IF(CROSS(BIAS,����1) AND ����1<-9,20,0),COLORblack,LINETHICK3;
VARC:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1);
������:EMA(IF(L<= LLV(L,30),VARC,0),3),COLORff00ff,LINETHICK2;
TR:=SUM(MAX(MAX((HIGH - LOW),ABS((HIGH - REF(CLOSE,1)))),ABS((LOW - REF(CLOSE,1)))),5);
HD:=(HIGH - REF(HIGH,1));
LD:=(REF(LOW,1) - LOW);
DMP:=(SUM(IF(((HD > 0) AND (HD > LD)),HD,0),5) );
DMM:=SUM(IF(((LD > 0) AND (LD > HD)),LD,0),5);
��͵��:=(((DMP ) * 100) / TR);
������:=((DMM * 100) / TR);
����������:=(MA(((ABS((������ - ��͵��)) / (������ + ��͵��)) * 100),3));
ADXR:=((���������� + REF(����������,3)) / 2);
VAR3:=MA(CLOSE,2);
VAR7:=REF(VAR3,1);
��ǿ����:=((SMA(MAX((VAR3 - VAR7),0),5,1) / SMA(ABS((VAR3 - VAR7)),5,1)) * 100);
��:( IF(((���������� > 88) AND (��͵�� < 5.8)),68,0)),LINETHICK1,COLORFF00FF;
TYP := (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,14))/(0.015*AVEDEV(TYP,14));
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*500-250;
K:=SMA(RSV,3,1);
Var1:=(CLOSE*2+HIGH+LOW)/4;
SK:= EMA(Var1,13)-EMA(Var1,73);
SD:= EMA(SK,2);
���ѡ��:(cross(sk,sd) and sk<-0.04 and (c-ref(c,1))/ref(c,1)>=0.03)
or (cross(sk,sd) and sk<=-0.14 ) or (cross(sk,sd) and sk<=0.05
and (v/ma(v,5)>2 or c/ref(c,1)>0.035));
IF(���ѡ��,28,0),COLORyellow,LINETHICK3;
IF(���ѡ��,22,0),COLORblack,LINETHICK3;
DRAWTEXT(���ѡ��,32,'�L��'),COLORyellow;
RSI5:=((SMA(MAX((CLOSE - LC),0),5,1) / SMA(ABS((CLOSE - LC)),5,1)) * 100);
TR1:=SUM(MAX(MAX((HIGH - LOW),ABS((HIGH - REF(CLOSE,1)))),ABS((LOW - REF(CLOSE,1)))),10);
PDI:=((DMP * 100) / TR1);
MDI:=((DMM * 100) / TR1);
ADX:=MA(((ABS((MDI - PDI)) / (MDI + PDI)) * 100),5);
AV:=(RSI5 + ADX);
DXR:=(((ADX + REF(ADX,5)) / 2) + RSI5);
WR10:=((100 * (HHV(HIGH,10) - CLOSE)) / (HHV(HIGH,10) - LLV(LOW,10)));
NEWVOL:=(RSI5 - WR10);
��֮:=(AV + NEWVOL);
����:if(CROSS(��֮,0),28,0),LINETHICK3,COLOR9370DB;
if(CROSS(��֮,0),22,0),LINETHICK3,COLORblack;
DRAWTEXT(����,32,'�L��'),COLOR9370DB;
N:=20;
MID:=MA(C,N);
VART1:=POW((C-MID),2);
VART2:=MA(VART