RSI와 볼린저 밴드를 기반으로 한 이익 실현 전략


생성 날짜: 2024-01-08 11:14:31 마지막으로 수정됨: 2024-01-08 11:14:31
복사: 0 클릭수: 840
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI와 볼린저 밴드를 기반으로 한 이익 실현 전략

개요

이 전략은 주로 RSI 지표와 부린 대역 지표 설계 거래 규칙을 기반으로 트렌드 시장에서 수익을 창출합니다. RSI가 초과 라인보다 낮아지고 가격이 부린 대역 하향으로 다가갈 때 더 많이하고 RSI가 초과 라인보다 높고 가격이 부린 대역 하향으로 다가갈 때 공백을 씁니다. 이것은 전략의 기본 거래 논리입니다.

전략 원칙

이 전략은 RSI 지표를 사용하여 과매도 과매도 영역을 판단한다. RSI가 설정된 과매도 라인보다 낮으면 과매도 신호이며, 과매도 라인보다 높으면 과매도 신호이다. 또한 부린 대역 지표를 사용하여 가격 돌파를 판단한다. 가격이 아래에서 위로 부린 대역을 돌파할 때 더 많은 신호를 하고, 위에서 아래로 돌파할 때 공백 신호이다.

이 전략은 RSI 지표를 사용하여 시장의 의지를 판단하고 부린 띠의 가격 돌파를 판단하는 두 가지 요소를 사용하여 거래 의사 결정 기반을 형성합니다. 두 가지 조건이 동시에 충족되면 거래 신호를 발송할 수 있으며, 일부 가짜 신호를 효과적으로 필터링하여 전략의 효과를 높일 수 있습니다.

우위 분석

이 전략은 RSI와 부린밴드 두 지표를 결합하여 시장의 움직임을 더 정확하게 판단하고 트렌드를 잡을 수 있습니다. 단일 지표 전략에 비해 더 많은 가짜 신호를 필터링 할 수 있으며 신호 품질이 더 높습니다. RSI 지표는 과매매 과매매 현상을 판단하고, 부린밴드 지표는 가격 돌파구를 판단하여 돌파구가 시작된 트렌드를 잡을 수 있습니다.

이 전략은 RSI와 부린반도 지표가 동시에 신호를 발산할 때만 포지션을 열 수 있으며, 가짜 신호의 간섭을 효과적으로 피할 수 있다. 또한 스톱로즈와 결합하여 위험을 제어할 수 있으며, 시장이 변하더라도 적시에 스톱로즈를 할 수 있다.

위험 분석

이 전략은 특정 가짜 신호를 필터링 할 수 있지만, 충격적 인 상황에서 RSI와 브린 밴드 지표는 동시에 잘못된 신호를 발산하여 불필요한 손실을 초래할 수 있습니다. 또한, 매개 변수가 적절하게 설정되지 않으면 전략의 효과가 떨어질 수 있습니다.

최적화 파라미터를 재검토하여 최적의 파라미터 조합을 찾는 것이 좋습니다. 동시에 전략 규칙을 적절히 조정하고, 불안한 상황에서 거래를 중단하여 불필요한 손실을 피하십시오. 또한 단편 손실을 제어하기 위해 스톱 손실을 합리적으로 사용하십시오.

최적화 방향

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

  1. 최적의 RSI 변수와 브린 밴드 변수를 최적화하여 최적의 변수 조합을 찾습니다.

  2. MACD, KD 등과 같은 필터링 신호로 다른 지표를 추가합니다.

  3. 가짜 침입을 방지하기 위한 침입 검증 메커니즘을 강화

  4. 다른 상황 유형에 따라 매개 변수를 조정하거나 거래를 중지

  5. 역동적인 상쇄를 위한 최적화된 상쇄 전략

요약하다

이 전략은 RSI 지표와 부린 띠 지표 설계 거래 규칙을 결합하여 둘 다 동시 신호를 발산할 때만 포지션을 열 수 있으며, 가짜 신호를 효과적으로 필터링 할 수 있습니다. 변수 최적화, 신호 필터링을 추가하고, 손실 전략을 최적화하는 등의 방법을 통해 이 전략을 지속적으로 최적화하고 개선하여 더 안정적인 수익을 얻을 수 있습니다.

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

//@version=5
strategy("Get Funded Easily by mjanusic", shorttitle="FTMO Crusher by mjanusic", overlay=true)

///////////// RSI
RSIlength = input(16, title="RSI Period Length")
RSIvalue = input(45, title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = ta.rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(20, title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyCondition = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
sellCondition = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)

///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
    if (buyCondition)
        strategy.entry("Long Entry", strategy.long, stop=BBlower, comment="Long Entry")
    else
        strategy.cancel(id="Long Entry")

    if (sellCondition)
        strategy.entry("Short Entry", strategy.short, stop=BBupper, comment="Short Entry")
    else
        strategy.cancel(id="Short Entry")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_area)