‹ 返回

42254

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

指标公式

n:=30;m:=95;
C1:REF(C,1),linethick0;
L1:REF(L,1),linethick0;
��������:=selfstring('��������');
�����:=SELFDATA('�����');
DRAWTEXTREL(5,950,'����������: '+YEAR+'�� '+MONTH+'�� '+DAY+'�� '),linethick2,Colormagenta,layer0;
WW:=BARSLAST(DISPSTATUS=1);
��:=BARSLAST(L=LLV(LOW,WW));
DRAWTEXTREL(5,915,'��Ŀǰ�ɼ�K��:'+NUMTOSTRN(WW+1,0)+'��  50~65�쿴���в���'),linethick1,COLOR00ff00,layer0;
DIFF:= EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD:= 2*(DIFF-DEA);
����:= DIFF>0 AND DIFF>DEA;
����:=CROSS(DEA,DIFF);
ǿ��:=DIFF-DEA;
ǿ��1:=ref(ǿ��,1);
ת��:=DIFF>0 AND ǿ��<ǿ��1;
ZSQD1:=����=1 AND ǿ��>ǿ��1;
ZSQD2:=����=1 AND ǿ��<ǿ��1;
ZSQD3:=����<=O AND DIFF>DEA;
ZSQD4:=����<=O AND DIFF<DEA;
IF BARSTATUS=2 AND ZSQD1 THEN BEGIN
DRAWTEXTREL(400,120 ,'�� MACD 0���� ������ �ֹɣ�'),COLOR0000FF,LINETHICK2,LAYER0;
END
ELSE
IF BARSTATUS=2 AND ZSQD2 THEN BEGIN
DRAWTEXTREL(400,120 ,'�� MACD 0���� �½��� С�ģ�'),COLOR00FFFF,LINETHICK2,LAYER0;
END
ELSE
IF BARSTATUS=2 AND ZSQD3 THEN BEGIN
DRAWTEXTREL(400,120 ,'�� MACD 0���� ������ ������'),COLORFFFFFF,LINETHICK2,LAYER0;
END
ELSE
IF BARSTATUS=2 AND ZSQD4 THEN BEGIN
DRAWTEXTREL(400,120 ,'�� MACD 0���� �½��� ������'),COLOR00FF00,LINETHICK2,LAYER0;
END	
DRAWTEXTREL(250,20,'   ���Ʒ���'),COLORFFFFFF,layer0,LINETHICK2;
MA3:=MA(CLOSE,3);
MA8:=MA(CLOSE,8);
MA21:=MA(CLOSE,21);
���ߺ�:=MA3>REF(MA3,1) AND MA8>REF(MA8,1) AND  MA21>REF(MA21,1);
������:=MA3>MA8 AND MA8>MA21
AND MA3>REF(MA3,1) AND MA8>REF(MA8,1) AND  MA21>REF(MA21,1) ;
�ص���:=MA3<REF(MA3,1) AND MA8>REF(MA8,1) AND  MA21>REF(MA21,1) ;
����:=MA21/REF(MA21,1);
����1:=����>=1.003;
����2:=����<1.003;
����3:=����<0;
IF BARSTATUS=2 AND ����1 THEN BEGIN
DRAWTEXTREL(240,120 ,'�� �������� ��ǿ �ֹɣ�'),COLOR0000FF,LINETHICK2;
END
ELSE
IF BARSTATUS=2 AND ����2 THEN BEGIN
DRAWTEXTREL(240,120 ,'�� �������� ��ƽ С�ģ�'),COLOR00FFFF,LINETHICK2;
END
ELSE
IF BARSTATUS=2 AND ����3 THEN BEGIN
DRAWTEXTREL(240,120 ,'�� �������� ���� �˳���'),COLOR00FF00,LINETHICK2;
END
����21:=barslast(CROSS(MA21,ref(ma21,1)));;
ţ��:=100-100*(HHV(HIGH,5*8)-CLOSE)/(HHV(HIGH,5*8)-LLV(LOW,5*8));
ţ��:CROSS((100-100*(HHV(HIGH,5*8)-CLOSE)/(HHV(HIGH,5*8)-LLV(LOW,5*8))),99),linethick0;
kk:=-150;
kkk:=790;
NG1:=ţ��>REF(ţ��,1);
NG2:=ţ��<REF(ţ��,1);
NG3:=ţ��=REF(ţ��,1);
IF BARSTATUS=2 AND NG1 THEN BEGIN 
DRAWRECTREL(380+kk,50+kkk,520+kk,220+kkk,rgb(0,0,255)),layer0,colorffffff,LINETHICK1;
DRAWTEXTREL(382+kk,70+kkk,'  ���ɼ� ������'),COLORRED,linethick3,layer0;
DRAWTEXTREL(382+kk,120+kkk,'  ��������: '+NUMTOSTRN(ţ��,2)),COLORRED,linethick2,layer0;
DRAWTEXTREL(382+kk,170+kkk,'  ��������: '+NUMTOSTRN((REF(ţ��,1)),2)),COLORGREEN,linethick2,layer0;
DRAWTEXTREL(870,940,'��שǿ��ѡ��'),COLOR0000FF,linethick4,layer0;
END
ELSE
IF BARSTATUS=2 AND NG2 THEN BEGIN 	
DRAWRECTREL(380+kk,50+kkk,520+kk,220+kkk,rgb(47,79,79)),layer0,color00FF00,LINETHICK1;
DRAWTEXTREL(382+kk,70+kkk,'   ���ɼ� �µ���'),COLORFFFFFF,linethick2,layer0;
DRAWTEXTREL(382+kk,120+kkk,'  ��������: '+NUMTOSTRN(ţ��,2)),COLORFFFFFF,linethick2,layer0;
DRAWTEXTREL(382+kk,170+kkk,'  ��������: '+NUMTOSTRN((REF(ţ��,1)),2)),COLORRED,linethick2,layer0;
DRAWTEXTREL(870,940,'��שǿ��ѡ��'),COLOR00FF00,linethick4,layer0;
END
ELSE
IF BARSTATUS=2 AND NG3 THEN BEGIN 	
DRAWRECTREL(380+kk,50+kkk,520+kk,220+kkk,rgb(0,0,255)),layer0,colorFFFFFF,LINETHICK1;
DRAWTEXTREL(382+kk,70+kkk,'  ���ɼ� ƽ�̡�'),COLORYELLOW,linethick3,layer0;
DRAWTEXTREL(382+kk,120+kkk,'  ��������: '+NUMTOSTRN(ţ��,2)),COLORYELLOW,linethick2,layer0;
DRAWTEXTREL(382+kk,170+kkk,'  ��������: '+NUMTOSTRN((REF(ţ��,1)),2)),COLORFFFFFF,linethick2,layer0;
DRAWTEXTREL(870,940,'��שǿ��ѡ��'),COLORFFFFFF,linethick4,layer0;
END		
NX:=ţ��>0;
IF BARSTATUS=2 AND NX THEN BEGIN 
DRAWRECTREL(380+kk,50+kkk,520+kk,220+kkk,rgb(0,0,255)),layer0,colorffffff,LINETHICK1;
DRAWRECTREL(398+kk,84+kkk,482+kk,183+kkk,rgb(255,0,0)),layer0,colorffffff,LINETHICK1;
DRAWTEXTREL(406+kk,110+kkk,'ţ ��'),COLORFFFFFF,linethick5,layer0;
DRAWTEXTREL(870,940,'��שǿ��ѡ��'),COLOR0000FF,linethick4,layer0;
END
DRAWTEXTREL(177,20,'�������'),COLORFFFFFF,layer0,LINETHICK2;
XSVAR2:=CLOSE*VOL;
XSVAR3:=EMA((EMA(XSVAR2,3)/EMA(VOL,3)+EMA(XSVAR2,6)/EMA(VOL,6)+EMA(XSVAR2,12)/EMA(VOL,12)+EMA(XSVAR2,24)/EMA(VOL,24))/4,13);
XSVAR4:=EMA(CLOSE,9);
SUP:1.06*XSVAR3,linethick0;
SUP1:=REF(SUP,1);
SUP2:=REF(SUP,2);
HUP:EMA(XSVAR4*1.14,5),linethick0;
��ש:=SUP>SUP1 AND C>SUP;
��ש:=SUP>SUP1 AND C<SUP;
IF BARSTATUS=2 AND ��ש THEN BEGIN
DRAWTEXTREL(205,70,'��'),COLOR00FFFF,layer0,LINETHICK3;
END
ELSE
IF BARSTATUS=2 AND ��ש THEN BEGIN
DRAWTEXTREL(205,70,'��'),COLOR00ff00,layer0,LINETHICK3;
END
��ש1:=SUP1>SUP2 AND C1>SUP1;
��ש1:=SUP1>SUP2 AND C1<SUP1;
IF BARSTATUS=2 AND ��ש1 THEN BEGIN
DRAWTEXTREL(177,70,' ��'),COLOR00FFFF,layer0,LINETHICK3;
END
ELSE
IF BARSTATUS=2 AND ��ש1 THEN BEGIN
DRAWTEXTREL(177,70,' ��'),COLOR00ff00,layer0,LINETHICK3;
END
STICKLINE(��ש,SUP,SUP1,6,0),CoLor00FFFF,LAYER0;
STICKLINE(��ש,SUP,SUP1,6,0),CoLor00ff00,LAYER0;
ש��:=(SUP-SUP1)-(SUP1-SUP2);
FDU1:=ש��>0;
FDU2:=ש��<0;
IF BARSTATUS=2 AND FDU1 THEN BEGIN
DRAWTEXTREL(240,70 ,'�� ש��  ���� �ֹɣ�'),COLORRED,LINETHICK2;
END
ELSE
IF BARSTATUS=2 AND FDU2 THEN BEGIN
DRAWTEXTREL(240,70 ,'�� ש��  ��С С�ģ�'),COLOR00FFFF,LINETHICK2;
END
JZVAR1:=(CLOSE+HIGH+LOW)/(3);
JZVAR2:=EMA(JZVAR1,10);
��ש:=JZVAR2>REF(JZVAR2,1);
��ש1:=REF(JZVAR2,1)>REF(JZVAR2,2);
STICKLINE(��ש,JZVAR2,REF(JZVAR2,1),4,0),CoLorred,layer0;
����1:=��ש>0;
IF BARSTATUS=2 AND ����1 THEN BEGIN
DRAWTEXTREL(205,110,'��'),COLORRED,layer0,LINETHICK3;
END
����2:=��ש1>0;
IF BARSTATUS=2 AND ����2 THEN BEGIN
DRAWTEXTREL(177,110,' ��'),COLORRED,layer0,LINETHICK3;
END
ǿ��:=��ש>0
AND ������;     
VERTLINE(CROSS(ǿ��,0.1),2),COLORmagenta,layer2;
DRAWTEXT(CROSS(ǿ��,0.1),C,'----'+NUMTOSTRN(C,2)),Colormagenta,linethick2,layer0;
DRAWTEXT(CROSS(ǿ��,0.1),H*1.03,'��ǿ��'),Colormagenta,linethick1,ALIGN1,layer0;
����A:=��ש>0 AND ��ש>0 AND MA21>REF(MA21,1)  
AND ����21<=3;
VERTLINE(CROSS(����A,0.1),2),COLORFFFFFF,layer2;
DRAWTEXT(CROSS(����A,0.1),C,'----'+NUMTOSTRN(C,2)),ColorFFFFFF,linethick2,layer0;
DRAWTEXT(CROSS(����A,0.1),L*0.97,'������A'),ColorFFFFFF,linethick1,ALIGN1,layer0;
����B:=C1<SUP1 AND ��ש>0 AND ��ש>0  
AND (����>0 OR REF(����,1)>0) AND REF(DIFF,1)<0;
VERTLINE(CROSS(����B,0.1),2),COLOR00FFFF,layer2;
DRAWTEXT(CROSS(����B,0.1),C,'----'+NUMTOSTRN(C,2)),Color00FFFF,linethick2,layer0;
DRAWTEXT(CROSS(����B,0.1),L*0.98,'������B'),Color00FFFF,linethick1,ALIGN1,layer0;
MR1:=(C1<SUP1 AND ��ש>0 AND ��ש>0 AND ������>0) 
OR (��ש1>0 AND ��ש>0 AND ��ש>0 AND ������>0)
OR (��ש>0 AND ������);
MR2:=(C1<SUP1 AND ��ש>0 AND ��ש>0 AND ���ߺ�>0 )
OR (��ש>0 AND ��ש>0 AND MA21>REF(MA21,1) AND REF(MA21,1)<REF(MA21,2))
OR (C1<SUP1 AND ��ש>0 AND ��ש>0);
MR3:=��ש1>0 AND ��ש>0 AND ��ש>0 AND ������>0;
MR4:=��ש1>0 AND ��ש>0 AND ��ש>0 AND ������>0;
MR5:=(��ש1>0 AND ��ש>0 AND ��ש>0 AND ���ߺ�>0) OR (��ש1>0 AND ��ש>0 AND ��ש>0 AND ���ߺ�>0);
MR6:=�ص���>0 AND ��ש>0;
MR7:=JZVAR2<REF(JZVAR2,1) OR ��ש=0  OR (��ש=0 AND ��ש=0);
IF BARSTATUS=2 AND MR1 THEN BEGIN 
DRAWTEXTREL(600,50,'�� ��ש���� �������� ǿ���ź� MR1��'),COLORmagenta,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR2 THEN BEGIN
DRAWTEXTREL(600,50,'�� ����תǿ �������� �����ź� MR2��'),COLOR00FFFF,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR3 THEN BEGIN
DRAWTEXTREL(600,50,'�� ��ש���� ������������ �ֹ� MR3��'),COLOR0000FF,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR4 THEN BEGIN
DRAWTEXTREL(600,50,'�� ����ǿ ������������ MR4��'),COLORmagenta,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR5 THEN BEGIN
DRAWTEXTREL(600,50,'�� ����ƽ ������������ MR5��'),COLOR00FFFF,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR6 THEN BEGIN 
DRAWTEXTREL(600,50,'�� ��ש���� �ص����� MR6��'),COLOR00CCFF,LINETHICK4;
END
ELSE
IF BARSTATUS=2 AND MR7 THEN BEGIN
DRAWTEXTREL(600,50,'�� ��ש��ʧ �����ͺã�'),COLOR00FF00,LINETHICK4;
END
MR9:=��ש1>0 AND ��ש>0 AND JZVAR2>REF(JZVAR2,1)
AND C>HUP AND C1>REF(HUP,1)
AND C/REF(C,1)>1.05
AND REF(C,1)/REF(C,2)>1.05;
MR10:=��ש1>0 AND ��ש>0 AND JZVAR2>REF(JZVAR2,1)
AND C>HUP AND C1>REF(HUP,1)
AND C/REF(C,1)>1.05
AND REF(C,1)/REF(C,2)<1.05;
IF BARSTATUS=2 AND MR9 THEN BEGIN 
DRAWTEXTREL(600,170,' �� ţ�� ���벻���'),COLORRED,layer0,LINETHICK2;
END
ELSE
IF BARSTATUS=2 AND MR10 THEN BEGIN 
DRAWTEXTREL(600,170,' �� ţ�� ���벻���'),COLOR00FFFF,layer0,LINETHICK2;
END
AAA:=(3*C+H+L+O)/6;
VAR1:=(8*AAA+7*REF(AAA,1)+6*REF(AAA,2)+5*REF(AAA,3)+4*REF(AAA,4)+3*REF(AAA,5)+2*REF(AAA,6)+REF(AAA,8))/36;
VAR2:=(HHV(VAR1,5)+HHV(VAR1,10)+HHV(VAR1,20))/3;
VAR3:=(LLV(VAR1,5)+LLV(VAR1,10)+LLV(VAR1,20))/3;
VAR4:=(HHV(VAR2,5)+HHV(VAR2,10)+HHV(VAR2,20))/3;
VAR5:=(LLV(VAR3,5)+LLV(VAR3,10)+LLV(VAR3,20))/3;
VAR6:=(LLV(VAR1,2)+LLV(VAR1,4)+LLV(VAR1,6))/3;
BBB:=VAR1>VAR6 AND REF(VAR1,1)=REF(VAR6,1);
CCC:=VAR1>VAR6 AND VAR6>VAR4 AND REF(VAR1,1)=REF(VAR4,1);
DDD:=VAR1=VAR4 AND VAR4>REF(VAR4,1);
EEE:=VAR1>VAR6 AND VAR1>REF(VAR1,1) AND VAR6>REF(VAR6,1);
FFF