この戦略は,スーパートレンド,相対強度 (RS) および相対強度指数 (RSI) をベースとしたトレンドフォローシステムである.これらの3つの技術指標を統合することにより,市場のトレンドが明確であるときに取引を開始し,リスク管理のために動的ストップロスを実装する.この戦略は主にトレンド持続可能性を確認するためにRSIを使用して強い上昇価格トレンドを把握することを目的としている.
この戦略は,トレードシグナルに対する3つのフィルタリングメカニズムを使用しています.
この戦略は,スーパートレンド,RS,RSIインジケーターを統合することで,比較的包括的なトレンドフォロートレーディングシステムを構築する.その主な利点は,多重信号確認メカニズムが取引の信頼性を向上させ,明確なリスク制御メカニズムが取引の保障を提供することにある.潜在的なリスクにもかかわらず,提案された最適化方向性は戦略の安定性と収益性をさらに向上させることができる.この戦略は,明確なトレンドを持つ市場に特に適しており,中長期間の取引のための基礎の枠組みとして機能することができる.
/*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("Sanjay RS&RSI Strategy V3 for nifty 15min, SL-1.3", overlay=true) // Inputs atrLength = input.int(10, title="ATR Length") factor = input.float(3.0, title="ATR Multiplier") rsPeriod = input.int(55, title="RS Period") rsiPeriod = input.int(14, title="RSI Period") rsiThreshold = input.float(60, title="RSI Threshold") stopLossPercent = input.float(2.0, title="Stop Loss (%)", step=0.1) // Adjustable Stop Loss in Percentage // Supertrend Calculation [supertrendDirection, supertrend] = ta.supertrend(factor, atrLength) // RS Calculation rs = (close - ta.lowest(close, rsPeriod)) / (ta.highest(close, rsPeriod) - ta.lowest(close, rsPeriod)) * 100 // RSI Calculation rsi = ta.rsi(close, rsiPeriod) // Entry Conditions buyCondition = (supertrendDirection > 0) and (rs > 0) and (rsi > rsiThreshold) // Exit Conditions exitCondition1 = (supertrendDirection < 0) exitCondition2 = (rs <= 0) exitCondition3 = (rsi < rsiThreshold) exitCondition = (exitCondition1 and exitCondition2) or (exitCondition1 and exitCondition3) or (exitCondition2 and exitCondition3) // Plot Supertrend plot(supertrend, title="Supertrend", color=supertrendDirection > 0 ? color.green : color.red, linewidth=2) // Strategy Entry if (buyCondition) strategy.entry("Buy", strategy.long) // Add Stop Loss with strategy.exit stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100) strategy.exit("SL Exit", from_entry="Buy", stop=stopLossLevel) // Strategy Exit (Additional Conditions) if (exitCondition) strategy.close("Buy")