PROTECTED SOURCE SCRIPT
HMA1

//version=5
strategy("黄金 HMA + SuperTrend 趋势增强策略", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- 1. 输入参数 ---
// HMA 参数
hmaLen = input.int(55, "HMA 长度", minval=1, group="HMA 设置")
// SuperTrend 参数
stFactor = input.float(3.0, "SuperTrend 乘数", step=0.1, group="SuperTrend 设置")
stPeriod = input.int(10, "SuperTrend ATR 周期", group="SuperTrend 设置")
// 离场设置
useAtrSl = input.bool(true, "启用 ATR 动态止损", group="风险管理")
atrSlMult = input.float(2.0, "止损 ATR 倍数", step=0.1, group="风险管理")
// --- 2. 指标计算 ---
// 计算 HMA
hmaValue = ta.hma(close, hmaLen)
// 计算 SuperTrend
[stValue, stDirection] = ta.supertrend(stFactor, stPeriod)
// 计算 ATR(用于止损)
atr = ta.atr(14)
// --- 3. 绘图 ---
plot(hmaValue, "HMA 趋势线", color=hmaValue > hmaValue[1] ? color.green : color.red, linewidth=2)
plot(stValue, "SuperTrend 线", color=stDirection < 0 ? color.new(color.teal, 0) : color.new(color.maroon, 0), linewidth=2)
// --- 4. 交易逻辑 ---
// 做多条件:
// 1. 价格在 HMA 之上 且 HMA 正在向上拐头
// 2. SuperTrend 变为看涨方向 (stDirection < 0)
longCondition = close > hmaValue and hmaValue > hmaValue[1] and stDirection < 0
// 做空条件:
// 1. 价格在 HMA 之下 且 HMA 正在向下拐头
// 2. SuperTrend 变为看跌方向 (stDirection > 0)
shortCondition = close < hmaValue and hmaValue < hmaValue[1] and stDirection > 0
// --- 5. 执行与止损逻辑 ---
var float longStop = na
var float shortStop = na
// 入场逻辑
if (longCondition)
longStop := close - (atr * atrSlMult)
strategy.entry("Long", strategy.long, comment="HMA+ST 多")
if (shortCondition)
shortStop := close + (atr * atrSlMult)
strategy.entry("Short", strategy.short, comment="HMA+ST 空")
// 离场逻辑:当 SuperTrend 反转或触及 ATR 止损时离场
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=longStop, limit=na, when=stDirection > 0, comment="多单离场")
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=shortStop, limit=na, when=stDirection < 0, comment="空单离场")
// 填充背景色以示趋势
fill(plot(stValue), plot(open > close ? open : close), color = stDirection < 0 ? color.new(color.green, 90) : color.new(color.red, 90))
strategy("黄金 HMA + SuperTrend 趋势增强策略", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- 1. 输入参数 ---
// HMA 参数
hmaLen = input.int(55, "HMA 长度", minval=1, group="HMA 设置")
// SuperTrend 参数
stFactor = input.float(3.0, "SuperTrend 乘数", step=0.1, group="SuperTrend 设置")
stPeriod = input.int(10, "SuperTrend ATR 周期", group="SuperTrend 设置")
// 离场设置
useAtrSl = input.bool(true, "启用 ATR 动态止损", group="风险管理")
atrSlMult = input.float(2.0, "止损 ATR 倍数", step=0.1, group="风险管理")
// --- 2. 指标计算 ---
// 计算 HMA
hmaValue = ta.hma(close, hmaLen)
// 计算 SuperTrend
[stValue, stDirection] = ta.supertrend(stFactor, stPeriod)
// 计算 ATR(用于止损)
atr = ta.atr(14)
// --- 3. 绘图 ---
plot(hmaValue, "HMA 趋势线", color=hmaValue > hmaValue[1] ? color.green : color.red, linewidth=2)
plot(stValue, "SuperTrend 线", color=stDirection < 0 ? color.new(color.teal, 0) : color.new(color.maroon, 0), linewidth=2)
// --- 4. 交易逻辑 ---
// 做多条件:
// 1. 价格在 HMA 之上 且 HMA 正在向上拐头
// 2. SuperTrend 变为看涨方向 (stDirection < 0)
longCondition = close > hmaValue and hmaValue > hmaValue[1] and stDirection < 0
// 做空条件:
// 1. 价格在 HMA 之下 且 HMA 正在向下拐头
// 2. SuperTrend 变为看跌方向 (stDirection > 0)
shortCondition = close < hmaValue and hmaValue < hmaValue[1] and stDirection > 0
// --- 5. 执行与止损逻辑 ---
var float longStop = na
var float shortStop = na
// 入场逻辑
if (longCondition)
longStop := close - (atr * atrSlMult)
strategy.entry("Long", strategy.long, comment="HMA+ST 多")
if (shortCondition)
shortStop := close + (atr * atrSlMult)
strategy.entry("Short", strategy.short, comment="HMA+ST 空")
// 离场逻辑:当 SuperTrend 反转或触及 ATR 止损时离场
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=longStop, limit=na, when=stDirection > 0, comment="多单离场")
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=shortStop, limit=na, when=stDirection < 0, comment="空单离场")
// 填充背景色以示趋势
fill(plot(stValue), plot(open > close ? open : close), color = stDirection < 0 ? color.new(color.green, 90) : color.new(color.red, 90))
受保护脚本
此脚本以闭源形式发布。 但是,您可以自由使用,没有任何限制 — 了解更多信息这里。
免责声明
这些信息和出版物并非旨在提供,也不构成TradingView提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。
受保护脚本
此脚本以闭源形式发布。 但是,您可以自由使用,没有任何限制 — 了解更多信息这里。
免责声明
这些信息和出版物并非旨在提供,也不构成TradingView提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。