这个公式是一个综合性的选股及交易信号指标,主要包含以下几个部分:
1. 均线系统
定义了7条不同周期的收盘价移动平均线:MA1(5日)、MA2(10日)、MA3(20日)、MA4(60日)、MA5(120日)、MA6(250日)、MA7(260日)。同时,额外定义了TJ1至TJ4四条均线用于后续条件判断。
2. 均线粘合条件 (XX)
通过X1、X2、X3三个子条件判断短期均线是否高度粘合:
X1: 5日均线与10日均线的偏离度在3.6%以内。
X2: 10日均线与20日均线的偏离度在3.6%以内。
X3: 20日均线与30日均线的偏离度在3.6%以内。
当三者同时满足时,XX条件成立。
3. 形态与波动过滤条件
LJZF: 过去75个交易日内,累计涨幅小于32%。
振幅: 过去75个交易日内最高价与最低价的振幅,相对于过去45日最低价的比率小于等于28%。
ZDDF: 当日最低价相对前一日收盘价跌幅超过5%(用于统计,非直接触发)。
新法: 过去75个交易日的累计涨跌幅之和小于28%。
DXZF: 过去7个交易日的涨幅小于5%。
QY/QY1: 定义了两档较小的日跌幅阈值(2.38%和1.2%),用于后续K线形态判断。
4. 股票池过滤
去除科创板: 排除代码以“688”开头的科创板股票,且要求现价高于昨日涨停价。
去除创业板: 排除代码以“300”开头的创业板股票,且要求现价高于昨日涨停价。
去除ST和停牌: 排除名称中含“ST”或“ST”的股票,以及当日停牌的股票。
5. 核心选股信号 (XG)
这是一个复杂的综合条件,要求同时满足:
均线状态: 均线处于粘合状态(XX成立)。
股票范围: 通过“去除ST和停牌”过滤。
历史波动与涨幅: 前一日满足“LJZF”(累计涨幅限制)和“新法”(累计涨跌幅限制)条件。同时,过去75个交易日内,满足“ZDDF”(单日大跌)条件的次数不超过1次。
近期走势: 前一日满足“DXZF”(短期涨幅限制)条件。
特定K线形态:
3日前(Ref(C,3))收阳线,且涨幅超过3.28%。
紧接着的2日(Ref(C,2)和Ref(C,1))连续收阴下跌。
这连续下跌的两日,跌幅分别满足“QY”和“QY1”定义的小幅下跌条件(即跌幅温和)。
这两根阴线均为实体阴线(收盘价低于开盘价)。
突破与确认:
今日(C)强势上涨,涨幅超过4.08%。
最近三根K线(包括今日)的最低价(L)均高于3日前的那个最低价(Ref(L,3)),显示底部抬升。
今日收盘价(C)成功突破3日前的最高价(Ref(H,3)),形成突破形态。
量价配合:
今日成交量(V)创出过去75个交易日内的最高值(V=HHV(V,75)),即放量。
均线指引:
5日均线(TJ1)今日向上拐头(大于昨日值)。
5日均线(TJ1)运行在10日均线(TJ2)之上。
6. 信号标注
当所有“XG”条件满足时,在K线最低价位置上方1%处,绘制一个编号为13的图标(通常为买入箭头图标)进行标记。
公式核心逻辑:寻找长期窄幅震荡、均线高度粘合、短期经历“大涨—连续小幅缩量回调—再次放量大阳线突破”的股票,并结合量能创新高和短期均线金叉进行确认,属于一种捕捉整理末端突破的追涨型交易策略。
M1:=5;
M2:=10;
M3:=20;
M4:=60;
M5:=120;
M6:=250;
M7:=260;
MA1:MA(CLOSE,M1);
MA2:MA(CLOSE,M2);
MA3:MA(CLOSE,M3);
MA4:MA(CLOSE,M4);
MA5:MA(CLOSE,M5);
MA6:MA(CLOSE,M6);
MA7:MA(CLOSE,M7);
TJ1:=MA(C,5);
TJ2:=MA(C,10);
TJ3:=MA(C,20);
TJ4:=MA(C,60);
X1:=ABS(MA(C,5)/MA(C,10)-1)<=0.036;
X2:=ABS(MA(C,10)/MA(C,20)-1)<=0.036;
X3:=ABS(MA(C,20)/MA(C,30)-1)<=0.036;
XX:=X1 AND X2 AND X3;
LJZF:=(C-REF(C,75))/REF(C,75)*100<32;
振幅:=(HHV(H,75)-LLV(L,75))/LLV(L,45)<=0.28;
ZDDF:=(L-REF(C,1))/REF(C,1)<-0.05;
新法:=SUM((C-REF(C,1))/REF(C,1)*100,75)<28;
DXZF:=(C-REF(C,7))/REF(C,7)*100<5;
QY:=(REF(C,1)-C)/REF(C,1)<=0.0238;
QY1:=(REF(C,1)-C)/REF(C,1)<=0.012;
去除科创板:=IF(CODELIKE('688'),0,1) AND C>DTPRICE(REF(C,1),0.1);
去除创业板:=IF(CODELIKE('300'),0,1) AND C>DTPRICE(REF(C,1),0.1);
去除ST和停牌:=NOT(NAMELIKE('ST') OR NAMELIKE('*ST') OR DYNAINFO(4)=0);
XG:XX AND 去除ST和停牌 AND REF(LJZF,1)=1 AND REF(新法,1)=1
AND COUNT(ZDDF,75)<=1 AND REF(LJZF,1)=1 AND REF(DXZF,1)=1
AND REF(C,3)/REF(C,4)>1.0328 AND REF(C,2)<REF(C,3) AND REF(C,1)<REF(C,2)
AND REF(QY,2)=1 AND REF(QY1,1)=1
AND REF(C,2)<REF(O,2) AND REF(C,1)<REF(O,1) AND C/REF(C,1)>1.0408
AND REF(L,2)>REF(L,3) AND REF(L,1)>REF(L,3) AND L>REF(L,3) AND C>REF(H,3)
AND V=HHV(V,75)
AND TJ1>REF(TJ1,1) AND TJ1>TJ2 ;
DRAWICON(XG,L*1.01,13);
