夜雨聆风学习资料网

ARTICLE · 1154362

活跃区间启动指标:六条件合流(源码)

活跃区间启动指标:六条件合流(源码)

一只股票,什么时候才算「活」了

不是涨得多就叫活。

是量、价、换手三样同时动起来,而且动得不过分。

这条指标把六组条件摆在一起,全中了才在图上标一个启动点。

第一组:先跟均线比一比

先建一组均线:5 日、10 日、20 日,再加一条 60 日指数均线。

这里有个自适应的小设计。上市不满 100 天的新股,用 20 日线做基准;满 100 天以后,换成 60 日线。

新股筹码少、走势野,拿长周期均线去卡它没有意义。

然后算价格与基准的偏离。偏离太远的直接排除——追高风险太大,跌下来也是同样速度。

第二组:三种阳线,只认这三种

接着看 K 线形态。

涨停算一种;盘中摸到涨停但没封住、收在 6.5% 到 9.9% 之间的算一种;放量的长阳线算一种。

三种里出现任何一种,就记一笔「标志性阳线」。

后面所有的定位,都从这一笔开始数。距离这根阳线多少天了,是判断位置的关键。

第三组:换手要放大,但不能失控

量是资金进场的证据。

换手率要比昨天明显放大,同时要站上自己的 5 日均值。但也得有个上限——超过昨天七倍的直接排除,那多半是一日游。

还有一条反向条件:前面 7 天里至少要有 4 天是缩量的。

先收缩,再放大,才叫蓄势。一上来就是天量的,往往是在派发。

第四组:波动收到极限

布林带在这里改了个写法。

中轴不用 20 日均线,改成 BBI——3、6、12、24 四条均线的平均值。上下轨是中轴加减 3 倍标准差。

带宽收到 0.4 以下,或者收到 100 日最低带宽的三倍以内,就算波动收敛到极限。

收敛意味着变盘。方向不确定,但幅度会来。

第五组:大单是不是在动

这一组看的是资金的「重」。

换手率直接拿来当作大单的近似值。它要满足两个条件之一:超过 0.10 且比昨天更高,或者虽然不到 0.10,但累计值已经站到均值之上。

另外还有一条更严的:大单占换手率的比例超过两成。意思是这一天的换手,集中在少数人手里。

第六组:跟大盘比

个股再漂亮,跑不赢大盘也容易夭折。

这里把大盘指数的 10 日均线偏离算出来,与个股的偏离相减,再乘 3,得到相对强弱。

这个数要为正,或者虽然为负但已经在回升。

六个条件合流之后

六组条件全部成立,图上标一个启动点。

之后如果活跃状态一直延续,就画出一段活跃区间。区间里还会顺带算出建仓区间的上下沿——以启动那天的均价为基准,下沿留 5% 的止损空间,上沿给 2% 到 3%。

这不是让你照着买。它是告诉你:如果要做,位置大概在哪,止损放哪。

怎么用

信号很稀少,一只股票一年可能只标两三次。

出现的时候,先看它落没落在活跃区间里。区间内的启动,延续概率比孤零零一个点高得多。

如果信号出来后连续几天都是活跃状态,说明这波是真的;第二天就熄火的,止损位已经在那儿摆着,不用猜。

温馨提示

1、指标:www.logic88.cn

2、本指标仅作为知识分享,不构成任何建议。

指标源码

{先数上市天数:满 100 天以后才改用 60 日均线做基准,避免新股数据失真}

LIST_DAYS:= BARSCOUNT(C);

DATE_LIMIT:=IF((DATE <= 1991231),1,1);

{一组均线:5、10、20 日以及 60 日指数均线,后面反复引用}

MA_SHORT:=MA(CLOSE,5);

MA_10:=MA(CLOSE,10);

MA_20:=MA(CLOSE,20);

EMA_60:=EMA(CLOSE,60);

{上市不足 100 天用 20 日线,够了再换 60 日线,这是原公式的自适应写法}

TREND_BASE:=IF((LIST_DAYS > 100),EMA_60,MA_20);

MA_DEVI:=((MA_10 - EMA_60) / EMA_60);

LOW_BUY_OK:=((CLOSE / REF(CLOSE,20)) < 1.20);

BIAS_10:=((CLOSE - MA_10) / MA_10);

BIAS_20:=((CLOSE - MA_20) / MA_20);

BIAS_60:=((CLOSE - EMA_60) / EMA_60);

{均价=成交额除以成交量,也就是当天的平均成交价}

