동적 RSI 저점-고점 다이버전스 추세 전략

RSI PRICE LOOKBACK DIVERGENCE STRATEGY
생성 날짜: 2025-03-31 17:24:27 마지막으로 수정됨: 2025-03-31 17:24:27
복사: 2 클릭수: 342
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

동적 RSI 저점-고점 다이버전스 추세 전략 동적 RSI 저점-고점 다이버전스 추세 전략

개요

이 문서에서는 상대적으로 강한 지표 ((RSI)) 에 기반한 낮은 고점과 추세에서 벗어난 트렌드 트레이딩 전략을 자세히 설명합니다. 이 전략은 가격과 RSI 지표 사이의 오차를 식별하여 잠재적인 추세 반전 기회를 포착하여 거래자에게 정확한 입출소 신호를 제공합니다. 이 전략은 시각화 신호와 기술 지표 분석을 독특하게 결합하여 거래 의사 결정의 정확성과 적성을 향상시킵니다.

전략 원칙

전략의 핵심 원리는 상대적으로 강한 약한 지표 ((RSI) 의 낮은 고위점이 이론에서 벗어난 것이다. 구체적인 구현에는 다음과 같은 핵심 단계가 포함된다:

  1. RSI 지표 계산: 14주기의 RSI 길이를 사용하여 현재 시장의 과매매 상태를 평가하십시오.
  2. 가격 극한을 식별: 회귀 기간을 통해 낮은 점과 높은 점을 결정한다.
  3. 그리고 그 결과로,
    • “가격 혁신이 낮고 RSI 지표가 동시 하락”
    • 하락의 반발: 가격 혁신이 높은 반면 RSI 지표는 동시 상승하지 않았다
  4. 신호 생성:
    • 초고점 (<30) 아래의 전망이 뒤바뀌었다.
    • 초소매구역 (70위) 아래의 하락률이 뒤집혔다

전략적 이점

  1. 높은 정밀도 신호 식별: 엄격한 오차 조건 필터링을 통해 가짜 신호를 줄인다.
  2. 시각화 신호 표현: 대형 삼각형 표기 및 배경 고조명으로 신호 가독성을 향상한다.
  3. 유연성: RSI 변수, 회수 기간 및 오버 구매 오버 판매 경계를 조정할 수 있습니다.
  4. 다중 시간 프레임 적응성: 1시간에서 4시간 사이 사이클에서 가장 잘 작동한다.
  5. 디비팅 기능: 내장된 디비팅 탭, 중요한 지표를 확인하기 쉽다.

전략적 위험

  1. 잘못된 판단의 위험: 신호에서 벗어나는 것은 100% 정확하지 않으며, 잘못된 신호가 있을 확률이 있다.
  2. 시장의 급격한 변동: 추세가 강한 시장에서 탈퇴 전략은 좋지 않을 수 있습니다.
  3. 매개 변수 민감성: RSI 매개 변수와 회귀 기간의 부적절한 설정은 전략의 효과를 떨어뜨릴 수 있다.
  4. 거래비용: 자주 거래하는 것은 높은 수수료와 슬라이드 포인트 비용을 초래할 수 있다.

전략 최적화 방향

  1. 다중 지표 확인: 이동 평균, MACD 등의 지표와 결합하여 신호 정확도를 향상시킨다.
  2. 동적 변수 조정: 시장의 변동성에 따라 RSI 변수를 조정한다.
  3. 손해 차단 메커니즘: ATR 기반의 동적 손해 차단 전략을 도입한다.
  4. 머신러닝 최적화: 머신러닝 알고리즘을 사용하여 동적으로 최적화 입점 출구점.
  5. 위험 관리: 시장의 변동에 따라 포지션 크기를 조정한다.

요약하다

동적 RSI 하위 고위 트렌드 전략은 정확한 기술 지표 분석과 시각화 신호를 통해 거래자에게 비교적 효율적인 트렌드 거래 방법을 제공합니다. 지속적인 최적화와 위험 관리를 통해 이 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 것으로 예상됩니다.

전략 소스 코드
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("RSI Divergence Strategy - Visible Signals", overlay=true)

// 1. Basic Inputs (Keep it simple)
rsiLength = input.int(14, "RSI Length")
lookback = input.int(10, "Lookback Period", minval=5)
oversold = input.int(30, "Oversold Level")
overbought = input.int(70, "Overbought Level")

// 2. Calculate Indicators
rsi = ta.rsi(close, rsiLength)
priceLow = ta.lowest(low, lookback)
priceHigh = ta.highest(high, lookback)
rsiLow = ta.lowest(rsi, lookback)
rsiHigh = ta.highest(rsi, lookback)

// 3. Simple Divergence Detection
bullishDiv = low == priceLow and rsi > rsiLow and rsi < oversold
bearishDiv = high == priceHigh and rsi < rsiHigh and rsi > overbought

// 4. Visual Signals (Large and Clear)
plotshape(bullishDiv, "Buy", shape.triangleup, location.belowbar, 
     color=color.new(color.green, 0), size=size.large)
plotshape(bearishDiv, "Sell", shape.triangledown, location.abovebar, 
     color=color.new(color.red, 0), size=size.large)

// 5. Optional: Add Background for Better Visibility
bgcolor(bullishDiv ? color.new(color.green, 90) : bearishDiv ? color.new(color.red, 90) : na)

// 6. Basic Strategy Execution
if bullishDiv
    strategy.entry("Long", strategy.long)
    
if bearishDiv
    strategy.entry("Short", strategy.short)

// 7. Debugging Table (To verify values)
var table debugTable = table.new(position.top_right, 4, 1)
if barstate.islast
    table.cell(debugTable, 0, 0, "RSI: " + str.tostring(rsi))
    table.cell(debugTable, 1, 0, "Price Low: " + str.tostring(priceLow))
    table.cell(debugTable, 2, 0, "RSI Low: " + str.tostring(rsiLow))
    table.cell(debugTable, 3, 0, "Signal: " + (bullishDiv ? "BUY" : bearishDiv ? "SELL" : "NONE"))
    // Test Settings (paste these above the strategy call)
//rsiLength := 5
//lookback := 5
//oversold := 20
//overbought := 80