程序化指标三线擒牛主图指标公式源码
发布日期: 2025-07-14 | 阅读量:6
{ === 均线趋势判断 === }
XX := MEMA(EMA(((C - O) * 2 + O), 20), 10);
YY := MEMA(MEMA(((C - O) * 2 + O), 3), 10);
DRAWBAND(XX, RGB(0, 0, 255), YY, RGB(255, 100, 228));
趋势多 := CROSS(YY, XX);
趋势空 := CROSS(XX, YY);
DRAWTEXT(趋势空, XX, '【趋势空】'), COLORGREEN;
DRAWTEXT(趋势多, XX, '【趋势多】'), COLORRED;
{ === 短期趋势线(红绿判断) === }
短线趋势 := EMA(MA(CLOSE, 5), 3), LINETHICK3, COLORGREEN;
IF(短线趋势 > REF(短线趋势, 3), 短线趋势, DRAWNULL), LINETHICK3, COLORRED;
IF(短线趋势 < REF(短线趋势, 3), 短线趋势, DRAWNULL), LINETHICK3, COLORGREEN;
{ === EMA 金叉死叉交易系统 === }
买线 := EMA(C, 5);
卖线 := EMA(SLOPE(C, 21) * 20 + C, 42);
BU := CROSS(买线, 卖线);
SEL := CROSS(卖线, 买线);
DRAWTEXT(BU, LOW, '【B】'), COLORRED, LINETHICK4;
DRAWTEXT(SEL, HIGH, '【S】'), COLORGREEN, LINETHICK4;
STICKLINE(买线 >= 卖线 AND O > 0, CLOSE, OPEN, 3, 1), COLORRED;
STICKLINE(买线 >= 卖线, IF(OPEN < CLOSE, CLOSE, OPEN), HIGH, 0, 0), COLORRED;
STICKLINE(买线 >= 卖线, IF(OPEN > CLOSE, CLOSE, OPEN), LOW, 0, 0), COLORRED;
STICKLINE(买线 < 卖线, CLOSE, OPEN, 3, 0), COLOR00FF00;
STICKLINE(买线 < 卖线, LOW, HIGH, 0, 1), COLOR00FF00;
STICKLINE(BU, OPEN, CLOSE, 3, 0), COLORRED;
STICKLINE(SEL, OPEN, CLOSE, 3, 0), COLORGREEN;
{ === 抄底黑马信号 === }
CAB77 := ((CLOSE - MA(CLOSE, 13)) / MA(CLOSE, 13)) * -100;
CAB78 := ((CLOSE - LLV(LOW, 13)) / (HHV(HIGH, 13) - LLV(LOW, 13))) * 100;
CAB79 := SMA(CAB78, 3, 2);
A80 := SMA(CAB79, 3, 2);
A81 := SMA(A80, 5, 1);
抄底黑马 := (REF(CAB77, 1) >= 16) AND ((REF(CAB77, 1) / CAB77) >= 1.23) AND CROSS(A80, A81);
DRAWTEXT(抄底黑马, LOW, '★抄底黑马'), COLORWHITE;
{ === 启动上涨 & 涨成牛妖信号 === }
N1 := MA(CLOSE, 41) + MA(CLOSE, 41) * 10 / 100;
N2 := MA(CLOSE, 23) + MA(CLOSE, 23) * 5 / 100;
N3 := (MA(CLOSE, 3) + MA(CLOSE, 6) + MA(CLOSE, 12) + MA(CLOSE, 24)) / 4;
N4 := CLOSE > REF(CLOSE, 1) * 1.05;
DRAWTEXT(CROSS(N3, N2) AND N4, LOW * 0.98, '【启动上涨】'), LINETHICK2, COLORMAGENTA;
STICKLINE(CROSS(N3, N2) AND N4, OPEN, CLOSE, 3, 0), COLORMAGENTA;
DRAWTEXT(CROSS(N3, N1) AND N4, LOW, '【涨成牛妖】'), LINETHICK2, COLORRED;
STICKLINE(CROSS(N3, N1) AND N4, OPEN, CLOSE, 3, 0), COLORRED;
{ === CCI+MACD 共振买点 === }
CBA1 := 100 * (HHV(HIGH, 21) - CLOSE) / (HHV(HIGH, 21) - LLV(LOW, 21));
CBA2 := 100 * (HHV(HIGH, 42) - CLOSE) / (HHV(HIGH, 42) - LLV(LOW, 42));
MACD := ((EMA(CLOSE, 12) - EMA(CLOSE, 26)) - EMA(EMA(CLOSE, 12) - EMA(CLOSE, 26), 9)) * 2;
TYP := (HIGH + LOW + CLOSE) / 3;
CC := (TYP - MA(TYP, 14)) / (0.015 * AVEDEV(TYP, 14));
NOSEL := IF(CROSS(CBA1, 20) AND CROSS(CBA2, 20), 0, 1);
CCI买点 := CROSS(CC, 250) AND CC > REF(CC, 1) AND MACD > 0 AND NOSEL AND C > EMA(C, 200);
突破线 := SMA(H, 14, 2) * 1.08;
接力涨 := FILTER((CCI买点 AND C > 突破线) OR (REF(CCI买点, 1) AND C > 突破线), 3);
DRAWTEXT(接力涨, L * 0.99, '【接力涨】'), LINETHICK2, COLORYELLOW;
STICKLINE(接力涨, CLOSE, OPEN, 3, 0), COLORYELLOW, LINETHICK4;
{ === 高位减仓或卖出信号 === }
ABC62 := ((CLOSE - LLV(LOW, 36)) / (HHV(HIGH, 36) - LLV(LOW, 36))) * 100;
ABC63 := SMA(ABC62, 3, 1);
ABC64 := SMA(ABC63, 3, 1);
ABC65 := SMA(ABC64, 3, 1);
ABC67 := CROSS(ABC65, ABC64) AND ABC64 > 80;
DRAWTEXT(FILTER(ABC67, 5), HIGH, '减仓或卖出'), LINETHICK2, COLORGREEN;
STICKLINE(FILTER(ABC67, 5), OPEN, CLOSE, 3, 0), COLORGREEN;
XX := MEMA(EMA(((C - O) * 2 + O), 20), 10);
YY := MEMA(MEMA(((C - O) * 2 + O), 3), 10);
DRAWBAND(XX, RGB(0, 0, 255), YY, RGB(255, 100, 228));
趋势多 := CROSS(YY, XX);
趋势空 := CROSS(XX, YY);
DRAWTEXT(趋势空, XX, '【趋势空】'), COLORGREEN;
DRAWTEXT(趋势多, XX, '【趋势多】'), COLORRED;
{ === 短期趋势线(红绿判断) === }
短线趋势 := EMA(MA(CLOSE, 5), 3), LINETHICK3, COLORGREEN;
IF(短线趋势 > REF(短线趋势, 3), 短线趋势, DRAWNULL), LINETHICK3, COLORRED;
IF(短线趋势 < REF(短线趋势, 3), 短线趋势, DRAWNULL), LINETHICK3, COLORGREEN;
{ === EMA 金叉死叉交易系统 === }
买线 := EMA(C, 5);
卖线 := EMA(SLOPE(C, 21) * 20 + C, 42);
BU := CROSS(买线, 卖线);
SEL := CROSS(卖线, 买线);
DRAWTEXT(BU, LOW, '【B】'), COLORRED, LINETHICK4;
DRAWTEXT(SEL, HIGH, '【S】'), COLORGREEN, LINETHICK4;
STICKLINE(买线 >= 卖线 AND O > 0, CLOSE, OPEN, 3, 1), COLORRED;
STICKLINE(买线 >= 卖线, IF(OPEN < CLOSE, CLOSE, OPEN), HIGH, 0, 0), COLORRED;
STICKLINE(买线 >= 卖线, IF(OPEN > CLOSE, CLOSE, OPEN), LOW, 0, 0), COLORRED;
STICKLINE(买线 < 卖线, CLOSE, OPEN, 3, 0), COLOR00FF00;
STICKLINE(买线 < 卖线, LOW, HIGH, 0, 1), COLOR00FF00;
STICKLINE(BU, OPEN, CLOSE, 3, 0), COLORRED;
STICKLINE(SEL, OPEN, CLOSE, 3, 0), COLORGREEN;
{ === 抄底黑马信号 === }
CAB77 := ((CLOSE - MA(CLOSE, 13)) / MA(CLOSE, 13)) * -100;
CAB78 := ((CLOSE - LLV(LOW, 13)) / (HHV(HIGH, 13) - LLV(LOW, 13))) * 100;
CAB79 := SMA(CAB78, 3, 2);
A80 := SMA(CAB79, 3, 2);
A81 := SMA(A80, 5, 1);
抄底黑马 := (REF(CAB77, 1) >= 16) AND ((REF(CAB77, 1) / CAB77) >= 1.23) AND CROSS(A80, A81);
DRAWTEXT(抄底黑马, LOW, '★抄底黑马'), COLORWHITE;
{ === 启动上涨 & 涨成牛妖信号 === }
N1 := MA(CLOSE, 41) + MA(CLOSE, 41) * 10 / 100;
N2 := MA(CLOSE, 23) + MA(CLOSE, 23) * 5 / 100;
N3 := (MA(CLOSE, 3) + MA(CLOSE, 6) + MA(CLOSE, 12) + MA(CLOSE, 24)) / 4;
N4 := CLOSE > REF(CLOSE, 1) * 1.05;
DRAWTEXT(CROSS(N3, N2) AND N4, LOW * 0.98, '【启动上涨】'), LINETHICK2, COLORMAGENTA;
STICKLINE(CROSS(N3, N2) AND N4, OPEN, CLOSE, 3, 0), COLORMAGENTA;
DRAWTEXT(CROSS(N3, N1) AND N4, LOW, '【涨成牛妖】'), LINETHICK2, COLORRED;
STICKLINE(CROSS(N3, N1) AND N4, OPEN, CLOSE, 3, 0), COLORRED;
{ === CCI+MACD 共振买点 === }
CBA1 := 100 * (HHV(HIGH, 21) - CLOSE) / (HHV(HIGH, 21) - LLV(LOW, 21));
CBA2 := 100 * (HHV(HIGH, 42) - CLOSE) / (HHV(HIGH, 42) - LLV(LOW, 42));
MACD := ((EMA(CLOSE, 12) - EMA(CLOSE, 26)) - EMA(EMA(CLOSE, 12) - EMA(CLOSE, 26), 9)) * 2;
TYP := (HIGH + LOW + CLOSE) / 3;
CC := (TYP - MA(TYP, 14)) / (0.015 * AVEDEV(TYP, 14));
NOSEL := IF(CROSS(CBA1, 20) AND CROSS(CBA2, 20), 0, 1);
CCI买点 := CROSS(CC, 250) AND CC > REF(CC, 1) AND MACD > 0 AND NOSEL AND C > EMA(C, 200);
突破线 := SMA(H, 14, 2) * 1.08;
接力涨 := FILTER((CCI买点 AND C > 突破线) OR (REF(CCI买点, 1) AND C > 突破线), 3);
DRAWTEXT(接力涨, L * 0.99, '【接力涨】'), LINETHICK2, COLORYELLOW;
STICKLINE(接力涨, CLOSE, OPEN, 3, 0), COLORYELLOW, LINETHICK4;
{ === 高位减仓或卖出信号 === }
ABC62 := ((CLOSE - LLV(LOW, 36)) / (HHV(HIGH, 36) - LLV(LOW, 36))) * 100;
ABC63 := SMA(ABC62, 3, 1);
ABC64 := SMA(ABC63, 3, 1);
ABC65 := SMA(ABC64, 3, 1);
ABC67 := CROSS(ABC65, ABC64) AND ABC64 > 80;
DRAWTEXT(FILTER(ABC67, 5), HIGH, '减仓或卖出'), LINETHICK2, COLORGREEN;
STICKLINE(FILTER(ABC67, 5), OPEN, CLOSE, 3, 0), COLORGREEN;

