리버스 RSI 트렌드 추적 ETF 거래 전략

저자:차오장, 날짜: 2024-01-22 17:15:18
태그:

img

전반적인 설명

이 전략은 상대적 강도 지수 (RSI) 를 기반으로 하는 역전 트렌드 추적 ETF 거래 전략이다. 역전 입출출을 위해 RSI 지표를 통해 단기적인 과잉 구매 및 과잉 판매 조건을 판단합니다. 한편, 전체 트렌드 방향을 결정하기 위해 200일 이동 평균을 사용합니다.

전략 원칙

이 전략의 핵심 논리는 RSI 지표의 반전 원리에 기반합니다. RSI 지표는 거래 품종이 과소매 또는 과소매 상태에 있는지 판단하기 위해 일정 기간 동안 상승과 하락의 평균 진폭을 계산합니다. 70 이상의 RSI는 과소매 조건을 나타냅니다. 30 이하의 RSI는 과소매 조건을 나타냅니다. 이 시점에서 반전 추세가 발생할 수 있습니다.

이 전략은 오늘의 RSI가 조정 가능한 매개 변수보다 낮을 때 구매 트리거를 설정하여 이 원리를 활용합니다.TodaysMinRSI, 그리고 3일 전의 RSI는 조정 가능한 매개 변수 아래입니다.Day3RSIMax이것은 가격이 단기 초판 지역에있을 수 있음을 나타내고 반등이 발생할 가능성이 있음을 나타냅니다. 또한 지난 3 일 동안 하향 RSI 추세를 요구합니다. 즉 거짓 브레이크오프를 피하기 위해 구매 전에 지속적인 RSI 하락.

전략의 출구 메커니즘은 RSI 지표가 조정 가능한 매개 변수의 임계 값을 다시 초과 할 때입니다.Exit RSI, 리바운드가 끝난 것으로 간주되며 그 지점은 닫아야합니다.

이 전략은 또한 전체 트렌드 방향을 판단하기 위해 200일 이동 평균을 도입한다. 가격은 200일 라인 이상일 때만 긴 엔트리 오더를 할 수 있다. 이는 상승 트렌드 단계에서만 구매하는 것을 보장하고 역 트렌드 거래의 위험을 피하는 데 도움이 된다.

이점 분석

  • RSI 인디케이터를 사용하여 리바운드가 발생할 가능성이 있는 과반 구매 및 과반 판매 영역을 결정합니다.
  • 주요 트렌드 방향을 결정하기 위해 200일 라인을 포함시켜 반트렌드 거래를 피하는 데 도움이 됩니다.
  • RSI 역전 거래 원칙은 고전적이고 신뢰할 수 있으며 높은 성공률입니다.
  • 조정 가능한 매개 변수는 다양한 품종에 최적화 될 수있는 유연성을 제공합니다.

위험 과 해결책

  • RSI 지표는 가짜 브레이크의 가능성을 가지고 있으며, 완전히 손실 거래를 피할 수 없습니다. 단 하나의 거래 손실을 제어하기 위해 스톱 로스를 설정할 수 있습니다.
  • 실패한 반전은 손실을 증가시킬 수 있습니다. 보유 기간은 적시에 스톱 로스로 단축 될 수 있습니다.
  • 부적절한 매개 변수 설정은 과도한 공격성 또는 과도한 보수성으로 이어질 수 있으며 무역 기회를 놓칠 수 있습니다. 매개 변수는 백테스팅을 통해 각 품종에 최적화해야합니다.

최적화 방향

  • KDJ, 볼링거 밴드 등과 같은 다른 지표를 통합하여 지표 조합을 형성하여 신호 정확성을 향상시킵니다.
  • 스톱 로스 레벨을 동적으로 만들기 위해 이동 스톱 로스 전략을 추가하여 손실을 줄입니다.
  • 포지션 사이즈 또는 돈 관리 모듈을 추가하여 거래별로 리스크 노출을 제어합니다.
  • 각 품종에 맞는 매개 변수 집합을 내기 위해 다양한 품종에 대한 매개 변수 및 백테스트를 최적화합니다.

요약

이 전략은 리버설 트레이드를 위해 과잉 구매 및 과잉 판매 구역을 판단하여 고전적인 RSI 입출점을 활용합니다. 한편, 주요 트렌드와 매개 변수 최적화를 고려하면 매우 신뢰할 수있는 단기 리버설 ETF 전략입니다. 추가 최적화로 실용적인 효과를 가진 양적 전략이 될 수 있습니다.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version = 5
// Author = TradeAutomation


strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time')
InDateRange = true

// Calculations and Inputs //
RSILen = input.int(2, "RSI Length")
RSI = ta.rsi(close, RSILen)
TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry")
Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry")
EMA = ta.ema(close, 200)

// Strategy Rules //
Rule1 = close>ta.ema(close, 200)
Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI
Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] 
Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number"))

// Plot //
plot(EMA, "200 Day EMA")

// Entry & Exit Functions //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3)
//    strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop))
    strategy.close("Long", when = Exit)
if (not InDateRange)
    strategy.close_all()
    

더 많은