알리거터 RSI 거래 전략

저자:차오장, 날짜: 2023-12-07 15:46:57
태그:

img

전반적인 설명

알리거터 RSI 거래 전략은 시장 트렌드를 결정하고 거래 신호를 생성하기 위해 여러 가지 상대 강도 지수 (RSI) 이동 평균의 조합을 사용하는 양적 거래 전략이다. 이 전략은 알리거터가 사냥하는 방식에서 영감을 받아 단기 RSI 라인이 장기 RSI 라인을 넘을 때 거래를 개시합니다.

전략 논리

알리거터 RSI 거래 전략은 5 기간, 13 기간 및 34 기간의 3 개의 RSI 라인을 사용합니다. 5 기간 RSI 라인은 테스 라인, 13 기간 라인은 립스 라인 및 34 기간 라인은 라인이라고 불립니다. 테스 또는 립스 라인이 라인의 위를 넘을 때 긴 신호가 생성됩니다. 테스 또는 립스 라인이 라인의 아래를 넘을 때 짧은 신호가 유발됩니다.

핵심은 단기 및 장기적인 RSI 라인 사이의 교차를 파악하여 단기 및 장기적인 트렌드 사이의 관계를 측정하고 반전 기회를 식별하는 데 있습니다. 단기 RSI가 장기적인 RSI를 넘을 때 단기 가격 행동의 반전을 신호하여 반대 방향으로 입장을 취함으로써 임박한 장기적인 트렌드 반전에서 이익을 얻을 수 있습니다.

이점 분석

알리거터 RSI 거래 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 시장 반전, 트렌드 반전에서 수익을 포착합니다.
  2. 여러 RSI MAs가 신호를 확인하고 거짓 신호를 피합니다.
  3. 단순하고 이해하기 쉬운 논리, 이해하기 쉽고 실행하기 쉬운
  4. 조절 가능한 매개 변수, 조절 가능한 매개 변수
  5. 시장과 시간 프레임에 적용, 다양한 시장과 시간 프레임에 작업

위험 분석

알리거터 RSI 거래 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. 거짓 신호에 유연하고 거짓 신호에 유연합니다.
  2. 범위에 한정된 시장에서의 투쟁, 범위에 한정된 시장에서의 투쟁
  3. 잠재적으로 큰 수요, 잠재적으로 큰 수요
  4. 시간이 많이 걸리는 파라미터 조정, 시간이 많이 걸리는 파라미터 조정
  5. 잠재적인 오버 트레이딩, 잠재적인 오버 트레이딩

이러한 위험은 추가 지표를 결합하고 매개 변수를 최적화하고 포지션 크기를 적절히 조정함으로써 완화될 수 있습니다.

최적화 방향

알리거터 RSI 거래 전략은 다음과 같은 방법으로 최적화 될 수 있습니다.

  1. 불링거 밴드, 촛불 패턴과 같은 다른 기술 지표를 결합하여 잘못된 신호를 필터링합니다.
  2. 가장 좋은 MA 매개 변수 조합을 찾기 위해 RSI 매개 변수를 최적화
  3. 시장 조건에 따라 포지션 크기와 스톱 로스를 조정합니다.
  4. 다른 제품 및 시간 프레임에 대한 테스트 매개 변수 효과
  5. 매개 변수를 동적으로 최적화하기 위해 기계 학습을 통합

결론

알리거터 RSI 거래 전략은 시장 반전 기회를 포착하기 위해 RSI MA 교차를 사용합니다. 그것은 간단하며 알고 거래에 사용할 수 있지만 몇 가지 결함이 있습니다. 매개 변수 최적화 및 지표 조합은이 안정적으로 수익성있는 알고리즘 거래 전략으로 만들기 위해이 전략을 향상시킬 수 있습니다.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI Alligator", overlay=false)

jaws = rsi(close, 34)
teeth = rsi(close, 5)
lips = rsi(close, 13)
plot(jaws, color=blue, title="Jaw")
plot(teeth, color=green, title="Teeth")
plot(lips, color=red, title="Lips")



longCondition = crossover(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) > rsi(close, 34))
longCondition1 = crossover(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) > rsi(close, 34))
if (longCondition)
    strategy.entry("Long", strategy.long)
if (longCondition1)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) < rsi(close, 34))
shortCondition1 = crossunder(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) < rsi(close, 34))
if (shortCondition)
    strategy.entry("Short", strategy.short)
if (shortCondition1)
    strategy.entry("Short", strategy.short)
    
    // === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(90, title='Take Profit %', type=float)/100

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)

strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)

더 많은