Connor의 이중 이동 평균 RSI 반전 거래 전략


생성 날짜: 2023-11-21 14:20:43 마지막으로 수정됨: 2023-11-21 14:20:43
복사: 0 클릭수: 686
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

Connor의 이중 이동 평균 RSI 반전 거래 전략

개요

코너의 양평선 RSI 역전 거래 전략은 상대적으로 약한 지수 ((RSI) 와 양평선을 결합하여 높은 확률의 역전 거래 기회를 찾습니다. 이 전략은 단기 및 장기 동향이 역전될 때 상황이 변할 것이라고 판단하여 위치를 설정합니다.

전략 원칙

이 전략은 동시에 RSI와 쌍평평선을 사용하여 시장의 흐름을 판단한다. 첫째, 2주기 RSI를 계산하여 단기 경향의 반전을 판단한다. 둘째, 200주기 이동 평균을 계산하여 장기 경향의 방향을 판단한다. 단기 RSI가 오버 바이/오버 셀 지역에서 반발하고 장기 경향과 반발하면, 거래가 반전이 임박하다는 것을 알려주고 거래 위치를 설정한다.

입시 신호: RSI가 오버셀 영역 (기본 5) 보다 작고, 단기 가격이 장기 가격보다 높을 때 더 많이; RSI가 오버빌 영역 (기본 95) 보다 크고, 단기 가격이 장기 가격보다 낮을 때 더 많이.

출구 신호: 5주기 단기 평균선이 입구와 반대 방향으로 신호를 발산할 때 출구; 또는 중지 손실 (설정 손실 3%) .

전략적 강점 분석

이 전략은 시장 구조를 판단하는 여러 지표와 결합하여 거래의 정확도를 향상시킬 수 있습니다. 구체적인 장점은 다음과 같습니다:

  1. RSI를 사용하여 단기 반전점을 판단하고, 반전 신호의 신뢰성을 이동 평균 필터링합니다.
  2. 이중 균일선으로 강한 필터링을 형성하여 화를 방지합니다.
  3. 단기평균선은 역전 신호를 다시 확인하여 높은 출전 확률을 보장합니다.
  4. 리스크가 통제되고, 손해 방지 장치가 있습니다.

전략적 위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 시장이 급격하게 변동할 때 RSI 지표는 잘못된 신호를 보내는 확률이 높습니다.
  2. 다중 지표 조합 판단, 매개 변수 최적화 비교적 복잡
  3. 역전화는 성공할 수 없지만, 적당히 막아야 합니다.

전략 최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. RSI 변수를 최적화하여 최적의 반전 변수 조합을 찾습니다.
  2. 다른 종류의 이동 평균 변수를 테스트합니다.
  3. 손해배상 전략을 최적화하고, 최적의 손해배상 지점을 찾습니다.
  4. 트렌드를 판단하는 지표를 늘리고 실패를 방지하는 방법

요약하다

코너 양평선 RSI 역전 거래 전략은 RSI 역전 신호와 양평선 필터링을 통해 높은 확률의 위치에서 시장의 역전을 포착한다. 이 전략은 여러 지표 판단을 사용하여 거래 전략의 안정성을 효과적으로 향상시킬 수 있다. 다음 단계에서는 매개 변수 최적화 및 위험 제어의 개선으로 전략 우위를 더욱 확장하여 더 높은 거래 효율성을 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Connors RSI-MA Strategy", overlay=true)

// Strategy parameters
rsiLength = input(2, title="RSI Length")
maLength = input(200, title="MA Length")
exitMaLength = input(5, title="Exit MA Length")
overboughtThreshold = input(95, title="Overbought Threshold")
oversoldThreshold = input(5, title="Oversold Threshold")
stopLossPercentage = input(3, title="Stop Loss Percentage")

// 2-period RSI
rsi2 = ta.rsi(close, rsiLength)

// 200-period MA
ma200 = ta.sma(close, maLength)

// 5-period MA for exit signals
ma5_exit = ta.sma(close, exitMaLength)

// Positive trend condition
positiveTrend = close > ma200

// Negative trend condition
negativeTrend = close < ma200

// Buy and sell conditions
buyCondition = rsi2 < oversoldThreshold and positiveTrend
sellCondition = rsi2 > overboughtThreshold and negativeTrend

// Exit conditions
exitLongCondition = close > ma5_exit
exitShortCondition = close < ma5_exit

// Stop Loss
stopLossLevelLong = strategy.position_avg_price * (1 - stopLossPercentage / 100)
stopLossLevelShort = strategy.position_avg_price * (1 + stopLossPercentage / 100)

// Strategy logic
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)

if (exitLongCondition or close >= stopLossLevelLong)
    strategy.close("Buy")

if (exitShortCondition or close <= stopLossLevelShort)
    strategy.close("Sell")

// Plotting
plot(ma200, title="200 MA", color=color.blue)
plot(ma5_exit, title="Exit MA", color=color.red)

// Plot stop loss levels
plotshape(series=stopLossLevelLong, title="Long Stop Loss", color=color.green, style=shape.triangledown, size=size.small)
plotshape(series=stopLossLevelShort, title="Short Stop Loss", color=color.red, style=shape.triangleup, size=size.small)