AVG_PRICE:=((0.01 * AMOUNT) / vol);

{换手率=成交量除以流通股本,衡量当天筹码换了多少手}

TURN_RATE:=(VOL / CAPITAL*100);

TR_MA5:=MA(TURN_RATE,5);

TR_MA20:=MA(TURN_RATE,20);

TR_EMA60:=EMA(TURN_RATE,60);

BIG_YANG:=((CLOSE / REF(CLOSE,1)) > 1.060);

LIMIT_UP:=(((CLOSE / REF(CLOSE,1)) > 1.099) && (CLOSE = HIGH));

LIMIT_ONE:=(((CLOSE / REF(CLOSE,1)) > 1.099) && (LOW = HIGH));

{冲涨停:盘中摸到涨停价但没封住,收在 6.5% 到 9.9% 之间}

RUSH_UP:=((((((HIGH / REF(CLOSE,1)) > 1.099) || ((CLOSE / REF(CLOSE,1)) > 1.09)) && ((CLOSE / REF(CLOSE,1)) > 1.065)) && ((CLOSE / REF(CLOSE,1)) < 1.0992)) && (CLOSE > AVG_PRICE));

VOL_YANG:=(((((CLOSE / REF(CLOSE,1)) > 1.050) && ((TURN_RATE > REF(TURN_RATE,1)) || (TURN_RATE > MAX(TR_MA5,TR_EMA60)))) && (CLOSE > AVG_PRICE)) && (BIAS_10 < 0.12));

{标志性阳线=涨停、冲涨停、放量长阳三者之一,后面都靠它定位}

KEY_YANG:=((LIMIT_UP || RUSH_UP) || VOL_YANG);

LU_BARS:=BArslAst(KEY_YANG);

AVG_PREV:=REF(AVG_PRICE,LU_BARS);

MA_OK:=((REF(LOW,1) < MAX(REF(MA_10,1),REF(MA_20,1))) && (CLOSE > MA_10));

IDX_CLOSE:=INDEXC;

IDX_DEVI:=((INDEXC - MA(INDEXC,10)) / MA(INDEXC,10));

RS_VAL:=(3 * (BIAS_10 - IDX_DEVI));

RS_OK:=((RS_VAL > 0) || ((RS_VAL > -(0.1)) && (RS_VAL > REF(RS_VAL,1))));

RS_CUM:=SUM(RS_VAL,10);

BAND_N:=10;

BAND_P:=3;

{布林带改成以 BBI 中轴加减 3 倍标准差,宽度直接反映波动收敛程度}

BBI_MID:=((((MA(CLOSE,3) + MA(CLOSE,6)) + MA(CLOSE,12)) + MA(CLOSE,24)) / 4);

BAND_UP:=(BBI_MID + (BAND_P * STD(BBI_MID,BAND_N)));

BAND_DN:=(BBI_MID - (BAND_P * STD(BBI_MID,BAND_N)));

BAND_W:=((BAND_UP - BAND_DN) / 10);

BAND_OK:=(((BAND_W < 0.40) && (LLV(BAND_W,5) < (3 * LLV(BAND_W,100)))) || (BAND_W < 0.20));

DAY_GAIN:=((((CLOSE / REF(CLOSE,1)) > 1.03) && ((CLOSE / REF(CLOSE,1)) < 1.110)) && ((CLOSE / MA_10) < 1.13));

TURN_RAW:=(VOL / CAPITAL);

BIG_N:=MIN(COUNT((VOL / CAPITAL*100),0),30);

BIG_ORDER:=(VOL / CAPITAL*100);

BIG_CUM:=(EMA(BIG_ORDER,BIG_N) * BIG_N);

BIG_MA:=MA(BIG_CUM,10);

BIG_RED:=(((BIG_ORDER > 0.10) && (BIG_ORDER > REF(BIG_ORDER,1))) || ((BIG_ORDER > 0) && (BIG_CUM > BIG_MA)));

BIG_OK:=((BIG_ORDER > 0.50) && ((BIG_ORDER / TURN_RATE) > 0.20));

SHRINK:=(TURN_RATE < MAX(TR_MA5,TR_MA20));

SHRINK_OK:=(COUNT(SHRINK,7) >= 4);

TR_OK:=(((((TURN_RATE > (1.35 * REF(TURN_RATE,1))) && (TURN_RATE < (7 * REF(TURN_RATE,1)))) && (TURN_RATE > 1.5)) && (TURN_RATE > TR_MA5)) && REF(SHRINK_OK,1));

{波段启动=六组条件同时成立,这是整套判断的合流点}

