이중 이동 평균 및 RSI 역전 거래 전략

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

img

전반적인 설명

이 전략은 이중 이동 평균과 상대적 강도 지수 (RSI) 를 결합하여 강한 트렌드 중에 단기적 역전 기회를 식별합니다. 트렌드 방향이 명확할 때 RSI를 사용하여 과반 구매 및 과반 판매 조건을 감지하고 가격이 역전될 때까지 기다립니다. 이 전략은 명백한 트렌드가있는 시장에 적합하며 전체 트렌드에 대항하지 않고 부분적 역전을 포착합니다.

전략 논리

  1. 전체 트렌드 방향을 결정하기 위해 30일 간 간단한 이동 평균 (SMA) 과 200일 기하급수 이동 평균 (EMA) 을 계산합니다.

    • SMA>EMA는 상승 추세를 나타냅니다.
    • SMA
  2. 30일 RSI를 계산해서 과반 구매와 과반 판매 상황을 파악합니다.

    • RSI <=53는 과판된 것으로 간주됩니다.
    • RSI>=60는 과잉 매입된 것으로 간주됩니다.
  3. 입국 규칙:

    • 상승 추세 (SMA>EMA) 와 RSI <=53의 경우 긴 거래
    • 하향 추세 (SMA=60에서 단축
  4. 출입 규칙:

    • Stop Loss 또는 Take Profit을 위한 긴 포지션을 닫습니다.
    • 스톱 로스 또는 영업 취득을 위한 짧은 포지션을 닫습니다.

이점 분석

  1. 주요 트렌드를 따르고 트렌드에 반대하는 거래를 피합니다.

  2. 보수적인 RSI 설정은 잘못된 신호를 피합니다.

  3. 이중 이동 평균 필터는 입력 시간 정확성을 향상

  4. 통제 가능한 위험, 소액 수요

위험 분석

  1. 분명하게 트렌딩 시장의 필요, 다양한 시장에서 덜 효과적

  2. 보수적인 RSI 설정은 어떤 기회를 놓칠 수 있습니다.

  3. 유예 출출을 피하기 위해 스톱 로스 배치가 합리적이어야 합니다.

개선 방향

  1. 더 많은 진입 기회를 찾기 위해 RSI 매개 변수를 최적화

  2. 다른 이동 평균 조합을 테스트합니다.

  3. 트렌드 필터를 추가, 트렌드가 충분히 강할 때만 거래

  4. 단일 트레이드에서 손실을 제어하기 위해 스톱 손실 전략을 최적화하십시오.

결론

이 전략은 중장기 포지션 트레이더에게 적합한 전반적으로 제어 가능한 위험을 가지고 있습니다. 주요 트렌드 방향과 함께 거래하며 보수적인 RSI 설정과 엄격한 이동 평균 필터를 사용하여 잘못된 브레이크오프를 피하고 승률을 향상시킵니다. 더 많은 기회를 얻기 위해 매개 변수 조정으로 잠재적 인 개선이 가능합니다. 장기적인 거래 정신을 유지하는 데 위험 통제는 필수적입니다.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="_CM_RSI_2_Strat_Low", shorttitle="_CM_RSI_2_Strategy_Lower", overlay=false)
src = close, 

//RSI CODE
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma50= vwma(close,30)
ma200= vwma(close,200)

//Rule for RSI Color
col = ma50 > ma200 and rsi <=53?lime: ma50 < ma200  and rsi >= 60?red : silver
long = ma50 > ma200 and rsi <= 53
short = ma50 < ma200  and rsi >= 60
//plot(rsi, title="RSI", style=line, linewidth=1,color=col)
//plot(100, title="Upper Line 100",style=line, linewidth=3, color=aqua)
//plot(0, title="Lower Line 0",style=line, linewidth=3, color=aqua)

//band1 = plot(60, title="Upper Line 60",style=line, linewidth=1, color=aqua)
//band0 = plot(44, title="Lower Line 40",style=line, linewidth=1, color=aqua)
//fill(band1, band0, color=silver, transp=90)
strategy.entry ("buy", strategy.long, when=long)
strategy.entry ("sell", strategy.short, when=short)
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)

더 많은