RSI 피보나치 리트레이싱 전략은 RSI 지표와 설정된 피보나치 리트레이싱 수준 사이의 교차를 기반으로 트레이딩 신호를 생성하고, 과잉 구매 및 과잉 판매 영역에서 반전이 발생했을 때 포지션을 취합니다. 트렌드 다음 전략에 속합니다.
이 전략은 RSI 지표와 피보나치 리트레이싱 레벨 사이의 교차를 기반으로 구현됩니다. 먼저 RSI 지표의 값을 계산하고, 피보나치 리트레이싱 레벨 (38.2%, 50%, 61.8%) 을 설정합니다. RSI 지표가 피보나치 레벨을 넘을 때 구매 신호가 생성됩니다. 아래로 넘으면 판매 신호가 생성됩니다.
RSI 지표는 시장이 과소매 또는 과소매인지 판단하는 데 사용됩니다. 70 이상의 RSI는 과소매 영역을 나타내고 30 이하의 RSI는 과소매 영역을 나타냅니다. RSI가 과소매 영역에서 피보나치 리트레이싱 구역으로 떨어지면 긴 거꾸로 이동하는 신호입니다. 과소매 영역에서 피보나치 리트레이싱 구역으로 상승하면 짧은 거꾸로 이동하는 신호입니다.
이 전략의 피보나치 리트레이싱 레벨은 주로 기준으로 작용하여 RSI와 거래 신호를 형성합니다. 트렌딩 시장에서 리트레이싱 후 계속 실행하는 것은 종종 지원 및 저항과 같은 피보나치 리트레이싱 레벨에 영향을 미칩니다. RSI와 트레이딩 신호로 크로스오버를 사용하면 반전 기회를 잡을 수 있습니다.
RSI를 사용하여 과잉 구매 및 과잉 판매 형성을 식별하고, 회전 기회를 포착하기 위해 피보나치 리트레이싱 영역과 결합하면 약간의 소음을 필터 할 수 있습니다.
추세에 따라, 중장기 추세를 포착 할 수 있습니다.
피보나치 리트레이싱 영역을 조정하여 다른 시장 상황에 적응할 수 있습니다.
긴 또는 짧은 포지션은 오랫동안 지속될 수 있고 충분한 자본 지원이 필요합니다.
리트레이싱 프로세스는 다시 탐사 고도와 하락을 나타낼 수 있으며 위험을 제어하기 위해 스톱 로스를 필요로합니다.
부적절한 매개 변수 설정은 과도한 거래 또는 역전 기회를 충분히 포착하지 못하게 할 수 있습니다.
진입 시기를 필터링하는 다른 지표를 고려하십시오. 예를 들어 MACD, 볼링거 밴드 등으로 트렌드 방향을 판단하십시오.
RSI 기간과 피보나치 리트레이싱 수준과 같은 매개 변수는 최적화 될 수 있습니다.
동적 스톱 로스를 설정해 수익을 확보하세요.
RSI 피보나치 리트레이싱 전략은 트렌드를 따르는 전략으로 일반적으로 안정성이 좋습니다. 단일 RSI 전략과 비교하면 피보나치 리트레이싱 영역을 추가하면 소란스러운 거래를 효과적으로 필터 할 수 있습니다. 매개 변수 최적화로 다양한 시장에서 다른 거래 도구에 적응 할 수 있습니다. 결론적으로 이것은 신뢰할 수 있고 최적화하기가 쉬운 전략 아이디어입니다.
/*backtest start: 2022-12-22 00:00:00 end: 2023-12-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // (c) ReduX_o, 2019. All rights reserved. // // How to trade: // The indicator is more reliable in longer time frames // Choose a fibonacci level as reference // Buy when the RSI line turns green // Sell when the RSI line turns red //@version=4 strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len = input(14, minval=1, title="Rsi Periods") f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"]) // === BACKTEST RANGE === FromYear = input(defval=2010, title="From Year", minval=2010) FromMonth = input(defval=1, title="From Month", minval=1) ToYear = input(defval=2020, title="To Year", minval=2010) ToMonth = input(defval=1, title="To Month", minval=1) src = hl2 fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8 up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down) //*************************************************** rcolor = rsi >= fi ? color.lime : color.red plot(rsi, title="RSI", color=rcolor, transp=0) band1 = hline(78.6, color=color.red, linestyle= hline.style_solid, editable= false) band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false) band2 = hline(61.8, color=color.gray, editable= false) band3 = hline(50, color=color.black, editable= false) band4 = hline(38.2, color=color.gray, editable= false) band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false) strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi ) strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )