RSI Alligator 거래 전략


생성 날짜: 2023-12-07 15:46:57 마지막으로 수정됨: 2023-12-07 15:46:57
복사: 0 클릭수: 863
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

RSI Alligator 거래 전략

개요

RSI 상어 거래 전략은 상대적으로 강한 지수 ((RSI) 의 여러 평균 선의 조합을 사용하여 시장 추세를 판단하고 거래 신호를 보내는 양적 거래 전략이다. 이 전략은 상어 포획 원리를 모티브로 하여, 단기 RSI 선이 장기 RSI 선을 가로지르면 거래한다.

전략 원칙

RSI 오징어 거래 전략은 5일, 13일, 34일 세 개의 RSI 평균선을 동시에 이용한다. 이 중 5일 RSI 라인은 오징어 오징어 라인, 13일 라인은 오징어 입술 오징어 라인, 34일 라인은 오징어 턱선 오징어 턱선 위에 오징어 또는 오징어 입술 오징어 라인을 통과할 때, 다중 신호를 발산한다. 오징어 오징어 오징어 라인 또는 오징어 입술 오징어 라인 아래 오징어 턱선 아래 오징어 턱선 오징어를 통과할 때, 공백 신호를 발산한다.

거래 전략의 핵심은 단기 RSI 선과 장기 RSI 선의 교차점을 포착하여 시장의 단기 경향과 장기 경향의 관계를 판단하고 역전 기회를 찾습니다. 단기 RSI 선이 장기 RSI 선을 교차하면 단기 가격이 역전되었다는 것을 나타냅니다.

전략적 강점 분석

RSI 해파리 거래 전략은 다음과 같은 장점이 있습니다.

  1. 트렌드 리버설의 수익
  2. 여러 RSI 평행선 확인 신호를 사용하여 거짓 신호를 피하십시오.
  3. 간단한 거래 논리, 이해하기 쉽고 구현하기 쉽습니다.
  4. 미세 조정 가능한 매개 변수, adjustable parameters
  5. 다양한 시장과 시간대에 적합하며, 다양한 시장과 시간대에 적용됩니다.

위험 분석

RSI 해파리 거래 전략에는 다음과 같은 위험도 있습니다.

  1. 잘못된 신호를 유발할 가능성이 높습니다.
  2. “지구권 시장의 격동, range-bound markets 기간 동안의 투쟁”
  3. “전략적으로 큰 인출이 있을 수 있다”
  4. 시간이 걸리는 파라미터 튜닝
  5. 거래 빈도, 잠재적으로 과도한 거래

다른 지표, 최적화 변수, 그리고 적절히 조정된 포지션 규모를 조합하여 이러한 위험을 완화할 수 있습니다.

전략 최적화 방향

RSI 해파리 거래 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 다른 기술적인 지표들, 예를 들어, 브린 밴드, K선 형태 등과 결합하여 잘못된 신호를 필터링한다.
  2. RSI 변수를 최적화하여 최적의 평균선 변수 조합을 찾습니다.
  3. 시장 상황에 따라 포지션 규모와 정지 위치를 조정합니다.
  4. 다른 거래 종류와 시간 주기에서의 변수의 효과를 테스트하는 방법
  5. 기계 학습 알고리즘을 추가하고 실시간 최적화 매개 변수를 추가합니다.

요약하다

RSI 낚시 거래 전략은 여러 RSI 평행선 교차를 사용하여 시장 역전 기회를 잡습니다. 그것은 간단하고 실용적이며 자동화 된 거래에 적합하지만 결점이 있습니다. 매개 변수 최적화 및 지표 조합을 통해이 전략을 강화하여 안정적으로 수익성있는 알고리즘 거래 전략으로 만들 수 있습니다.

전략 소스 코드
/*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)