指标构成与逻辑说明
该指标是一个复合型选股公式,通过整合多个技术指标和量价条件,筛选出“蓄势突破”形态的个股。其核心输出为“蓄势突破”信号。
主要模块解析:
1. 布林带系统:
`BSTL`:20日收盘价均线,作为中轨。
`UPPER` / `LOWER`:基于中轨加减2倍20日标准差形成的上、下轨。
`WIDTH` / `MAWIDTH`:布林带宽度(带宽与中轨比值)及其6日均线,用于衡量波动率。
2. 多空布林带系统:
`BBIBSTL`:由3、6、12、24日收盘价均线再次平均计算得出的多空线。
`UPR` / `DWN`:基于多空线加减6倍11日标准差形成的上、下轨。
`WIDTH1` / `MAWIDTH1`:多空布林带宽度及其6日均线。
3. 轨道线系统:
`UPPE` / `LOWE` / `ENE`:基于25日均线上下浮动6%形成的上轨、下轨及轨道中值线。
4. 经典技术指标:
`K` / `D` / `J`:随机指标(KDJ)的快线、慢线和J值。
`DIF` / `DEA` / `MACD`:指数平滑异同移动平均线(MACD)的差离值、信号线和柱状线。
`MA05` / `MA10` / `MA30` / `MA60`:5、10、30、60日简单移动平均线。
`CCI`:商品路径指标,用于判断价格是否已超出常态分布范围。
5. 成交量与流动性分析:
`MAVOL5` / `MAVOL10` / `MAVOL30` / `MAVOL60`:成交量均线。
`换手率`:基于流通盘的换手率。
`虚拟量` / `虚换手` / `虚换比` / `虚拟额`:用于盘中动态估算全天成交量、换手率及成交额的系列指标。
`LB`:量比。
6. 涨停板分析:
`ZT` / `一字涨停` / `冲ZT`:定义涨停、一字涨停及盘中触及涨停。
`ZT3` / `ZT5` / `ZT10` / `ZT30` / `ZT40` / `ZT60`:统计3、5、10、30、40、60日内的涨停次数。
7. 趋向指标(DMI)系统:
`PDI` / `MDI`:上升方向线和下降方向线。
`ADX` / `ADXR`:平均趋向指数及其评估线,用于衡量趋势强度。
8. 自定义价格通道:
`通道1` / `通道2`:基于5日加权均线(AA)上下浮动2%形成的通道。
`通道3` / `通道4`:基于动态移动平均(DD)上下浮动7%形成的通道。
9. 基本面与板块过滤:
`剔除大盘` / `我大盘`:通过一系列财务和股本条件(如市值、市盈率、亏损状态、股价等)以及股票代码前缀,过滤掉不符合“大盘股”或特定板块(如创业板、科创板)的股票,最终定义出目标股票池。
核心选股条件(“蓄势突破”信号):
该信号是上述所有模块条件的综合,要求同时满足以下多类条件:
时间与涨停历史:特定日期前,且近期(60日或30日内)有过涨停或触及涨停。
价格位置:当前收盘价创近期(3日 vs 60日)新高,且同时运行于`通道1`和`通道3`之上。
均线系统:`通道1`、`MA10`、`MA30`、`MA60`均呈多头排列(向上)。
流动性:近期(3日内)估算的“虚换手”峰值达到5%以上。
股票池:属于`我大盘`定义的股票池,且当日开盘价大于0。
趋势强度:DMI系统显示趋势走强,要求`ADX`与`ADXR`同时上升,或`ADX`与`PDI`同时上升,且`MDI`下降。同时,`PDI > 20`,`ADX > 30`,`ADXR > 30`,`MDI < 20`。
超买状态:`CCI`指标大于等于100,显示价格处于强势上涨区间。
使用要点:
1. 该公式为条件选股公式,用于在股票列表中筛选出同时满足“蓄势突破”所有苛刻条件的个股。
2. 由于条件非常严格,涉及技术面、资金面、基本面及涨停历史,信号出现频率可能较低。
3. 公式中大量使用动态行情函数(如`DYNAINFO`、`FROMOPEN`),在盘中运行时,部分指标(如虚拟量、虚换手)会随交易时间变化,建议在固定时间点(如收盘后)使用历史数据进行选股,以保证结果的稳定性和可复现性。
4. “剔除大盘”模块中的财务和股本过滤条件可根据实际需要进行调整。
BSTL:= MA(CLOSE,20);
UPPER := BSTL + (2 * STD(CLOSE,20));
LOWER := BSTL - (2 * STD(CLOSE,20));
WIDTH := (UPPER - LOWER) / BSTL;
MAWIDTH := MA(WIDTH,6);
CV := CLOSE;
BBIBSTL := (((MA(CV,3) + MA(CV,6)) + MA(CV,12)) + MA(CV,24)) / 4;
UPR := BBIBSTL + (6 * STD(BBIBSTL,11));
DWN := BBIBSTL - (6 * STD(BBIBSTL,11));
WIDTH1 := (UPR - DWN) / BBIBSTL;
MAWIDTH1 := MA(WIDTH1,6);
UPPE := (1 + (6 / 100)) * MA(CLOSE,25);
LOWE := (1 - (6 / 100)) * MA(CLOSE,25);
ENE := (UPPE + LOWE) / 2;
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);
DIF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIF,9);
MACD := (DIF - DEA) * 2;
MA05 := MA(CLOSE,5);
MA10 := MA(CLOSE,10);
MA30 := MA(CLOSE,30);
MA60 := MA(CLOSE,60);
VOLUME := VOL;
MAVOL5 := MA(VOLUME,5);
MAVOL10 := MA(VOLUME,10);
MAVOL30 := MA(VOLUME,30);
MAVOL60 := MA(VOLUME,60);
LB := DYNAINFO(17);
换手率 := (100 * V) / CAPITAL;
虚拟量 := IF((CURRBARSCOUNT = 1) AND (PERIOD = 5),(VOL * 240) / FROMOPEN,DRAWNULL);
交易时间 := FROMOPEN;
虚换手 := (换手率 * 240) / 交易时间;
虚换比 := 虚换手 / REF(换手率,1);
虚拟额 := (虚拟量 * C) * 100;
ZT := CLOSE >= (REF(CLOSE,1) * 1.09);
一字涨停 := ZT AND (OPEN = CLOSE);
冲ZT := H >= (REF(CLOSE,1) * 1.09);
ZT3 := COUNT(ZT,3);
ZT5 := COUNT(ZT,5);
ZT10 := COUNT(ZT,10);
ZT30 := COUNT(ZT,30);
ZT40 := COUNT(ZT,40);
ZT60 := COUNT(ZT,60);
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);
AA := MA((((2 * CLOSE) + HIGH) + LOW) / 4,5);
通道1 := (AA * 102) / 100;
通道2 := (AA * (200 - 102)) / 100;
CC := (ABS(((((2 * CLOSE) + HIGH) + LOW) / 4) - MA(CLOSE,20))) / MA(CLOSE,20);
DD := DMA(CLOSE,CC);
通道3 := (1 + (7 / 100)) * DD;
通道4 := (1 - (7 / 100)) * DD;
TYP := ((HIGH + LOW) + CLOSE) / 3;
CCI := (TYP - MA(TYP,14)) / (0.015 * AVEDEV(TYP,14));
剔除大盘 := ((((((((((((CAPITAL > 100000000) OR NAMELIKE(1)) OR NAMELIKE(2)) OR (FINANCE(34) < 1)) OR (FINANCE(33) < -0.8)) OR (C > 50)) OR ((C > 35) AND ((CLOSE / FINANCE(34)) > 10))) OR ((CAPITAL >= 40000000) AND ((CLOSE / FINANCE(34)) > 4))) OR ((CAPITAL >= 20000000) AND ((CLOSE / FINANCE(34)) > 5))) OR ((CAPITAL >= 10000000) AND ((CLOSE / FINANCE(34)) > 7))) OR (CODELIKE(3) AND (FINANCE(33) < -0.2))) OR (CODELIKE(3) AND (CAPITAL > 6000000))) OR (CODELIKE(4) AND (CAPITAL > 10000000));
我大盘 := NOT(剔除大盘);
蓄势突破 : ((((((((((((((((((DATE < 1991201) AND ((ZT60 >= 1) OR (COUNT(冲ZT,30) >= 1))) AND ((HHV(C,3) >= HHV(C,60)) OR (HHV(H,3) >= HHV(H,60)))) AND (C > REF(通道3,1))) AND (C > 通道1)) AND (通道1 > REF(通道1,1))) AND (MA30 >= REF(MA30,1))) AND (MA60 >= REF(MA60,1))) AND (MA10 >= REF(MA10,1))) AND (HHV(虚换手,3) >= 5)) AND 我大盘) AND (DYNAINFO(4) > 0)) AND (((ADX > REF(ADX,1)) AND (ADXR > REF(ADXR,1))) OR ((ADX > REF(ADX,1)) AND (PDI > REF(PDI,1))))) AND (MDI < REF(MDI,1))) AND (PDI > 20)) AND (ADX > 30)) AND (ADXR > 30)) AND (MDI < 20)) AND (CCI >= 100);