指标源码:{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;
|