듀얼 이동평균과 볼린저 밴드를 결합한 트렌드 추종 전략


생성 날짜: 2024-02-22 17:01:05 마지막으로 수정됨: 2024-02-22 17:01:05
복사: 3 클릭수: 582
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

듀얼 이동평균과 볼린저 밴드를 결합한 트렌드 추종 전략

개요

이 전략은 두 개의 이동 평균, 상대적으로 약한 지표 ((RSI) 와 브린 밴드와 같은 여러 기술 지표를 결합하여 잠재적인 트렌드 반전 지점과 오버 바이 오버 소드를 식별하고 거래하기 위해 구매 및 판매 신호를 구성합니다.

전략 원칙

이 전략의 주요 구매 신호는 RSI와 부린 대역에서 나온다. RSI가 30의 초상 판매 라인을 넘어서면 초상 판매로 간주되며, 가격이 부린 대역 아래로 접근하거나 접촉하면 구매 신호가 발생한다. 이것은 주가가 상승을 반전 할 수 있음을 나타냅니다.

이 전략의 주요 판매 신호는 또한 RSI와 부린 밴드에서 온다. RSI가 70을 초과하면 초과로 간주되며, 가격이 부린 밴드를 근접하거나 초과하면 판매 신호가 발생한다. 이것은 주가가 하락을 반전할 수 있음을 나타냅니다.

또한, 전략은 20일 및 50일 간단한 이동 평균을 계산한다. 그들은 트렌드 방향을 판단하는 데 사용할 수 있다. 빠른 이동 평균이 느린 이동 평균 위에 있을 때, 상승 추세에 있음을 나타냅니다. 반대로, 감소 추세를 나타냅니다.

우위 분석

이 전략은 여러 가지 지표와 결합하여 구매 및 판매 지점을 식별하여 가격 트렌드 반전을 효과적으로 포착하고 가격 변화를 추적 할 수 있습니다. 주요 장점은 다음과 같습니다.

  1. 브린띠를 사용하여 과매매 지역을 식별한다. 브린띠는 표준차이를 통해 가격 변동 범위를 정의하고, 가격 이상 상황을 잘 식별한다.

  2. RSI 지표는 오버 바이 오버 셀 상태를 효과적으로 식별할 수 있다. RSI 70 이상은 오버 바이 지역으로 간주되며, 30 이하는 오버 셀 지역으로 간주되며, 가격이 반전되기 전에 신호를 줄 수 있다.

  3. 이중 이동 평균은 전체적인 트렌드 방향을 판단하고, 트렌드가 없는 시장에서 거래하는 것을 피한다.

  4. 여러 지표를 조합하여 가짜 신호를 필터링하여 높은 확률의 매매 지점을 식별할 수 있습니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. 부린 밴드 파라미터가 잘못 설정되어 있어서 상하 궤도는 가격 변동 범위를 효과적으로 정의할 수 없습니다. 이것은 많은 양의 가짜 신호를 생성할 수 있습니다.

  2. RSI의 매개 변수는 달라지고, 오버 바이 오버 소이드 판단 기준은 변하고, 신호의 효과도 변한다.

  3. 이중 이동 평균의 변수는 다르며, 전체적인 추세에 대한 판단도 편차가 있을 수 있다.

  4. 전략적 신호는 늦어질 수 있으며, 가격 반전의 초기 지시를 할 수 없습니다. 이것은 약간의 슬라이드 지점을 잃을 수 있습니다.

  5. 시장이 급격하게 변동할 때, 여러 지표가 작동하지 않을 수 있으며, 구매 및 판매 지점을 효과적으로 식별할 수 없습니다.

위와 같은 위험들에 대해, 변수를 조정하거나, 더 많은 지표를 조합하는 등의 방법으로 최적화하여 전략을 더 안정적으로 만들 수 있다.

최적화 방향

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

  1. 적응형 브린 띠를 사용하여 시장의 변동 정도에 따라 동적으로 조정하는 파라미터를 사용하여 궤도 오르락 내리락이 더 정확하다.

  2. VOLUME 등의 지표 필터를 추가하여 거래량이 커지면만 신호를 생성하여 가짜 돌파구를 피할 수 있다.

  3. 가격이 불리한 방향으로 움직일 때 가격 중지 라인을 설정합니다.

  4. 거래 종류, 거래 시간 등에 대한 테스트 최적화, 전략 매개 변수가 다른 상황에 맞게 조정된다.

  5. 기계 학습 알고리즘을 추가하고, 역사 데이터 훈련을 활용하여, 자동으로 최적화된 파라미터 설정을 합니다.

요약하다

이 전략은 브린 밴드, RSI, 쌍용 이동 평균 등 여러 지표를 통합하여 완전한 거래 규칙을 구축하여 가격 추세를 효과적으로 식별하고, 과잉 매매 지역을 판단하고, 주가 역전되기 전에 거래 신호를 줄 수 있습니다. 매개 변수 최적화, 필터 조건을 추가하고, 손실을 중지하는 방법을 설정함으로써 전략의 안정성을 더욱 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSA", overlay=true)

// Bollinger Bands
bb_length = input(20, title="BB Length")
bb_mult = input(2.0, title="BB MultFactor")
bb_basis = sma(close, bb_length)
bb_upper = bb_basis + bb_mult * stdev(close, bb_length)
bb_lower = bb_basis - bb_mult * stdev(close, bb_length)

// RSI
rsi_length = input(14, title="RSI Length")
rsi_oversold = input(30, title="RSI Oversold")
rsi_overbought = input(70, title="RSI Overbought")
rsi_value = rsi(close, rsi_length)

// Buy and Sell Conditions
buy_condition = crossover(rsi_value, rsi_oversold) and (close < bb_lower)
sell_condition = crossunder(rsi_value, rsi_overbought) and (close > bb_upper)

// Add Buy and Sell Signals
if (buy_condition)
    strategy.order("Buy", strategy.long)
if (sell_condition)
    strategy.order("Sell", strategy.short)

// Plot Bollinger Bands
plot(bb_upper, color=color.blue, title="Upper Bollinger Band")
plot(bb_lower, color=color.blue, title="Lower Bollinger Band")

// Plot RSI
plot(rsi_value, color=color.orange, title="RSI")

// Plot Moving Averages
fast_ma = sma(close, 20)
slow_ma = sma(close, 50)
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Plot Trend Lines
trend_line = linreg(close, 50, 0)
plot(trend_line, color=color.purple, title="Trend Line")