一、 指标的核心优势
1. 成本计算更科学(VWAP算法的运用)
传统指标缺陷:普通的均线(如MA5、MA20)只考虑了价格,忽略了成交量。庄家的真实成本往往集中在成交量最大的地方。
本指标优势:使用 `PI VOL` 计算每日成交额,再除以总成交量。这是经典的VWAP(成交量加权平均价) 逻辑。它能更真实地反映过去N周期内(参数N)市场主力资金的平均持仓成本。黄线不仅仅是支撑线,更是庄家的“生命线”。
2. 引入ATR波动率自适应(拒绝一刀切)
传统指标缺陷:很多指标用固定的百分比(如跌破5%止损)来判断买卖,导致在波动大的股票中频繁被打脸,在波动小的僵尸股中反应迟钝。
本指标优势:引入了ATR(平均真实波幅) 模块。
“动态安全线”和“动态压力线”是根据股价最近的波动速度动态计算的。
这意味着,对于剧烈波动的股票,指标给出的容错空间更大;对于横盘震荡的股票,指标会变得敏感,从而捕捉微小突破。
3. 多维度的“评分机制”与“信号分类”
传统指标缺陷:金叉就买,死叉就卖,胜率极低。
本指标优势:通过“趋势得分”和“动能得分”对市场状态进行量化过滤。
它不会盲目发出信号,而是将信号细分为四类:拐点(趋势反转)、撑(成本支撑)、超(超跌反弹)、强(趋势追涨)。这种分类让交易者清楚知道自己是在做“抄底”还是“追涨”,从而制定不同的策略。
4. 严格的“防坑”过滤器
优势:
趋势保护:当处于明确的下降趋势时,系统会屏蔽掉大部分抄底信号,只允许最极端的“超跌反弹”(信号C)出现,避免“接飞刀”。
5. 直观的风险收益比预期
优势:指标明确画出了 `SAFE_LINE`(安全线)和 `RISK_LINE`(获利30%警戒线)。这为主图提供了清晰的坐标:下方是低估区,上方是高估区,中间是主力成本区,一目了然。
二、指标的使用方法与战法
在使用前,请务必在通达信参数设置中调整参数 N(代码中未给出具体数值,建议根据操盘风格设为20(短线) 或 60(中线))。
1. 读懂主图语言
黄色粗线(ZJ_COST):主力平均成本。是股价最强的“引力线”和“支撑线”。
绿色虚线(RISK_LINE):获利30%警戒线。股价触碰此线,代表短期获利盘丰厚,容易回调,是减仓或止盈的第一参考位。
红色虚线(SAFE_LINE):固定安全线(成本0.95倍)。跌破此处通常意味着主力被套或深度洗盘。
K线颜色:浅红色K线表示收盘价低于市场成本(C < ZJ_COST),属于“潜伏区”;正常颜色表示高于成本,属于“获利区”。
2. 四大信号战法详解
① “拐”信号—— 趋势反转战法
出现条件:均线系统刚发出金叉或拐头向上 + 股价仍低于市场成本 + 有MACD动能配合。
含义:庄家吸筹完毕,刚启动拉升。
操作:激进型首选。此时股价还在庄家成本附近或下方,安全边际高,爆发力强。
止损:跌破信号当天的最低点。
② “撑”信号—— 成本支撑战法
出现条件:股价回踩触碰黄线(或动态安全线)+ 出现锤子线/阳线 + 趋势得分>0。
含义:上升趋势中的回调洗盘结束,庄家护盘。
操作:稳健型首选。不做左侧接飞刀,等股价回踩主力成本线并获得支撑时介入。
止损:收盘价跌破“动态安全线”。
③ “强”信号—— 强势追涨战法
出现条件:均线多头排列(强势上升)+ 股价回踩20日线不破 + 再次放量上涨。
含义:主力进入主升浪,逼空上涨。
操作:短线高手首选。这是买入最强的股票,赚速度最快的钱。
注意:必须结合“位置过滤”,如果在高位区出现此信号,需谨慎(代码中已过滤高位区)。
④ “超”信号—— 抢反弹战法
出现条件:股价深度低于成本(跌破了动态安全线)+ RSI超卖或MACD底背离 + 低位区。
含义:情绪性杀跌,主力被套或借机吓出恐慌盘。
操作:左侧交易。风险较高,需要极高的纪律性。
纪律:一旦反弹,遇“黄色成本线”必须先减仓或清仓,因为成本线由支撑变为压力。
3. 综合策略建议
1. 买入:
首选“拐”和“撑”信号。
必须确认股价没有处于`RISK_LINE`(绿色线)之上(代码已自动过滤,但仍需留意)。
检查右下角所属板块,优选热门板块中的个股。
2. 卖出:
第一止盈位:股价冲高至`RISK_LINE`(绿色线,成本1.3倍)附近滞涨。
第二止盈位:K线实体明显高于黄线过多乖离率过大,且没有出现支撑信号。
止损位:严格按照买入信号当天的最低点,或者跌破“动态安全线”无条件离场。
{庄家成本探测 - 基于原文方法一换手率加权法}
N:=60;
{1. 定义每日平均成交价格 PI = (开+收+高+低)/4}
PI:=(OPEN + CLOSE + HIGH + LOW) / 4;
{2. 计算加权成本}
总成交额:=SUM(PI * VOL, N);
总成交量:=SUM(VOL, N);
{计算出的庄家持仓成本}
ZJ_COST: 总成交额 / 总成交量, COLORYELLOW, LINETHICK2;
{3. 绘制辅助线}
RISK_LINE: ZJ_COST * 1.3, COLORGREEN, DOTLINE;
SAFE_LINE: ZJ_COST * 0.95, COLORRED, DOTLINE;
{4. 盘面信号}
DRAWTEXT(ISLASTBAR, ZJ_COST, ' ←市场成本'), COLORYELLOW;
DRAWTEXT(ISLASTBAR, RISK_LINE, ' ←30%获利警戒'), COLORGREEN;
{K线染色}
STICKLINE(C < ZJ_COST, O, C, 2.5, 0), COLORLIRED;
{=============== 优化后的买入信号系统 ===============}
{========== 一、波动率自适应模块 ==========}
{用ATR替代固定百分比,适应不同波动环境}
ATR14:= MA(MAX(MAX(HIGH-LOW, ABS(HIGH-REF(C,1))), ABS(LOW-REF(C,1))), 14);
ATR_RATIO:= ATR14 / C; {波动率比率}
{动态安全区间:基于波动率调整}
动态安全线:= ZJ_COST * (1 - ATR_RATIO * 2);
动态压力线:= ZJ_COST * (1 + ATR_RATIO * 3);
{动态容差:用于判断"接近"成本线}
容差:= ATR14 * 0.5;
{========== 二、趋势判断模块 ==========}
MA5:= MA(C, 5);
MA20:= MA(C, 20);
MA60:= MA(C, 60);
{趋势状态判断}
强势上升:= MA5 > MA20 AND MA20 > MA60 AND C > MA5;
温和上升:= MA5 > MA20 AND C > MA20;
趋势走平:= ABS(MA20 - REF(MA20, 5)) / MA20 < 0.02;
下降趋势:= MA5 < MA20 AND MA20 < MA60;
{趋势拐点识别}
MA20拐头:= MA20 > REF(MA20, 1) AND REF(MA20, 1) <= REF(MA20, 2);
MA5上穿MA20:= CROSS(MA5, MA20);
价格站上MA20:= CROSS(C, MA20) AND MA20 >= REF(MA20, 3);
{趋势得分:用于加权判断}
趋势得分:= IF(强势上升, 3, IF(温和上升, 2, IF(趋势走平, 1, 0)));
{========== 三、动能确认模块 ==========}
{MACD动能}
DIF:= EMA(C, 12) - EMA(C, 26);
DEA:= EMA(DIF, 9);
MACD柱:= (DIF - DEA) * 2;
MACD金叉:= CROSS(DIF, DEA);
MACD柱转正:= MACD柱 > 0 AND REF(MACD柱, 1) <= 0;
DIF上穿零轴:= CROSS(DIF, 0);
MACD底背离:= C < REF(C, 10) AND DIF > REF(DIF, 10) AND DIF < 0;
{RSI动能}
LC:= REF(C, 1);
RSI6:= SMA(MAX(C-LC, 0), 6, 1) / SMA(ABS(C-LC), 6, 1) * 100;
RSI超卖回升:= RSI6 > REF(RSI6, 1) AND REF(RSI6, 1) < 30;
RSI金叉50:= CROSS(RSI6, 50);
{量能动能}
量比:= VOL / MA(VOL, 20);
放量:= 量比 > 1.2;
温和放量:= 量比 > 0.8 AND 量比 < 2.5;
缩量企稳:= 量比 < 0.8 AND C >= O AND C >= REF(C, 1);
{动能综合得分}
动能得分:= IF(MACD金叉, 2, 0) + IF(RSI超卖回升, 1, 0) + IF(放量, 1, 0) + IF(MACD柱转正, 1, 0);
{========== 四、相对位置模块 ==========}
{相对于近期高低点的位置}
N20_HIGH:= HHV(H, 20);
N20_LOW:= LLV(L, 20);
N60_HIGH:= HHV(H, 60);
N60_LOW:= LLV(L, 60);
{位置百分比:0=最低点,100=最高点}
位置20:= (C - N20_LOW) / (N20_HIGH - N20_LOW + 0.01) * 100;
位置60:= (C - N60_LOW) / (N60_HIGH - N60_LOW + 0.01) * 100;
{相对成本线位置}
成本偏离:= (C - ZJ_COST) / ZJ_COST * 100;
接近成本线:= ABS(C - ZJ_COST) <= 容差;
低于成本线:= C < ZJ_COST;
深度低于成本:= C < 动态安全线;
{位置状态}
低位区:= 位置20 < 30 AND 位置60 < 40;
中位区:= 位置20 >= 30 AND 位置20 <= 70;
高位区:= 位置20 > 70 OR C > 动态压力线;
{========== 五、K线形态确认 ==========}
{阳线确认}
阳线:= C > O;
大阳线:= C > O AND (C - O) > ATR14 * 0.8;
锤子线:= (MIN(O, C) - L) > (ABS(C - O) * 2) AND (H - MAX(O, C)) < ABS(C - O);
吞没形态:= C > O AND C > REF(O, 1) AND O < REF(C, 1) AND REF(C, 1) < REF(O, 1);
{止跌信号}
止跌企稳:= REF(C, 1) < REF(C, 2) AND C >= REF(C, 1) AND L <= REF(L, 1);
{========== 六、综合买入信号 ==========}
{--- 信号类型A:趋势确认型(拐点突破)---}
信号A:= (MA5上穿MA20 OR MA20拐头 OR 价格站上MA20)
AND 低于成本线
AND (MACD金叉 OR MACD柱转正 OR DIF上穿零轴)
AND 温和放量
AND NOT (高位区);
{--- 信号类型B:支撑反弹型(成本线支撑)---}
信号B:= 接近成本线
AND (阳线 OR 锤子线 OR 吞没形态)
AND (趋势得分 >= 1 OR MA20拐头)
AND (动能得分 >= 1)
AND NOT (下降趋势)
AND NOT (高位区);
{--- 信号类型C:超跌反弹型(深度回调)---}
信号C:= 深度低于成本
AND (RSI超卖回升 OR MACD底背离)
AND (阳线 OR 止跌企稳)
AND (放量 OR 缩量企稳)
AND 低位区;
{--- 信号类型D:强势回踩型(趋势延续)---}
信号D:= 强势上升
AND REF(L, 1) <= MA20 AND C > MA20
AND 阳线
AND 温和放量
AND 成本偏离 < 20;
{========== 七、信号过滤与输出 ==========}
{合并原始信号}
原始信号:= 信号A OR 信号B OR 信号C OR 信号D;
{过滤1:趋势保护 - 强下降趋势中只接受信号C}
趋势过滤:= IF(下降趋势, 信号C, 原始信号);
{过滤2:位置保护 - 高位不发信号}
位置过滤:= 趋势过滤 AND NOT (高位区) AND C < RISK_LINE;
{过滤3:密集过滤 - 10根K线内只取第一个}
密集过滤:= 位置过滤 AND COUNT(位置过滤, 10) = 1;
{最终买入信号}
买入信号:= 密集过滤;
{========== 八、绘制标注 ==========}
{买入标注}
DRAWTEXT(买入信号, LOW * 0.97, '买'), COLORRED;
DRAWICON(买入信号, LOW * 0.96, 1);
{可选:显示信号类型}
DRAWTEXT(买入信号 AND 信号A, LOW * 0.94, '拐'), COLORYELLOW;
DRAWTEXT(买入信号 AND 信号B AND NOT (信号A), LOW * 0.94, '撑'), COLORWHITE;
DRAWTEXT(买入信号 AND 信号C AND NOT (信号A) AND NOT (信号B), LOW * 0.94, '超'), COLORCYAN;
DRAWTEXT(买入信号 AND 信号D AND NOT (信号A) AND NOT (信号B) AND NOT (信号C), LOW * 0.94, '强'), COLORMAGENTA;
DRAWTEXT_FIX(ISLASTBAR, 0.00, 0.00, 0,
STRCAT('所属: ', STRCAT(HYBLOCK, STRCAT(' ', STRCAT(DYBLOCK, STRCAT(' ', GNBLOCK)))))),
COLORYELLOW;