通达信庄家成本探测主图指标公式源码

这是一个基于庄家持仓成本的多因子综合买入信号指标。

核心功能:
1. 计算N日(默认60日)的加权平均持仓成本线。
2. 基于成本线,绘制30%获利警戒线和5%安全线。
3. 通过多个技术分析模块(波动率、趋势、动能、位置、K线形态)进行综合判断,生成四种类型的买入信号。

主要模块与用法:
成本基准:`ZJ_COST` 黄线为核心成本线。`RISK_LINE`(绿)和`SAFE_LINE`(红)为静态辅助线。
动态区间:`动态安全线`和`动态压力线`会根据市场波动率(ATR)自动调整,更贴合实际。
趋势判断:通过均线系统(MA5/20/60)定义趋势状态与拐点。
动能确认:结合MACD和RSI指标判断市场动能。
位置评估:分析价格在近期和成本线附近的相对位置。
信号系统:定义了A(趋势拐点)、B(成本支撑)、C(超跌反弹)、D(强势回踩)四类买入逻辑,并经过趋势、位置和信号密集度三重过滤,最终在K线下方标注“买”字及信号类型缩写。

使用要点:
指标在满足综合条件的K线处显示“买”图标和文字。
信号旁的字母(拐、撑、超、强)代表触发信号的类型,便于分析其性质。
当价格低于黄色成本线时,K线会染成浅红色。
指标为综合分析工具,信号由多条件共振产生,旨在提高可靠性,但仍需结合市场环境和个人策略使用。
 

{1. 定义每日平均成交价格 PI = (开+收+高+低)/4}
N:=60;
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;







来函数检测结果如下
该公式包含未来函数:COST

定制、编写指标公式请联系QQ或微信同号:88652583

