볼린저 밴드와 스토크 RSI 거래 전략


생성 날짜: 2023-09-21 21:02:02 마지막으로 수정됨: 2023-09-21 21:02:02
복사: 2 클릭수: 1201
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 부린띠 지표와 스토흐 RSI 지표를 결합하여 다중 지표 포트폴리오 거래를 구현한다. 전형적인 포트폴리오 지표 전략 유형에 속한다. 전략은 부린띠를 통해 트렌드 방향을 판단하고, 스토흐 RSI는 입시 시기를 최적화하여 거래 신호를 생성한다.

전략 원칙

이 전략은 다음과 같은 두 가지 지표에 기초하여 판단됩니다.

  1. 브린 벨트

부린의 상반, 중반, 하반을 계산한다. 가격이 하반에서 위로 돌파할 때 구매 신호가 발생한다.

  1. Stoch RSI

스토흐 RSI를 계산하여, K 라인에서 D 라인을 통과하면 구매 신호를 생성한다.

구체적인 거래 논리는 다음과 같습니다: 동시에 브린 반지대 상철 돌파를 충족하고 Stoch RSI 지표 골드 포크를 충족하면, 구매 및 입장을 개설한다.

평정상 조건은 정지 또는 상쇄: 가격이 다시 부린带로 올라가는 궤도 또는 중간 궤도를 만질 때 평정상 입장을 중지; 가격이 다시 부린带로 내려가는 궤도를 넘어갈 때 상쇄 평정상 입장을 중지한다.

전략적 이점

  • 브린 밴드와 스토치 RSI를 결합한 두 지표
  • 브린은 큰 트렌드를 판단하고, 스토흐 RSI는 진입 지점을 최적화합니다.
  • Stoch RSI는 블린의 가짜 브레이크를 효과적으로 필터링합니다.
  • 중철 및 하철 정지 스탠드 손실, 위험 제어 위치
  • 다양한 매개 변수를 조정할 수 있으며 시장에 맞게 최적화 할 수 있습니다.

전략적 위험

  • 평균자책점 지연, 최우수 엔트리를 놓칠 수 있다
  • 지표만 기준으로, 급격한 사건에 대한 반응 속도가 느립니다.
  • 부린 벨트 범위 설정이 잘못되어, 제약장치가 작동하지 않습니다.
  • Stoch RSI 파라미터가 잘못 설정되어 너무 많은 가짜 신호를 생성합니다.
  • 다양한 품종에 대한 개별 테스트 매개 변수

위험은 다음과 같은 방법으로 줄일 수 있습니다.

  • 최적화 매개 변수, 입학 정확도 향상
  • 확인을 위해 다른 파동 지표를 추가하는 것을 고려하십시오.
  • 부린 밴드 중지 대신 추적 중지 설정
  • 다양한 품종 특성에 따라 각각 테스트 파라미트
  • 포지션 관리 시스템을 적절하게 조정합니다.

최적화 방향

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

  1. 브린 밴드 변수를 최적화

오프라인 계산 비율을 조정하여 최적의 파라미터를 찾습니다.

  1. 스토치 RSI 변수를 최적화

K값과 D값을 가장 잘 맞추는 방법을 찾아보세요.

  1. MACD와 같은 지표에 추가하여 2차 확인

단 하나의 지표에 의존하는 것은 잘못된 신호를 유발하지 않습니다.

  1. 정지 손실 대신 정지 추적 손실을 사용 하 여

가격 변동에 따른 트레일링 스톱

  1. 다양한 품종에 따라 각각 테스트 파라미터의 조합

다양한 품종의 파라미터는 반드시 동일하지 않으며 개별적으로 최적화해야 합니다.

요약하다

이 전략은 브린 띠를 통해 트렌드 방향을 판단하고, 스토치 RSI를 입시 시점을 최적화하여 다중 지표 포지션으로 인한 거래 이점을 실현한다. 그러나 또한 파라미터를 최적화하는 데 어려움이 많고, 신호 정확도가 향상되어야 하는 문제도 있다. 우리는 엄격한 리테크를 통해 파라미터를 최적화하고, 확인 지표에 필터를 추가하고, 리테크 결과에 따라 전략 규칙을 계속 수정하여 신호 정확성을 향상시키는 동시에 포지션 지표 포지션 판단의 우위를 유지한다.

전략 소스 코드
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")