리소스 로딩... 로딩...

전략에 따라 RSI 동력과 부피 추세와 함께 두 기간 이동 평균

저자:차오장, 날짜: 2025-01-06 13:45:16
태그:RSIMASMAVOL

img

전반적인 설명

이 전략은 트렌드 추종 전략으로, 이중 기간 이동 평균 (21일 및 55일), RSI 모멘텀 지표 및 볼륨 분석을 결합한다. 이 전략은 트렌드 방향을 확인하고 트렌드 유효성을 확인하기 위해 RSI 및 볼륨 지표를 통해 거래 신호를 필터링하는 동시에 가격 방향, 모멘텀 및 볼륨 3 차원에서 시장 정보를 분석한다. 이 전략은 단기 이동 평균의 가격 돌파, RSI가 평균을 넘어서고 트렌드 유효성을 확인하기 위해 볼륨을 증가시키는 것을 요구한다.

전략 원칙

이 전략은 세 가지 필터링 메커니즘을 사용합니다.

  1. 가격 필터: 가격 트렌드를 확인하기 위해 21일 및 55일 이동 평균을 사용하며, 21일 MA 이상의 가격은 잠재적 인 긴 기회를 나타냅니다.
  2. 모멘텀 필터: RSI가 평균보다 높을 때 모멘텀 방향을 확인하는 13개 기간 RSI와 그 평균을 계산합니다.
  3. 볼륨 필터: 21 기간의 볼륨 이동 평균을 계산하여 진입 볼륨이 평균을 초과해야하며 시장 참여를 확인합니다.

구매 조건은 다음의 모든 것을 요구합니다.

  • 21일 MA 이상의 폐쇄 가격
  • 평균 이상의 RSI
  • 부피보다 더 많은 MA

판매 조건은 다음의 어느 하나를 요구합니다.

  • 가격은 55일 MA 이하로 떨어집니다.
  • RSI는 평균 이하로 떨어집니다.

전략적 장점

  1. 다차원 분석: 가격, 추진력 및 부피의 포괄적 분석을 통해 신호 신뢰성을 향상시킵니다.
  2. 트렌드 확인: 두 기간 이동 평균은 트렌드 방향과 강도를 더 잘 확인합니다.
  3. 동적 적응: RSI 지표는 시장 변동성에 동적으로 적응하여 동력 변화를 파악하는 데 도움이됩니다.
  4. 부피-가격 조정: 시장 활동이 높은 기간 동안 거래가 발생하도록 필터 조건으로 부피를 사용합니다.
  5. 리스크 제어: 명확한 스톱 로스 조건을 설정하여 리스크를 제어하는 데 도움이됩니다.

전략 위험

  1. 지연 위험: 이동 평균은 본질적으로 지연 지표이며, 진입 및 출출이 지연될 수 있습니다.
  2. 범위에 따른 시장 위험: 부상 시장에서 빈번한 잘못된 파업 신호를 생성할 수 있습니다.
  3. 매개 변수 민감성: 전략의 효과는 매개 변수 설정에 민감하며, 다른 시장 환경에서 조정이 필요합니다.
  4. 비용 위험: 빈번한 거래로 인해 높은 거래 비용이 발생할 수 있습니다.
  5. 유동성 위험: 유동성이 낮은 시장에서 이상적인 가격으로 거래를 수행하는 것이 어려울 수 있습니다.

전략 최적화 방향

  1. 매개 변수 조정: 시장 변동성에 기초한 이동 평균 기간을 동적으로 조정하기 위한 적응 메커니즘을 도입
  2. 신호 확인: 트렌드 강도 지표 (ADX 같은) 를 추가로 필터링 거래 신호
  3. 이윤 취득 최적화: 강력한 트렌드에서 더 많은 이득을 얻기 위해 동적인 이윤 취득 메커니즘을 설계
  4. 포지션 관리: 신호 강도와 시장 변동성에 따라 포지션 크기를 동적으로 조정합니다.
  5. 시간 필터링: 불리한 거래 기간을 피하기 위해 거래 시간 창을 추가

요약

이 전략은 기술 분석의 세 가지 필수 요소 (가격, 부피, 추진력) 를 포괄적으로 활용하는 트렌드 추적 전략이다. 여러 필터링 메커니즘을 통해 전략은 위험 통제 기능을 유지하면서 신호 신뢰성을 보장합니다. 일부 고유 한 한계점이 있지만 지속적인 최적화 및 개선으로 전략은 실제 거래에서 안정적인 수익을 얻을 수 있습니다. 전략은 명확한 추세와 충분한 유동성이있는 시장에서 특히 잘 수행 할 수 있습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("21/55 MA with RSI Crossover", overlay=true)

// Inputs for moving averages
ma21_length = input.int(21, title="21-day Moving Average Length", minval=1)
ma55_length = input.int(55, title="55-day Moving Average Length", minval=1)

// RSI settings
rsi_length = input.int(13, title="RSI Length", minval=1)
rsi_avg_length = input.int(13, title="RSI Average Length", minval=1)

// Moving averages
ma21 = ta.sma(close, ma21_length)
ma55 = ta.sma(close, ma55_length)

// Volume settings
vol_ma_length = input.int(21, title="Volume MA Length", minval=1)

// Volume moving average
vol_ma = ta.sma(volume, vol_ma_length)

// RSI calculation
rsi = ta.rsi(close, rsi_length)
rsi_avg = ta.sma(rsi, rsi_avg_length)

// Buy condition
// buy_condition = close > ma21 and ta.crossover(rsi, rsi_avg) and volume > vol_ma
buy_condition = close > ma21 and rsi > rsi_avg and volume > vol_ma

// Sell condition
// sell_condition = close < ma55 or ta.crossunder(rsi, rsi_avg)
sell_condition = ta.crossunder(close, ma55) or ta.crossunder(rsi, rsi_avg)

// Execute trades
if (buy_condition)
    strategy.entry("Buy", strategy.long, comment="Buy Signal")

if (sell_condition)
    strategy.close("Buy", comment="Sell Signal")

// Plot moving averages for reference
plot(ma21, color=color.blue, title="21-day MA")
plot(ma55, color=color.red, title="55-day MA")

// Plot RSI and RSI average for reference
rsi_plot = input.bool(true, title="Show RSI?", inline="rsi")
plot(rsi_plot ? rsi : na, color=color.green, title="RSI")
plot(rsi_plot ? rsi_avg : na, color=color.orange, title="RSI Average")

관련

더 많은