指标公式逻辑介绍
三重趋势判断体系
1.1 双EMA趋势通道(XX/YY)
XX线:20日EMA的10日MEMA平滑
YY线:3日MEMA的10日二次平滑
多空信号:YY上穿XX为多(红色标记),反之为空(绿色标记)
可视化:蓝色与粉色动态色带
1.2 短线趋势线
算法:5日均线的3日EMA
变色逻辑:上涨红色,下跌绿色
特性:3倍线宽突出短期方向
1.3 EMA交易系统
买线:5日EMA快线
卖线:21日斜率调整的42日EMA
信号标记:B(红色买入)/S(绿色卖出)大字标识
2. 四维交易信号
2.1 抄底黑马信号
✅ 触发条件:
13日乖离率反转(CAB77≥16)
三重平滑RSI金叉(A80上穿A81)
白色"★抄底黑马"标记
2.2 启动上涨信号
✅ 特征:
四均线组合(3/6/12/24日)上穿23日加强线
当日涨幅>5%
品红色K线+文字标记
2.3 牛妖信号
✅ 确认条件:
四均线组合上穿41日加强线
维持5%涨幅
红色K线+文字标记
2.4 高位减仓信号
❌ 触发条件:
36日RSI三重顶背离
ABC64>80超买区
绿色"减仓或卖出"提示