RSI 크로스오버 전략

저자:차오장, 날짜: 2023-10-18 11:44:45
태그:

img

전반적인 설명

RSI 크로스오버 전략은 RSI 지표의 빠른 라인과 느린 라인의 크로스오버와 크로스오더를 사용하여 입점과 출구 지점을 결정합니다. 빠른 라인이 느린 라인의 위를 넘으면 금색 십자가로 간주되며 자산이 과판되어 있음을 나타냅니다. 빠른 라인이 느린 라인의 아래를 넘을 때 사망 십자가로 간주되며 자산이 과판되어 있음을 나타냅니다. 이 전략은 잘못된 신호를 효과적으로 피하기 위해 RSI 지표의 과반 구매 및 과반 판매 판단을 통합합니다.

전략 논리

이 전략은 먼저 RSI 기간을 5로 설정하여 RSI 지표를 계산합니다. 그 다음 빠른 EMA는 RSI의 20 기간 EMA로 설정되고 느린 EMA는 RSI의 50 기간 EMA로 설정됩니다. 빠른 라인이 느린 라인의 위로 넘을 때 구매 신호가 생성됩니다. 빠른 라인이 느린 라인의 아래에 넘을 때 판매 신호가 생성됩니다. 또한 과소 구매 라인은 70로 설정되며 과소 판매 라인은 30로 설정되어 일부 잘못된 신호를 필터링합니다.

전략 논리는 주로 다음과 같은 점에 기초합니다.

  1. RSI 인디케이터는 자산이 과잉 구매 또는 과잉 판매 상태인지 판단 할 수 있습니다. RSI 70 이상은 과잉 구매 구역이며 30 이하는 과잉 판매 구역입니다.

  2. 빠른 EMA는 더 빨리 반응하고 자산의 단기 트렌드 변화를 결정할 수 있습니다. 느린 EMA는 더 안정적이며 중장기 트렌드를 결정할 수 있습니다.

  3. 빠른 선이 느린 선 위에 넘어가면 자산이 과잉판매에서 상향으로 변한다는 것을 나타냅니다. 이것은 구매 신호입니다.

  4. 빠른 선이 느린 선 아래로 넘어가면 자산이 과잉 매입에서 하향으로 전환하는 것을 나타냅니다. 이것은 판매 신호입니다.

  5. 과잉 구매 및 과잉 판매 라인은 황소 시장에서 판매 신호를 필터하고 곰 시장에서 구매 신호를 필터 할 수 있습니다.

  6. 일반적으로 이 전략은 RSI 지표의 강도를 결합하고, 시장의 단기 및 중기 전환점을 파악하고 트렌드를 결정할 수 있는 크로스오버를 판단하기 위해 이중 EMA를 사용합니다.

전략 의 장점

RSI 크로스오버 전략은 다음과 같은 장점을 가지고 있습니다.

  1. RSI 인디케이터를 사용하여 과잉 구매 및 과잉 판매를 판단하면 최고와 판매 최저를 쫓는 것을 피합니다.

  2. 빠른 EMA와 느린 EMA 조합은 거래의 민감성과 안정성을 모두 고려합니다.

  3. 과잉 매수와 과잉 판매의 문턱은 소란스러운 거래 신호를 필터합니다.

  4. 전략 논리는 간단하고 명확하고 이해하기 쉽고 구현하기 쉽고 양적 거래 개발에 적합합니다.

  5. 다양한 시장 환경에서 유연하게 적용할 수 있으며 좋은 백테스트 결과를 얻을 수 있습니다.

  6. RSI 기간과 EMA 기간과 같은 매개 변수는 시장 변화에 적응하도록 조정할 수 있습니다.

  7. 전략적 위험은 통제 가능하며 일방적인 추격의 위험을 피할 수 있습니다.

전략 의 위험

