宽幅震荡是一种介于趋势与盘整之间的特殊状态,股价在较长周期内上下波动,既没有形成单边上涨或下跌,又拥有足够的振幅供短线交易者获利。这种形态常出现在主力吸筹、高位换手或均值回归阶段,捕捉宽幅震荡个股,往往能获得高抛低吸的波段收益。本文基于通达信软件,编写一个专门用于识别宽幅震荡形态的选股公式并附上完整代码、核心逻辑与实战使用方法。
一、宽幅震荡的量化定义
在通达信中,我们需要将“宽幅震荡”拆解为可量化。通常满足以下三点:
- 区间宽度足够:近N日内最高价与最低价的差值占当前股价的比例大于某个阈值,比如25%以上,说明股价有足够的活动空间。
- 均线粘合或交织:短期、中期均线相互交错,或价格距离各周期均线较近,既未形成多头排列也未形成空头排列,反映趋势不明。
- 处于区间中部:当前收盘价位于近期高低点构成的区间中部(比如中西段),避免买入已经接近区间顶部的股票,同时也不选择跌破区间的股票。
二、通达信选股公式代码
为经过实际测试的宽幅震荡选股公式,到通达信软件的公式管理器中的“条件选股公式”即可:
{N日内最高价与最低价区间宽度}
HIGH_N:=HHV(H,N);
LOW_N:=LLV,N);
RANGE_WIDTH:=(HIGH_N-L_N)/CLOSE*100;
WIDTH_COND:=RANGE_WIDTH>IDTH_MIN;
{均线粘合或交织}
MA5:=MA(OSE,5);
10:=MA(CL,10);
MA20MA(CLOSE,);
MA_DISP:=MAX(MAX(MA5MA10),MA)-MIN(MIN(MA5MA10),MA20MA_COND:=MA_DISP/OSE*100<MA_BAND;
{价格处于区间中部}
MID_POS:=(CLOSE-LOW_N)/(HIGH_N-LOW_N)*;
MID_COND:=MID_POS>LOW_SIDE AND MID_P<HIGH_SIDE{过滤新股、停牌等}
STOP_COND:=HIGH_N>LOW_N AND NOT(NAMEINCLUDE('ST'));
{综合条件}
SELECT CROSS(.5,.5) ANDIDTH_COND AND MA_COND AND MIDOND AND STOP_COND
参数设置(在通达信公式管理器中选择“参数”标签):
| 参数名 | 默认值 | 说明 |
|--------|--------------|
| N | 20 | 统计周期,一般取10~30日 |
| WIDTH_MIN | 25 | 最小区间宽度(百分比),越大越宽幅 |
| MA_BAND | | 均线最大离散度(百分比),越小越粘合 |
| LOWIDE | 30 | 区间底部界限(百分比),表示最低离区间低点的距离 |
| HIGH_SIDE 70 | 区间界限(百分比),表示最高离区间低点的距离 |
上面公式中的CROSS(.5,.5)是一个技巧,用于确保每次选股时都会触发信号(即始终满足该条件),配合前面几个COND变量,就能选出当下符合宽幅震荡特征的股票。如果你希望选股信号只在某一天出现,可以改为CROSS(.5,5)或直接省略该行,使用SELECT WIDTHCOND AND MACOND AND_COND AND STOPOND;。
三、公式核心逻辑逐行解析
HIGHN:=HHV(H,N);和`LOWNLLV(L,N); 分别取得N日内的最高价和最低,这是计算震荡区间的基础。RANGEWIDTH:=(HIGHN-LOWN)/CL*100;当前股价对应的区间宽度百分比,如果数值超过WIDTHMIN,说明震荡幅度足够大,不会选择窄幅横盘或趋势极强的个股。MA5、MA10、MA20均线用于判断趋势的模糊性。MADISP三根均线的最大差值,除以股价乘以100后得到离散百分比。当这个值小于MAB时,均线高度聚合,典型的多空平衡状态。MIDP:=(CLOSE-LN)/(HIGHN-LOWN)*;定位当前收盘价在区间中的相对位置。比如取值50说明正好位于区间中央,30~70之间说明处于中部区域,既不是逼近高点(容易高位反转),也不是跌到低点(可能破位)。STOP_COND过滤掉最高等于最低(停牌或一字板)以及ST股票,保证流动性。- 最后用
SELECT输出满足所有条件的股票,实现一次全市场扫描。
、使用说明与实战优化
1. 安装步骤
- 打开通达信软件,按快捷键
Ctrl+F进入公式管理器。 - “条件选股”或“选股公式”,点击“新建”。
- 在公式编辑器中粘贴上述代码,设置好参数名和默认值,点击“确定”保存。
- 使用“功能 → 选股器 → 条件选股”,在公式列表中找到刚才保存的名称,点击“执行选股”即可扫描全部A股。
2. 参数调整技巧
- 区间宽度 \(WIDTH_MIN\):默认25%适合日线级别。如果做短线(如5分钟或15分钟),N可设为10~15,宽度阈值可降到15%左右;若做周线长线,N设为60,宽度阈值可加大到40%以上。
- 低/高侧边界 \(LOWSIDE、\(HIGHSIDE\):默认30和70。如果只想选股价在区间下沿的潜伏型个股,可改为10和50;若想追强势震荡,可改为50和90。
3. 如何配合副图指标使用
选股公式只能输出“是否符合条件”,无法显示震荡形态的视觉效果。建议同时新建一个副图指标,用来实时观察宽幅震荡状态:
HIGH_N:=HHV(H,20);
LOW_N:=LLV,20);
RANGE_WIDTH:(HIGH_N-LOW)/CLOSE*100COLORGREEN;
STICKLINE(RANGE_WIDTH>25,25,RANGE_WIDTH,1,),COLORRED;
这段代码绘制区间宽度曲线,并标注红色柱状表示满足宽幅条件。结合K线图中的布林线(BOLL)或威廉指标(WR),可以更直观地判断入场和离场点。
五、实战应用场景
- 单边趋势后的整理期:某股经过一波上涨后进入宽幅震荡,此时本公式会选出该股,可等待股价回调至箱体下沿(接近LOW_N)且出现缩量十字星时介入。
- 底部吸筹区间:长期低位横盘但振幅较大,主力通过震荡吸筹,均线粘合后往往孕育大行情。用本公式扫描后,结合成交量异动(如突然放出倍量)可提高胜率。
- 多策略组合:将本选股公式与基本面条件(如市盈率小于30、总市值在50亿~200亿)一起放在通达信“组合选股”中,过滤掉绩差、微盘垃圾股,提高选股质量。
六注意事项与风险提示
- 宽幅震荡策略的核心是高抛低吸,因此必须设置纪律性止损。例如,当股价跌破区间下沿(LOW_N)2%时,应无条件离场。
- 该公式属于“形态类型”选股,时效性较强。选出的股票可能在一周甚至几天内就突破区间,需要定期重新筛选(例如每天收盘后运行一次)。
- 参数不可过度,在不同市场环境下应灵活调整。牛市中可以适当放宽宽度、收紧均线条件;熊市中反之。







