
この戦略は,複数の技術指標に基づいたトレンド追跡取引システムである.これは,平均線 (EMA),相対的に強い指標 (RSI),取引量 (Volume) および実際の波幅指標 (ATR) を組み合わせて,入場時刻を決定し,ATRを動的に設定し,ストップとストップポジションを使用する.この戦略は,取引信号の信頼性を高めるためにK線突破確認機構も追加した.
戦略は,急速なEMA ((9サイクル) と遅いEMA ((21サイクル) の交差を使用して,トレンドの変化を捉えます.その基礎で,RSI指標 ((14サイクル) と組み合わせて,過度に買い買い買いする領域をフィルターし,RSI値が超買い ((70) と超売り ((30) の領域の外にあることを要求します.同時に,戦略は,20サイクルの取引量より大きな取引量平均線を要求し,収束価格が前回のKラインの高低点を突破することを必要とします.追加入場確認として.ATRベースのダイナミックなストップ ((1.5倍ATR) とストップ ((3倍ATR) の設定を使用し,トラッキングストップ ((1倍ATR) のメカニズムを使用し,利益を保護します.
適応指標のパラメータを導入する: EMAとRSIの周期設定は,市場の波動率に応じて自動的に調整され,戦略が異なる市場環境により適したようにすることができます.
市場環境フィルターを追加します: ADXのようなトレンド強度指標を追加し,横軸市場では自動的にポジションを減額または取引を一時停止する.
リスク対策の最適化 サポート抵抗位置設定と組み合わせた止損を考慮して,止損の有効性を向上させることができる.
取引量管理の改善: 市場変動と流動性の動向に応じて保有規模を調整
これは,構造が整った,論理が厳格なトレンド追跡戦略である.複数の技術指標の配合による使用により,取引信号の信頼性が保証され,リスクが効果的に管理される.ダイナミックなストップダストの設定は,リスクと利益の良い比率を提供する.戦略の最適化余地が大きい.継続的な改善により,より多くの市場環境に適応することができる.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=6
strategy("15m EMA RSI Strategy with ATR SL/TP and Candle Break Confirmation", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// INPUTS
fastLength = input.int(9, title="Fast EMA Length")
slowLength = input.int(21, title="Slow EMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
volLength = input.int(20, title="Volume MA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplierSL = input.float(1.5, title="ATR Multiplier for Stop Loss")
atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit")
trailingStopMultiplier = input.float(1.0, title="ATR Multiplier for Trailing Stop")
// INDICATOR CALCULATIONS
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
rsiValue = ta.rsi(close, rsiLength)
volMA = ta.sma(volume, volLength)
atr = ta.atr(atrLength)
// Candle Breakout Conditions for Confirmation
longCandleBreak = close > high[1]
shortCandleBreak = close < low[1]
// Plot EMAs for visual reference
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")
// ENTRY CONDITIONS
longCondition = ta.crossover(fastEMA, slowEMA) and (rsiValue < rsiOverbought) and (volume > volMA) and longCandleBreak
shortCondition = ta.crossunder(fastEMA, slowEMA) and (rsiValue > rsiOversold) and (volume > volMA) and shortCandleBreak
// Plot Buy/Sell Signals on the Chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.normal)
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.normal)
// TRADE EXECUTION WITH ATR-BASED STOP LOSS, TAKE PROFIT, AND TRAILING STOP
if longCondition
longStop = close - atrMultiplierSL * atr
longTP = close + atrMultiplierTP * atr
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longStop, limit=longTP, trail_points=atr * trailingStopMultiplier)
if shortCondition
shortStop = close + atrMultiplierSL * atr
shortTP = close - atrMultiplierTP * atr
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortStop, limit=shortTP, trail_points=atr * trailingStopMultiplier)
// OPTIONAL: Plot RSI for reference
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.purple, title="RSI")