多空分水岭价 := MA(CLOSE, 5);
// 使用5日均线作为多空分界
ATR周期 := 14;
// ATR计算周期
// 1. ATR计算(无未来函数)
TR := MAX(MAX((HIGH – LOW), ABS(REF(CLOSE, 1) – HIGH)), ABS(REF(CLOSE, 1) – LOW));
ATR := MA(TR, ATR周期);
// 使用MA计算ATR
// 2. 成交量计算(动态3周期均量)
VOL_MA3 := MA(VOL, 3);
// 优化为3周期移动平均
放量条件 := VOL > VOL_MA3 * 1.2; // 量能条件
// ===== 信号系统优化 =====
// 开多条件(全部满足):
// 1. 收盘价上穿5均线
// 2. 当前为阳线
// 3. 满足放量条件
买开信号 := CROSS(CLOSE, 多空分水岭价)
AND CLOSE > OPEN
AND 放量条件;
// 开空条件(全部满足):
// 1. 收盘价下穿5均线
// 2. 当前为阴线
// 3. 满足放量条件
卖开信号 := CROSS(多空分水岭价, CLOSE)
AND CLOSE < OPEN
AND 放量条件;
// ===== 动态止损止盈系统 =====
多损线 := 多空分水岭价 – 1.5 * ATR;
多盈线 := 多空分水岭价 + 2 * ATR;
空损线 := 多空分水岭价 + 1.5 * ATR;
空盈线 := 多空分水岭价 – 2 * ATR;
// ===== 持仓状态跟踪 =====
持多状态 := SUMBARS(买开信号,1)<SUMBARS(卖开信号,1);
持空状态 := SUMBARS(买开信号,1)>SUMBARS(卖开信号,1);
// 1. 分水岭均线(白色粗线)
多空分水岭价, COLORWHITE, LINETHICK2;
// 2. 开仓信号标记
DRAWTEXT(买开信号, LOW , ‘开多’, COLORYELLOW), FONTSIZE15, VALIGN0;
DRAWTEXT(卖开信号, HIGH, ‘开空’), COLORGREEN,FONTSIZE15;
// 4. 止损止盈线标记(开仓时显示)
STICKLINE(买开信号, 多损线, 多损线, 10, 1), COLORRED;
STICKLINE(买开信号, 多盈线, 多盈线, 10, 1), COLORMAGENTA;
STICKLINE(卖开信号, 空损线, 空损线, 10, 1), COLORRED;
STICKLINE(卖开信号, 空盈线, 空盈线, 10, 1), COLORMAGENTA;