{ 参数设置 }
N := 20; { 搜索放量涨停的时间范围,默认20天 }
V1 := 1.8; { 放量倍数,成交量大于5日均量的倍数 }
V2 := 0.8; { 缩量比例,成交量小于前一日成交量的比例 }
{ 定义放量涨停条件 }
FZLZT := C >= REF(C, 1) * 1.099 AND C = H AND VOL > MA(VOL, 5) * V1;
{ 找到最近一次放量涨停的位置 }
LTBARS := BARSLAST(FZLZT);
{ 获取涨停日的最高价和开盘价 }
ZT_HIGH := REF(H, LTBARS); { 涨停日的最高价 }
ZT_OPEN := REF(O, LTBARS); { 涨停日的开盘价 }
{ 条件1:放量涨停发生在N天内且至少是2天前 }
COND1 := LTBARS >= 2 AND LTBARS <= N;
{ 条件2:N天内只有一次放量涨停(确保是首次) }
COND2 := COUNT(FZLZT, N) = 1;
{ 条件3:从涨停次日到今天的最低价未跌破涨停当日的开盘价 }
COND3 := LLV(L, LTBARS) > ZT_OPEN;
{ 条件4:从涨停次日到今天的最高价未突破涨停日的最高价 }
COND4 := HHV(H, LTBARS) <= ZT_HIGH;
{ 条件5:涨停后出现过下跌(收盘价低于涨停日收盘价) }
COND5 := COUNT(C < REF(C, LTBARS), LTBARS) >= 1;
{ 条件6:当日缩量上涨(成交量小于前一日,收盘价高于前一日) }
COND6 := C > REF(C, 1) AND VOL < REF(VOL, 1) * V2;
{ 最终选股条件 }
COND1 AND COND2 AND COND3 AND COND4 AND COND5 AND COND6;