WAVE_START:=(((((MA_OK && TR_OK) && DAY_GAIN) && BIG_RED) && RS_OK) && BAND_OK);

DOUBLE_STRONG:=(0.6 * ((((MA_10 > MA_20) || (MA_10 > REF(MA_10,1))) || (AVG_PRICE > MA_10)) && (RS_VAL > -(0.02))));

STOCK_ACTIVE:=(0.5 * ((((COUNT(BIG_YANG,60) >= 6) || (COUNT(LIMIT_UP,60) >= 2)) || (COUNT((LIMIT_UP || VOL_YANG),30) >= 1)) || (COUNT((RS_VAL > 0.1),120) > 20)));

VOL_UP:=(0.2 * (((((TURN_RATE > MAX(TR_EMA60,TR_MA5)) || (TR_MA5 > TR_EMA60)) || LIMIT_UP) || (COUNT((LIMIT_UP || VOL_YANG),3)=1 && (TURN_RATE > MIN(TR_EMA60,TR_MA5)))) && (((CLOSE > MA_10) || (RS_VAL > 0)) || ((TR_MA5 >= REF(TR_MA5,1)) && (CLOSE > REF(CLOSE,1))))));

ACTIVE_STOCK:=(0.5 * ((VOL_UP || DOUBLE_STRONG) && STOCK_ACTIVE));

{激活=波段启动之后,活跃状态第一次转正的那一刻,也就是买点}

FIRE1:=(((((((LIMIT_UP || VOL_YANG) && ACTIVE_STOCK) && (RS_VAL > 0)) && (BIG_RED || LIMIT_ONE)) && (MA_DEVI < 0.23)) && (BIAS_60 < 0.25)) && LOW_BUY_OK);

FIRE1_BARS:=BARSLAST(FIRE1);

ACTIVE_ZONE:(ACTIVE_STOCK && EVERY(ACTIVE_STOCK,(FIRE1_BARS + 1))),COLORRED;

CNT_ALL:=COUNT(FIRE1,0);

FIRE2:=((FIRE1 && ACTIVE_ZONE) && (COUNT(FIRE1,0) = 1));

FIRE:=(((FIRE1 && ACTIVE_ZONE) && REF((ACTIVE_ZONE <> 1),1)) && (COUNT(FIRE1,0) > 1));

FIRE3:=(((FIRE1 && ACTIVE_ZONE) && REF((ACTIVE_STOCK = 0),1)) && (COUNT(FIRE1,0) <= 1));

START_SIG:IF((COUNT(FIRE1,0) > 1),FIRE,(FIRE2 || (FIRE3 && LOW_BUY_OK))),LINETHICK0;

FIRE_BARS:=BARSLAST(FIRE);

FIRE_AVG:=REF(AVG_PRICE,FIRE_BARS);

FIRE_OPEN:=REF(OPEN,FIRE_BARS);

FIRE_LOW:=REF(LOW,FIRE_BARS);

FIRE_MA:=REF(MA_10,FIRE_BARS);

STOP_LOW:=(FIRE_AVG * 0.95);

ENTRY_LO:=IF((FIRE_OPEN < (FIRE_AVG * 0.98)),MAX(FIRE_LOW,STOP_LOW),STOP_LOW);

ENTRY_HI:=IF(((REF(BIG_ORDER,FIRE_BARS) > 1) && ((REF(BIG_ORDER,FIRE_BARS) / REF(TURN_RATE,FIRE_BARS)) > 0.20)),(FIRE_AVG * 1.03),(FIRE_AVG * 1.02));

PULLBACK:=(0.2 * (((((((HHV(CLOSE,5) / CLOSE) > 1.06) && (HHV(BIAS_10,6) > 0.08)) && (CLOSE > (0.95 * MA_10))) && (CLOSE < (1.09 * MA_10))) && ((LOW / MA_10) < 1.01)) && ACTIVE_ZONE));

WATCH_ZONE:(0.6 * ((((ACTIVE_ZONE && (LOW <= ENTRY_HI)) && ((CLOSE >= ENTRY_LO) || (CLOSE > MA_10))) && (FIRE_BARS <= 6)) && (FIRE_BARS > 0))),LINETHICK0;

WATCH:=(0.3 * (VOL_UP && (RS_VAL > 0)));

STICKLINE(START_SIG,0,2,2,0),COLORYELLOW;

STICKLINE((WATCH_ZONE > 0),0,2,2,0),COLOR9B85E5;

源码,原文一键复制

相关学习资料