RSI 모멘텀 전략


생성 날짜: 2024-03-29 16:35:13 마지막으로 수정됨: 2024-03-29 16:35:13
복사: 0 클릭수: 640
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI 모멘텀 전략

개요

이 전략은 상대적으로 강하고 약한 지수 ((RSI) 에 기반한 동적 전략으로, 수동으로 정지 (stop) (TP) 와 정지 (stop) (SL) 를 설정하는 기능과 결합된다. 전략의 주요 아이디어는 RSI 지표를 통해 시장의 과매매와 과매매 상태를 포착하는 것이며, 최근 최고 가격과 최저 가격에 대한 일일 마감 가격의 위치를 고려하는 동시에, 진입 시기를 판단하는 것이다.

전략 원칙

  1. 지정된 주기에서의 RSI 지표값을 계산한다.
  2. RSI가 초과 판매와 초과 구매 경계를 돌파했는지 판단하는 것은 각각 다단계 및 공백 진입의 조건 중 하나입니다.
  3. 다단계 진입의 다른 조건으로, K선 50개에 가까운 최상위 종결 가격의 70% 이상의 일선 종결 가격을 판단하고, K선 50개에 가까운 최저 종결 가격의 130% 이하의 일선 종결 가격을 판단하는 것은 공백 진입의 다른 조건이다.
  4. 다중 헤드 또는 공허 헤드의 두 개의 입구 조건이 동시에 충족되면, 전략은 그에 따른 입구 신호를 낸다.
  5. 진입 가격과 미리 설정된 스톱 스톱 손실 비율에 따라 다중 헤드 및 빈 헤드의 스톱 스톱 손실 가격을 계산합니다.
  6. 이 전략은 스톱포스 또는 스톱로스 가격에 도달했을 때 자동으로 포지션을 청산합니다.

전략적 이점

  1. RSI와 가격 수준을 결합하여, 시장의 단기 동력의 변화를 더 잘 포착할 수 있다.
  2. 수동으로 설정된 스톱 스톱 손실 수준으로, 거래자는 자신의 위험 선호와 시장의 변동성에 따라 포지션을 관리할 수 있다.
  3. 흔들리는 시장에 적용되며 RSI 신호가 더 신뢰할 때 잘 작동 할 수 있습니다.
  4. RSI 신호에 기반한 구조화된 거래 방법을 제공하면서 거래자가 사용자 정의한 위험 관리 매개 변수를 허용한다.

전략적 위험

  1. 트렌드 시장에서 RSI 지표는 오랜 시간 동안 과매매 또는 과매매 상태에 있을 수 있으며, 이는 전략의 부실한 성과로 이어진다.
  2. 고정된 스톱 스톱 손실 비율은 다른 시장 조건과 변동성에 적응하지 못할 수 있습니다.
  3. 전략의 성과는 크게 변수의 선택에 달려 있으며, 부적절한 변수 설정으로 인해 거래가 빈번하거나 기회를 놓치게 될 수 있습니다.
  4. 기술 지표에만 의존하여 거래 결정을 내리는 것은 기본 요소와 시장 감정의 영향을 무시합니다.

전략 최적화 방향

  1. RSI의 파라미터는 (장기, 오버 바이 오버 시트 값과 같은) 다양한 시장 상황에 맞게 최적화됩니다.
  2. 시장의 변동성 동력에 따라 스톱 스톱 손실 수준을 조정하는 적응형 스톱 스톱 손실 메커니즘을 도입하십시오.
  3. 다른 기술 지표 또는 시장 감정 지표와 결합하여 신호의 신뢰도와 안정성을 향상시킵니다.
  4. 전략에 대해 세그먼트 최적화, 다른 시장 추세에 대해 다른 파라미터 설정을 사용한다 (예: 상승, 하락, 흔들림).

요약하다

이 전략은 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)