또한 RSI 크로스오버 전략에는 몇 가지 위험이 있습니다.

  1. RSI 지표가 잘못된 신호를 생성 할 위험이 있으며, 분리가 여전히 존재할 수 있습니다.

  2. 이중 EMA가 잘못된 신호를 생성할 위험이 있습니다.

  3. 부적절한 과잉 구매 및 과잉 판매 문턱은 좋은 거래 기회를 필터링 할 수 있습니다.

  4. 범위에 묶인 시장에서는 크로스오버 신호가 자주 발생하며 높은 거래 비용과 미끄러짐 위험을 초래합니다.

  5. 부적절한 매개 변수 설정 (RSI 기간, EMA 기간과 같이) 은 기회를 놓칠 수 있거나 잘못된 신호를 증가시킬 수 있습니다.

  6. 유효한 신호를 생성하기 위해서는 충분한 역사 데이터가 필요합니다.

  7. 시장 동향을 결정할 수 없고 시장이 역전될 때 손실을 초래할 수도 있습니다.

위험은 매개 변수 조정, 적절한 스톱 로스, 과잉 거래 피, 충분한 데이터를 축적 등으로 관리 될 수 있습니다.

최적화 방향

RSI 크로스오버 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. RSI 매개 변수를 최적화하고 다른 RSI 기간을 테스트하여 시장 특성에 더 잘 맞출 수 있습니다.

  2. 더 많은 기회를 잡기 위해 빠르고 느린 EMA 기간을 최적화하십시오.

  3. 주요 트렌드를 놓치지 않기 위해 다른 과반 구매 및 과반 판매 문턱을 테스트하십시오.

  4. 다른 지표를 포함하여 시장 동향을 결정하고 역전 시 손실을 피합니다.

  5. 단일 손실을 통제하기 위해 적절한 스톱 손실 전략을 설정합니다.

  6. 과도한 단일 손실을 방지하기 위해 거래 규모 관리 전략을 설정합니다.

  7. 이윤을 확보하기 위해 포지션을 열고 나서 부분적인 이윤을 취하는 것을 고려하십시오.

  8. 강한 트렌드에서 피라미딩을 사용하는 것을 고려하고 범위 제한 시장에서 거래를 줄이십시오.

  9. 다양한 시장에서 전략의 견고성을 테스트하고 여러 시장 유효성을위한 다른 매개 변수와 함께.

매개 변수, 위험 관리 및 다른 측면에 대한 포괄적 인 최적화로, RSI 크로스오버 전략의 안정성과 수익성은 크게 향상 될 수 있습니다.

요약

요약하자면, RSI 크로스오버 전략은 일반적으로 사용되는 양적 전략 논리이다. RSI 지표의 강점을 결합하고 트레이딩 신호를 생성하기 위해 이중 EMA를 사용하여 시장의 단기 및 중장기 전환점을 효과적으로 결정할 수 있다. 전략은 큰 최적화 공간, 제어 가능한 위험, 그리고 좋은 다재다능성으로 다른 시장 환경에 맞게 조정될 수 있다. 그러나 과도한 잘못된 신호를 생성하는 위험은 주목되어야 하며 적절한 위험 통제가 필요하다. 적절하게 조정되면 백테스트 결과는 좋을 수 있어 양적 거래 전략 선택을 쉽게 구현할 수 있다.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 4h
basePeriod: 15m
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/
// © xaurr

//@version=4
strategy("RSI Cross [xaurr]", shorttitle="RSIC",overlay=false)

src  = input(title="Source", type=input.source, defval=close)

//RSI Strategy
period = input(5,"RSI Period", minval=1)
overSold = input(30,"RSI Oversold", minval=1)
overBought = input(70, "RSI Overbought", minval=1)
fastPeriod = input(20,"Smooth Fast Period")
slowPeriod = input(50,"Smooth Slow Period")


rsi = rsi(src, period)
fast = ema(rsi,fastPeriod)
slow = ema(rsi,slowPeriod)


long = crossover(fast,slow)
short = crossunder(fast,slow)


pos = 0
pos:= long ?1:short ?-1 : nz(pos[1])


plot(overSold,"RSI Oversold",color=color.green)
plot(overBought, "RSI Overbought",color=color.red)
plot(rsi, linewidth = 1, color = color.blue, title="RSI Line")

plot(fast, linewidth = 2, color = color.green, title="RSI Fast Line")
plot(slow, linewidth = 2, color = color.red, title="RSI Slow Line")

bgcolor(pos == 1 ? color.green : pos == -1 ? color.red : na)

if pos == 1
    strategy.entry("long",strategy.long)

if pos == -1
    strategy.entry("short",strategy.short)

더 많은