‹ 返回

48812

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

指标公式

װ: DRAWGBK(1,RGB(36,38,40),RGB(24,16,51),0,1,0);
VAR1B := (100 * (EMA(EMA(C - REF(C,1),6),6))) / (EMA(EMA(ABS(C - REF(C,1)),6),6));
���׺�� := ((LLV(VAR1B,2) = LLV(VAR1B,7)) AND (COUNT(VAR1B < 0,2))) AND CROSS(VAR1B,MA(VAR1B,2));
���� := IF((MA((VOL - REF(VOL,1)) / REF(VOL,1),10)) = DRAWNULL,EMA((VOL - REF(VOL,1)) / REF(VOL,1),10),MA((VOL - REF(VOL,1)) / REF(VOL,1),10));
�ɼ� := IF(((CLOSE - MA(CLOSE,22)) / MA(CLOSE,22)) = DRAWNULL,(CLOSE - EMA(CLOSE,22)) / EMA(CLOSE,22),(CLOSE - MA(CLOSE,22)) / MA(CLOSE,22));
�������� := IF(((�ɼ� * (100 + ����)) - (MA(�ɼ� * (100 + ����),7))) = DRAWNULL,(�ɼ� * (100 + ����)) - (EMA(�ɼ� * (100 + ����),7)),(�ɼ� * (100 + ����)) - (MA(�ɼ� * (100 + ����),7)));
���ܽ�� := CROSS(��������,0);
TYP := ((HIGH + LOW) + CLOSE) / 3;
CCI := (TYP - MA(TYP,14)) / (0.015 * AVEDEV(TYP,14));
CCI��� := CROSS(CCI,-100);
A1 := EMA(C,14);
A1X := ((A1 - REF(A1,1)) / REF(A1,1)) * 100;
����A := IF(A1X >= 0,REF(EMA(C,14),BARSLAST(CROSS(A1X,0)) + 1),DRAWNULL);
����A��� := CROSS(A1X,0);
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD��� := CROSS(DIFF,DEA);
MTR := EXPMEMA(MAX(MAX(HIGH - LOW,ABS(HIGH - REF(CLOSE,1))),ABS(REF(CLOSE,1) - LOW)),14);
HD := HIGH - REF(HIGH,1);
LD := REF(LOW,1) - LOW;
DMP := EXPMEMA(IF((HD > 0) AND (HD > LD),HD,0),14);
DMM := EXPMEMA(IF((LD > 0) AND (LD > HD),LD,0),14);
PDI := (DMP * 100) / MTR;
MDI := (DMM * 100) / MTR;
ADX := EXPMEMA(((ABS(MDI - PDI)) / (MDI + PDI)) * 100,6);
ADXR := EXPMEMA(ADX,6);
X1 := MAX(C,O);
X2 := MIN(C,O);
X := ((REF(C > O,2)) AND (REF(X1,2) >= HHV(X1,2))) AND (REF(X2,2) <= LLV(X2,2));
B := BARSLAST(X) + 2;
A := ((REF(X1,B) >= HHV(X1,B)) AND (REF(X2,B) <= LLV(X2,B))) AND (EVERY(V <= REF(V,1),B));
����� := (((REF(A,1) AND (C > O)) AND (C > REF(HHV(H,B),1))) AND (V > REF(HHV(V,B),1))) AND (EVERY(MA(C,5) > MA(C,10),B + 1));
ƽ̨��� : IF(((LAST(((H - L) / REF(C,1)) < 0.1,5,0)) AND (VOL > (REF(VOL,1) * 2))) AND (C > (REF(C,1) * 1.05)),1,DRAWNULL),NODRAW,COLOR6060A0;
NH := 18;
LOWV := LLV(LOW,NH);
HIGHV := HHV(HIGH,NH);
MAV := MA(V,3);
���� := ((HIGHV - LOWV) / NH) < 0.15;
����1 := V >= (1.8 * MAV);
������� := ((C - REF(C,1)) / REF(C,1)) >= 0.05;
���� : IF((���� AND ����1) AND �������,1,DRAWNULL),NODRAW,COLOR4080FF;
A�� := DMA(((H + L) + (C * 2)) / 4,0.9);
B�� := VOL / (((H - L) * 2) - (ABS(C - O)));
C��� := (IF(C > O,B�� * (H - L),IF(C < O,B�� * ((H - O) + (C - L)),VOL / 2))) + (IF(C > O,0 - (B�� * ((H - C) + (O - L))),IF(C < O,0 - (B�� * (H - L)),0 - (VOL / 2))));
A��� := (C��� / 20) / 1.15;
�������� := ((A��� * 0.618) + (REF(A���,1) * 0.382)) + (REF(HSL.HSL,2) * 0.168);
B��� := EMA(��������,3);
���� := IF(B��� > REF(B���,1),1,0);
AA�� := ((MAX(C,O) - MIN(C,O)) / MIN(C,O)) < 0.00618;
BB�� := ((H - MAX(C,O)) / MAX(C,O)) > 0.00382;
DD�� := ((MIN(C,O) - L) / L) > 0.00382;
EE�� := ((ABS(BB�� - DD��)) / C) < 0.00618;
�ǡ��� := ((AA�� AND BB��) AND DD��) AND EE��;
����ѡ := ((((�ǡ��� = 1) AND (���� = 1)) AND (C > O)) AND ((ABS((C - MA(C,20)) / MA(C,20))) > 0.0382)) AND ((H - MAX(C,O)) <= (MIN(C,O) - L));
����ȷ�� : IF(((IF((REF(����ѡ,1) = 1) AND (C >= REF(C,1)),1,0)) AND (C > O)) AND (((C - REF(C,1)) / REF(C,1)) > 0.00618),1,DRAWNULL),NODRAW,COLORFF3399;
һ�������� : IF(((((CROSS(PDI,MDI) AND CROSS(PDI,ADX)) AND CROSS(PDI,ADXR)) AND (CLOSE > OPEN)) AND ((C / REF(C,1)) > 0.5)) AND (VOL > (MA(VOL,5) * 1.5)),1,DRAWNULL),NODRAW,COLOR800080;
T31 := (REF(C,1) / REF(C,2)) >= 1.095;
T32 := (O > REF(C,1)) AND (C > O);
T33 := ((H > C) AND (O > L)) AND (L >= REF(C,1));
T34 := V > REF(V,1);
��ͣ���� : IF(((T31 AND T32) AND T33) AND T34,1,DRAWNULL),NODRAW,COLOR002080;
RSV := ((CLOSE - LLV(LOW,9)) / (HHV(HIGH,9) - LLV(LOW,9))) * 100;
K := SMA(RSV,3,1);
D := SMA(K,3,1);
J := (3 * K) - (2 * D);
KD��� := CROSS(K,D);
A1B := EMA(((L + H) + (C * 2)) / 4,14);
A1XB := ((A1B - REF(A1B,1)) / REF(A1B,1)) * 100;
����B := IF((A1XB >= 0) AND (BARSLAST(CROSS(A1XB,0)) > 0),REF((C + O) / 2,BARSLAST(CROSS(A1XB,0))),DRAWNULL);
����B��� := CROSS(����B,0);
WMTM := CLOSE - REF(CLOSE,12);
������� := CROSS(WMTM,0);
VAR1 := (CLOSE > REF(CLOSE,1)) AND (CLOSE > REF(CLOSE,2));
VAR2 := (REF(VAR1,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR3 := (REF(VAR2,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR4 := (REF(VAR3,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR5 := (REF(VAR4,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR6 := (REF(VAR5,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR7 := (REF(VAR6,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR8 := (REF(VAR7,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR9 := (REF(VAR8,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VARA := (REF(VAR9,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VARB := (REF(VARA,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VARC := (REF(VARB,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VARD := (CLOSE < REF(CLOSE,1)) AND (CLOSE < REF(CLOSE,2));
VARE := (REF(VARD,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VARF := (REF(VARE,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR10 := (REF(VARF,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR11 := (REF(VAR10,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR12 := (REF(VAR11,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR13 := (REF(VAR12,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR14 := (REF(VAR13,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR15 := (REF(VAR14,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR16 := (REF(VAR15,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
VAR17 := (REF(VAR16,1) AND (CLOSE <= REF(CLOSE,1))) AND (CLOSE >= REF(CLOSE,2));
VAR18 := (REF(VAR17,1) AND (CLOSE >= REF(CLOSE,1))) AND (CLOSE <= REF(CLOSE,2));
K�߽�� := (REF(((((((((((VARD OR VARE) OR VARF) OR VAR10) OR VAR11) OR VAR12) OR VAR13) OR VAR14) OR VAR15) OR VAR16) OR VAR17) OR VAR18,1)) AND VAR1;
�µ� := ((((((((((VARD OR VARE) OR VARF) OR VAR10) OR VAR11) OR VAR12) OR VAR13) OR VAR14) OR VAR15) OR VAR16) OR VAR17) OR VAR18;
K������ := (�µ� AND (C > O)) AND (C > REF(C,1));
����K�� := REF(K������,1) AND K�߽��;
HLC := REF(MA(((HIGH + LOW) + CLOSE) / 3,10),1);
HV := EMA(HHV(HIGH,10),3);
LV := EMA(LLV(LOW,10),3);
���֧��ѹ�� := EMA((HLC * 2) - LV,3);
����ͻ�� := EMA((C + REF(C,1)) / 2,3);
PSY := ((COUNT(CLOSE > REF(CLOSE,1),12)) / 12) * 100;
PSYMA := MA(PSY,6);
Ԥѡ��ȫ���� := (C <= ���֧��ѹ��) AND (C >= ����ͻ��);
����˥Ъ := CROSS(ADX,MDI);
������ := CROSS(PDI,MDI);
������� := CROSS(ADX,ADXR) AND (PDI > MDI);
��ѡ���ܽ�� := ���ܽ�� AND (����K�� OR ���׺��);
��ѡ������ := (Ԥѡ��ȫ���� AND (((����K�� OR ���׺��) OR �������) OR (����˥Ъ OR ������))) AND ((��ѡ���ܽ�� OR CCI���) OR ����A���);
�������ȷ�� := (������� OR (REF(�������,1) AND (������� OR ������))) OR (������ AND ����˥Ъ);
����B���ȷ�� := ����B��� AND ((REF(CCI��� OR KD���,1)) OR ����˥Ъ);
������ȷ�� := ������ OR (����˥Ъ AND �������);
MACD���ȷ�� := MACD��� AND REF(���ܽ��,1);
KD���ȷ�� := KD��� AND (REF((����K�� OR ���׺��) OR ����˥Ъ,1));
�Ȳ�ʤȯ : IF((REF(��ѡ������,1) AND ((�������ȷ�� OR ����B���ȷ��) OR ����)) AND ((������ȷ�� OR MACD���ȷ��) OR KD���ȷ��),1,DRAWNULL),COLORA000FF;
׷�� : IF(((((����� OR ƽ̨���) OR ����) OR һ��������) OR ����ȷ��) OR ��ͣ����,1,DRAWNULL),COLORRED;
��ע := ((((((((����K�� + ���׺��) + ���ܽ��) + CCI���) + CROSS(����A,0)) + CROSS(����B,0)) + �������) + ������) + KD���) + MACD���;
DRAWBAND(��ע,RGB(51,32,64),0,RGB(255,96,96));
STICKLINE(�Ȳ�ʤȯ,0,9.0,0.8,0),COLORLIMAGENTA;
STICKLINE(��ͣ����,0,4.0,0.3,0),COLOR002080;
STICKLINE(����ȷ��,0,3.5,0.0,0),COLORFF0080;
STICKLINE(�����,0,3.0,1.3,0),COLORRED;
STICKLINE(һ��������,0,2.5,1.8,0),COLORB040B0;
STICKLINE(����,0,2.0,2.3,0),COLOR0080FF;
STICKLINE(ƽ̨���,0,1.5,2.8,0),COLOR6060A0;
׷����ʾ���� := ((((����� OR ƽ̨���) OR ����) OR һ��������) OR ����ȷ��) OR ��ͣ����;
��K����ʾ���� := ((REFX(�Ȳ�ʤȯ OR ׷����ʾ����,1)) OR ��ѡ������) OR ((CURRBARSCOUNT <= 2) AND ��ѡ������);
��K����ʾ���� := (REFX(K�߽�� AND ��K����ʾ����,1)) OR ((CURRBARSCOUNT <= 2) AND ��ѡ������);
STICKLINE(K������ AND ��K����ʾ����,0,0.5,3.5,0),COLORLIGRAY;
STICKLINE(����K�� AND ��K����ʾ����,0,1.0,3.3,0),COLOR006060;
ͼ����ʾ := ((REFX(�Ȳ�ʤȯ,1) OR �Ȳ�ʤȯ) OR ׷����ʾ����) OR ((CURRBARSCOUNT <= 2) AND ��ѡ������);
DRAWICON(���׺�� AND ͼ����ʾ,0.3,1);
DRAWICON(����A��� AND ͼ����ʾ,1.0,16);
DRAWICON(����B��� AND ͼ����ʾ,2.0,17);
DRAWICON(CCI��� AND ͼ����ʾ,3.0,25);
DRAWICON(���ܽ�� AND ͼ����ʾ,4.0,26);
DRAWICON(KD��� AND ͼ����ʾ,5.0,27);
DRAWICON(MACD��� AND ͼ����ʾ,6.0,34);
DRAWICON(������ AND ͼ����ʾ,7.0,13);
DRAWICON(����˥Ъ AND ͼ����ʾ,6.5,14);
DRAWICON(������� AND ͼ����ʾ,8.0,23);
DRAWICON(������� AND ͼ����ʾ,9.5,30);
STICKLINE(CURRBARSCOUNT<2,HHV(C,40),LLV(C,40),4,1),COLORGRAY;
STICKLINE(CURRBARSCOUNT<2 AND C>=REF(C,1),C,LLV(C,40),3,0),COLORRED;
ST