리소스 로딩... 로딩...

수동 TP와 SL로 RSI 모멘텀 전략

저자:차오장, 날짜: 2024-03-29 16:35:13
태그:

img

전반적인 설명

이 전략은 상대 강도 지수 (RSI) 지표와 수동 취익 (TP) 및 스톱 로스 (SL) 레벨을 결합하여 활용하는 모멘텀 기반 접근법이다. 전략의 주된 아이디어는 RSI 지표를 사용하여 과반 구매 및 과반 판매 시장 조건을 캡처하는 데 있으며, 또한 최근 가장 높고 낮은 가격에 대한 일일 폐쇄 가격의 위치를 고려합니다. 미리 정의된 TP 또는 SL 수준이 달성되면 전략은 자동으로 포지션을 닫습니다.

전략 원칙

  1. 특정 기간에 대한 RSI 지표 값을 계산합니다.
  2. RSI가 앞서 정의된 과반 판매 및 과반 구매 기준을 초과하거나 그 이하로 넘었는지 결정합니다. 이는 각각 긴 포지션과 짧은 포지션에 진입하는 조건 중 하나입니다.
  3. 하루 종료 가격이 마지막 50개의 촛불의 최저 종료 가격의 70% 이상 또는 최저 종료 가격의 130% 이하인지 확인합니다. 이는 각각 긴 포지션과 짧은 포지션에 진입하는 또 다른 조건입니다.
  4. 롱 포지션이나 쇼 포지션의 두 입상 조건이 동시에 충족되면 전략은 대응하는 입시 신호를 생성합니다.
  5. 엔트리 가격과 미리 정의된 TP 및 SL 비율을 기반으로 긴 포지션과 짧은 포지션의 수익 및 스톱 로스 레벨을 계산합니다.
  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)


더 많은