
이는 RSI와 패러블리 라인 전환 지표 (PSAR) 를 결합한 거래 전략으로, 동적인 오버 바이 오버 소드 범위를 설정하여 가격과 PSAR의 교차 신호를 결합하여 시장의 추세를 포착합니다. 또한, 이 전략은 더 안정적인 거래 성과를 달성하기 위해 스톱 스톱 손실 메커니즘과 포지션 관리를 포함한 완벽한 위험 관리 시스템을 통합합니다.
이 전략은 다음과 같은 핵심 논리에 기반을 두고 있습니다.
이 전략은 PSAR와 RSI 지표를 결합하여 완전한 거래 시스템을 구축한다. 이 전략의 장점은 신호의 명확성과 위험의 통제성이지만 시장 환경에 대한 적응성에 주의를 기울이는 것이다. 지속적인 최적화 및 매개 변수 조정으로 전략은 더 나은 거래 효과를 달성할 것으로 기대된다. 실물 거래 전에 충분한 피드백 검증이 수행되고 특정 시장 특성에 따라 매개 변수 설정을 조정하는 것이 좋습니다.
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("PSAR & RSI Strategy with Risk Management", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// User Inputs
psar_start = input.float(0.02, title="PSAR Start")
psar_increment = input.float(0.02, title="PSAR Increment")
psar_max = input.float(0.2, title="PSAR Max")
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(70, title="RSI Overbought Level")
rsi_oversold = input.int(30, title="RSI Oversold Level")
tp_percent = input.float(5, title="Take Profit %") / 100 // Take Profit Level
sl_percent = input.float(3, title="Stop Loss %") / 100 // Stop Loss Level
// PSAR Calculation
psar = ta.sar(psar_start, psar_increment, psar_max)
// RSI Calculation
rsi = ta.rsi(close, rsi_length)
// Buy & Sell Conditions
buy_signal = ta.crossover(close, psar) and rsi < rsi_oversold
sell_signal = ta.crossunder(close, psar) and rsi > rsi_overbought
// Plot PSAR on Chart
plot(psar, style=plot.style_cross, color=color.blue, title="PSAR")
// Buy & Sell Signals on Chart
plotshape(series=buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal")
plotshape(series=sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal")
// RSI Visualization (Dynamic Colors)
rsi_color = rsi > rsi_overbought ? color.red : rsi < rsi_oversold ? color.green : color.blue
plot(rsi, title="RSI", color=rsi_color, linewidth=2)
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)
// Alerts for Buy & Sell
alertcondition(buy_signal, title="BUY Alert", message="Buy Signal Triggered!")
alertcondition(sell_signal, title="SELL Alert", message="Sell Signal Triggered!")
// Strategy Execution with Take Profit & Stop Loss
if buy_signal
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit / Stop Loss", from_entry="Buy", limit=close * (1 + tp_percent), stop=close * (1 - sl_percent))
if sell_signal
strategy.close("Buy")