🎯 推荐顺序:
新手入门:方案3(双均线交叉) - 最简单直观
震荡市场:方案2(KDJ系统) - 适合区间交易
突破交易:方案1(布林带系统) - 捕捉突破行情
趋势跟随:方案4(MACD系统) - 趋势+动量结合
💡 根据你的交易风格选择:
喜欢突破交易:选方案1(布林带)
喜欢高抛低吸:选方案2(KDJ)
喜欢趋势跟随:选方案3或4(均线或MACD)
想要简单明了:选方案3(双均线)
建议:先试方案3(双均线交叉系统),它:
信号明确,容易理解
笑脸哭脸图标清晰
适合各种市场状态
代码简单,运行稳定
📊 方案1:布林带收缩扩张系统(最适合震荡突破)
{=== 布林带收缩突破系统 ===}
{版本:1.0 | 日期:2024-12-28}
{参数}
BB_PERIOD := 20;
BB_WIDTH := 2;
CONTRACT_THRESHOLD := 0.3; {收缩阈值}
{布林带计算}
MID := MA(CLOSE, BB_PERIOD);
UPPER := MID + BB_WIDTH * STD(CLOSE, BB_PERIOD);
LOWER := MID - BB_WIDTH * STD(CLOSE, BB_PERIOD);
BAND_WIDTH := (UPPER - LOWER) / MID * 100;
{布林带状态}
BB_CONTRACT := BAND_WIDTH < CONTRACT_THRESHOLD; {收缩}
BB_EXPAND := BAND_WIDTH > CONTRACT_THRESHOLD * 2; {扩张}
BB_NORMAL := NOT(BB_CONTRACT) AND NOT(BB_EXPAND); {正常}
{突破信号}
{向上突破:价格突破上轨 + 带宽度增加}
BREAKOUT_UP := CROSS(CLOSE, UPPER) AND BAND_WIDTH > REF(BAND_WIDTH, 1);
BREAKOUT_DOWN := CROSS(LOWER, CLOSE) AND BAND_WIDTH > REF(BAND_WIDTH, 1);
{回调信号}
PULLBACK_UP := CLOSE > MID AND CROSS(CLOSE, MID) AND BB_EXPAND;
PULLBACK_DOWN := CLOSE < MID AND CROSS(MID, CLOSE) AND BB_EXPAND;
{显示}
DRAWICON(BREAKOUT_UP, LOW * 0.98, 1); {笑脸-突破做多}
DRAWICON(BREAKOUT_DOWN, HIGH * 1.02, 2); {哭脸-突破做空}
DRAWICON(PULLBACK_UP, MID, 7); {上箭头-回调做多}
DRAWICON(PULLBACK_DOWN, MID, 8); {下箭头-回调做空}
{状态显示}
DRAWTEXT(BB_CONTRACT, HIGH * 1.03, '收缩'), COLORGRAY;
DRAWTEXT(BB_EXPAND, HIGH * 1.03, '扩张'), COLORRED;
DRAWTEXT(BB_NORMAL, HIGH * 1.03, '正常'), COLORGREEN;
📊 方案2:KDJ超买超卖系统(最适合区间震荡)
{=== KDJ超短线交易系统 ===}
{版本:1.0 | 日期:2024-12-28}
{参数}
N := 9;
M1 := 3;
M2 := 3;
OVERBOUGHT := 80;
OVERSOLD := 20;
{KDJ计算}
RSV := (CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K := SMA(RSV,M1,1);
D := SMA(K,M2,1);
J := 3*K-2*D;
{超买超卖信号}
{超卖区金叉做多}
BUY_OVERSOLD := CROSS(K, D) AND J < OVERSOLD;
{超买区死叉做空}
SELL_OVERBOUGHT := CROSS(D, K) AND J > OVERBOUGHT;
{强势追单}
STRONG_BUY := J > REF(J,1)*1.1 AND J < 50;
STRONG_SELL := J < REF(J,1)*0.9 AND J > 50;
{显示}
DRAWICON(BUY_OVERSOLD, LOW * 0.98, 1); {笑脸-超卖做多}
DRAWICON(SELL_OVERBOUGHT, HIGH * 1.02, 2); {哭脸-超买做空}
DRAWICON(STRONG_BUY, LOW * 0.99, 7); {上箭头-追多}
DRAWICON(STRONG_SELL, HIGH * 1.01, 8); {下箭头-追空}
{KDJ状态}
DRAWTEXT(J > OVERBOUGHT, HIGH * 1.04, '超买'), COLORRED;
DRAWTEXT(J < OVERSOLD, LOW * 0.96, '超卖'), COLORGREEN;
DRAWTEXT(J >= OVERSOLD AND J <= OVERBOUGHT, (HIGH+LOW)/2, '正常'), COLORYELLOW;
📊 方案3:双均线交叉系统(简单有效)
{=== 双均线交叉系统 ===}
{版本:1.0 | 日期:2024-12-28}
{参数}
FAST_MA := 5;
SLOW_MA := 15;
TREND_CONFIRM := 3;
{均线计算}
MA_FAST := MA(CLOSE, FAST_MA);
MA_SLOW := MA(CLOSE, SLOW_MA);
{趋势判断}
TREND_UP := MA_FAST > MA_SLOW;
TREND_DOWN := MA_FAST < MA_SLOW;
{交叉信号}
GOLDEN_CROSS := CROSS(MA_FAST, MA_SLOW);
DEAD_CROSS := CROSS(MA_SLOW, MA_FAST);
{趋势确认}
CONFIRMED_GOLDEN := GOLDEN_CROSS AND COUNT(TREND_UP, TREND_CONFIRM) >= 1;
CONFIRMED_DEAD := DEAD_CROSS AND COUNT(TREND_DOWN, TREND_CONFIRM) >= 1;
{回调信号}
PULLBACK_UP := TREND_UP AND CROSS(CLOSE, MA_SLOW);
PULLBACK_DOWN := TREND_DOWN AND CROSS(MA_SLOW, CLOSE);
{显示}
DRAWICON(CONFIRMED_GOLDEN, LOW * 0.98, 1); {笑脸-金叉做多}
DRAWICON(CONFIRMED_DEAD, HIGH * 1.02, 2); {哭脸-死叉做空}
DRAWICON(PULLBACK_UP, MA_SLOW, 7); {上箭头-回调做多}
DRAWICON(PULLBACK_DOWN, MA_SLOW, 8); {下箭头-反弹做空}
{趋势显示}
DRAWTEXT(TREND_UP, HIGH * 1.03, '↑多'), COLORRED;
DRAWTEXT(TREND_DOWN, LOW * 0.97, '↓空'), COLORGREEN;
📊 方案4:MACD动量系统(趋势+动量)
{=== MACD动量交易系统 ===}
{版本:1.0 | 日期:2024-12-28}
{参数}
SHORT := 12;
LONG := 26;
MID := 9;
{MACD计算}
DIF := EMA(CLOSE, SHORT) - EMA(CLOSE, LONG);
DEA := EMA(DIF, MID);
MACD := (DIF - DEA) * 2;
{MACD状态}
MACD_UP := DIF > DEA;
MACD_DOWN := DIF < DEA;
MACD_GOLDEN := CROSS(DIF, DEA);
MACD_DEAD := CROSS(DEA, DIF);
MACD_STRONG_UP := DIF > 0 AND DEA > 0;
MACD_STRONG_DOWN := DIF < 0 AND DEA < 0;
{信号}
{金叉做多}
BUY_GOLDEN := MACD_GOLDEN AND NOT(MACD_STRONG_DOWN);
{死叉做空}
SELL_DEAD := MACD_DEAD AND NOT(MACD_STRONG_UP);
{零轴突破}
BREAKOUT_UP := CROSS(DIF, 0);
BREAKOUT_DOWN := CROSS(0, DIF);
{显示}
DRAWICON(BUY_GOLDEN, LOW * 0.98, 1); {笑脸-金叉做多}
DRAWICON(SELL_DEAD, HIGH * 1.02, 2); {哭脸-死叉做空}
DRAWICON(BREAKOUT_UP, LOW * 0.99, 7); {上箭头-零轴突破}
DRAWICON(BREAKOUT_DOWN, HIGH * 1.01, 8); {下箭头-零轴跌破}
{状态显示}
DRAWTEXT(MACD_STRONG_UP, HIGH * 1.03, '强多'), COLORRED;
DRAWTEXT(MACD_STRONG_DOWN, LOW * 0.97, '强空'), COLORGREEN;
DRAWTEXT(MACD_UP AND NOT(MACD_STRONG_UP), HIGH * 1.03, '弱多'), COLORYELLOW;
DRAWTEXT(MACD_DOWN AND NOT(MACD_STRONG_DOWN), LOW * 0.97, '弱空'), COLORYELLOW;