N赋值:60
PI赋值:(开盘价 + 收盘价 + 最高价 + 最低价) / 4
总成交额赋值:PI*成交量(手)的N日累和
总成交量赋值:成交量(手)的N日累和
输出ZJ_COST: 总成交额 / 总成交量, 画黄色, 线宽为2
输出RISK_LINE: ZJ_COST * 1.3, 画绿色, DOTLINE
输出SAFE_LINE: ZJ_COST * 0.95, 画红色, DOTLINE
当满足条件是否最后一个周期时,在ZJ_COST位置书写文字, 画黄色
当满足条件是否最后一个周期时,在RISK_LINE位置书写文字, 画绿色
当满足条件收盘价ATR14赋值: 最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和最低价-1日前的收盘价的绝对值的较大值的14日简单移动平均
ATR_RATIO赋值: ATR14 / 收盘价
动态安全线赋值: ZJ_COST * (1 - ATR_RATIO * 2)
动态压力线赋值: ZJ_COST * (1 + ATR_RATIO * 3)
容差赋值: ATR14 * 0.5
MA5赋值: 收盘价的5日简单移动平均
MA20赋值: 收盘价的20日简单移动平均
MA60赋值: 收盘价的60日简单移动平均
强势上升赋值: MA5 > MA20 AND MA20 > MA60 AND 收盘价 > MA5
温和上升赋值: MA5 > MA20 AND 收盘价 > MA20
趋势走平赋值: MA20-5日前的MA20的绝对值 / MA20 < 0.02
下降趋势赋值: MA5 < MA20 AND MA20 < MA60
MA20拐头赋值: MA20 > 1日前的MA20 AND 1日前的MA20 <= 2日前的MA20
MA5上穿MA20赋值: MA5上穿MA20
价格站上MA20赋值: 收盘价上穿MA20 AND MA20 >= 3日前的MA20
趋势得分赋值: 如果强势上升,返回3,否则返回如果温和上升,返回2,否则返回如果趋势走平,返回1,否则返回0
DIF赋值: 收盘价的12日指数移动平均 - 收盘价的26日指数移动平均
DEA赋值: DIF的9日指数移动平均
MACD柱赋值: (DIF - DEA) * 2
MACD金叉赋值: DIF上穿DEA
MACD柱转正赋值: MACD柱 > 0 AND 1日前的MACD柱 <= 0
DIF上穿零轴赋值: DIF上穿0
MACD底背离赋值: 收盘价 < 10日前的收盘价 AND DIF > 10日前的DIF AND DIF < 0
LC赋值: 1日前的收盘价
RSI6赋值: 收盘价-LC和0的较大值的6日[1日权重]移动平均 / 收盘价-LC的绝对值的6日[1日权重]移动平均 * 100
RSI超卖回升赋值: RSI6 > 1日前的RSI6 AND 1日前的RSI6 < 30
RSI金叉50赋值: RSI6上穿50
量比赋值: 成交量(手) / 成交量(手)的20日简单移动平均
放量赋值: 量比 > 1.2
温和放量赋值: 量比 > 0.8 AND 量比 < 2.5
缩量企稳赋值: 量比 < 0.8 AND 收盘价 >= 开盘价 AND 收盘价 >= 1日前的收盘价
动能得分赋值: 如果MACD金叉,返回2,否则返回0 + 如果RSI超卖回升,返回1,否则返回0 + 如果放量,返回1,否则返回0 + 如果MACD柱转正,返回1,否则返回0
N20_HIGH赋值: 20日内最高价的最高值
N20_LOW赋值: 20日内最低价的最低值
N60_HIGH赋值: 60日内最高价的最高值
N60_LOW赋值: 60日内最低价的最低值
位置20赋值: (收盘价 - N20_LOW) / (N20_HIGH - N20_LOW + 0.01) * 100
位置60赋值: (收盘价 - N60_LOW) / (N60_HIGH - N60_LOW + 0.01) * 100
成本偏离赋值: (收盘价 - ZJ_COST) / ZJ_COST * 100
接近成本线赋值: 收盘价-ZJ_COST的绝对值 <= 容差
低于成本线赋值: 收盘价 < ZJ_COST
深度低于成本赋值: 收盘价 < 动态安全线
低位区赋值: 位置20 < 30 AND 位置60 < 40
中位区赋值: 位置20 >= 30 AND 位置20 <= 70
高位区赋值: 位置20 > 70 OR 收盘价 > 动态压力线
阳线赋值: 收阳线
大阳线赋值: 收阳线AND (收盘价 - 开盘价) > ATR14 * 0.8
锤子线赋值: (开盘价和收盘价的较小值 - 最低价) > (收盘价-开盘价的绝对值 * 2) AND (最高价 - 开盘价和收盘价的较大值) < 收盘价-开盘价的绝对值
吞没形态赋值: 收阳线AND 收盘价 > 1日前的开盘价 AND 开盘价 < 1日前的收盘价 AND 1日前的收盘价 < 1日前的开盘价
止跌企稳赋值: 1日前的收盘价 < 2日前的收盘价 AND 收盘价 >= 1日前的收盘价 AND 最低价 <= 1日前的最低价
信号A赋值: (MA5上穿MA20 OR MA20拐头 OR 价格站上MA20) AND 低于成本线 AND (MACD金叉 OR MACD柱转正 OR DIF上穿零轴) AND 温和放量 AND 取反
信号B赋值: 接近成本线 AND (阳线 OR 锤子线 OR 吞没形态) AND (趋势得分 >= 1 OR MA20拐头) AND (动能得分 >= 1) AND 取反 AND 取反
信号C赋值: 深度低于成本 AND (RSI超卖回升 OR MACD底背离) AND (阳线 OR 止跌企稳) AND (放量 OR 缩量企稳) AND 低位区
信号D赋值: 强势上升 AND 1日前的最低价 <= MA20 AND 收盘价 > MA20 AND 阳线 AND 温和放量 AND 成本偏离 < 20
原始信号赋值: 信号A OR 信号B OR 信号C OR 信号D
趋势过滤赋值: 如果下降趋势,返回信号C,否则返回原始信号
位置过滤赋值: 趋势过滤 AND 取反 AND 收盘价 < RISK_LINE
密集过滤赋值: 位置过滤 AND 统计10日中满足位置过滤的天数 = 1
买入信号赋值: 密集过滤
当满足条件买入信号时,在最低价*0.97位置书写文字, 画红色
当满足条件买入信号时,在最低价*0.96位置画1号图标
当满足条件买入信号AND信号A时,在最低价*0.94位置书写文字, 画黄色
当满足条件买入信号AND信号BANDNOT(信号A)时,在最低价*0.94位置书写文字, 画白色
当满足条件买入信号AND信号CANDNOT(信号A)ANDNOT(信号B)时,在最低价*0.94位置书写文字, 画青色
当满足条件买入信号AND信号DANDNOT(信号A)ANDNOT(信号B)ANDNOT(信号C)时,在最低价*0.94位置书写文字, 画洋红色
当满足条件是否最后一个周期时,在横轴0.00纵轴0.00位置书写文字,画黄色
定制、找人做指标公式联系我们
  • QQ:88652583
  • 邮箱:88652583@qq.com
  • 工作时间:7:30-21:00
  • 微信:88652583或扫描如下二维码
指标公式网微信联系方式
月度排行
季度排行
半年排行


指标安装下载帮助  |   联系我们  |  指标公式网  |  公式网   |  指标公式  |   加入收藏   

@2005-2023 粤ICP备2025457605号-1 指标公式网别名指标网均来源互联网收集整理,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理
免责声明:指标公式网所有指标公式及文章由网络收集,不保障实时性和真实性, 仅供学习研究并不构成投资建议,请勿以此为依据进行股票交易,由此引起的投资亏损与本站无关。
QQ:88652583 微信 88652583
sitemap站点地图