이 전략은 상대 강도 지수 (RSI) 지표와 수동 취익 (TP) 및 스톱 로스 (SL) 레벨을 결합하여 활용하는 모멘텀 기반 접근법이다. 전략의 주된 아이디어는 RSI 지표를 사용하여 과반 구매 및 과반 판매 시장 조건을 캡처하는 데 있으며, 또한 최근 가장 높고 낮은 가격에 대한 일일 폐쇄 가격의 위치를 고려합니다. 미리 정의된 TP 또는 SL 수준이 달성되면 전략은 자동으로 포지션을 닫습니다.
이 전략은 RSI 모멘텀 인디케이터를 기반으로 한 거래 프레임워크를 제공하며 수동 수익 및 스톱 로스 기능을 통합하여 거래자가 자신의 위험 선호도 및 시장 전망에 따라 포지션을 관리 할 수 있습니다. 그러나 전략의 성능은 파라미터 선택과 시장 조건에 크게 달려 있습니다. 따라서 거래자는이 전략을 사용 할 때 신중을 기울이고 철저한 백테스팅 및 최적화를 수행하고 더 강력한 거래 결과를 달성하기 위해 다른 형태의 분석 및 위험 관리 기술과 결합해야합니다.
//@version=5 strategy("RSI Strategy with Manual TP and SL", overlay=true) // Strategy Parameters length = input(14, title="RSI Length") overSold = input(30, title="Oversold Level") overBought = input(70, title="Overbought Level") trail_profit_pct = input.float(20, title="Trailing Profit (%)") // RSI Calculation vrsi = ta.rsi(close, length) // Entry Conditions for Long Position rsi_crossed_below_30 = vrsi > overSold and ta.sma(vrsi, 2) <= overSold // RSI crossed above 30 daily_close_above_threshold = close > (ta.highest(close, 50) * 0.7) // Daily close above 70% of the highest close in the last 50 bars // Entry Conditions for Short Position rsi_crossed_above_70 = vrsi < overBought and ta.sma(vrsi, 2) >= overBought // RSI crossed below 70 daily_close_below_threshold = close < (ta.lowest(close, 50) * 1.3) // Daily close below 130% of the lowest close in the last 50 bars // Entry Signals if (rsi_crossed_below_30 and daily_close_above_threshold) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (rsi_crossed_above_70 and daily_close_below_threshold) strategy.entry("RsiSE", strategy.short, comment="RsiSE") // Manual Take Profit and Stop Loss tp_percentage = input.float(1, title="Take Profit (%)") sl_percentage = input.float(1, title="Stop Loss (%)") long_tp = strategy.position_avg_price * (1 + tp_percentage / 100) long_sl = strategy.position_avg_price * (1 - sl_percentage / 100) short_tp = strategy.position_avg_price * (1 - tp_percentage / 100) short_sl = strategy.position_avg_price * (1 + sl_percentage / 100) strategy.exit("TP/SL Long", "RsiLE", limit=long_tp, stop=long_sl) strategy.exit("TP/SL Short", "RsiSE", limit=short_tp, stop=short_sl)