
この戦略は、複数のテクニカル指標に基づくトレンド追跡取引システムです。移動平均トレンド、RSI買われすぎと売られすぎ、ATRボラティリティ指標を組み合わせて、多次元市場分析を通じて取引の成功率と収益性を向上させます。この戦略の核となるロジックは、短期EMAと長期EMAのクロスオーバーを通じてトレンドの方向を確認し、RSIインジケーターを使用して誤ったブレイクスルーをフィルタリングし、最後にATRを組み合わせて保持時間を動的に調整して、トレンドの正確な把握を達成することです。トレンド。
この戦略では、トレンド判断の主な基準として 20 日および 50 日の EMA 移動平均を使用します。短期 EMA が長期 EMA を上回ると上昇トレンドが確認され、そうでない場合は下降トレンドが確認されます。トレンドの確認に基づいて、買われすぎと売られすぎを判断するためにRSIインジケーターが導入されました。RSIが30未満で売られすぎの範囲に入り、上昇トレンドにある場合、ロングシグナルがトリガーされます。RSIが70を超える場合買われすぎの範囲に入り、下降トレンドにある場合、ロングシグナルがトリガーされます。 のとき、ショートシグナルがトリガーされます。同時に、ATR インジケーターは市場のボラティリティを測定するために使用されます。ボラティリティが低すぎる市場環境での取引を回避するために、ATR が設定されたしきい値を超えた場合にのみ取引が実行されます。
この戦略は、移動平均トレンド、RSI の買われすぎと売られすぎ、ATR のボラティリティという 3 つの側面を包括的に分析することで、比較的完全な取引システムを構築します。この戦略の主な利点は、複数の指標の相互検証にあり、これにより誤ったシグナルの影響を効果的に軽減できます。パラメータの最適化とリスク管理メカニズムの改善を通じて、戦略を最適化する余地はまだたくさんあります。トレーダーは、実際の取引で使用する際に、特定の市場環境に応じてパラメータを調整し、リスク管理措置を厳密に実施することが推奨されます。
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High Win Rate BTC Strategy", overlay=true)
// 参数设置
emaShortLength = input(20, title="Short EMA Length")
emaLongLength = input(50, title="Long EMA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
atrThreshold = input(1.0, title="ATR Threshold")
holdBars = input(5, title="Hold Bars")
// 计算指标
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// 趋势确认
uptrend = emaShort > emaLong
downtrend = emaShort < emaLong
// 入场条件
longCondition = uptrend and close > emaShort and rsi < rsiOverbought and atr > atrThreshold
shortCondition = downtrend and close < emaShort and rsi > rsiOversold and atr > atrThreshold
// 出场条件
var int holdCount = 0
if (strategy.position_size > 0 or strategy.position_size < 0)
holdCount := holdCount + 1
else
holdCount := 0
exitCondition = holdCount >= holdBars
// 执行交易
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitCondition)
strategy.close_all()
// 绘制指标
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")