이 전략은 볼링거 밴드 (Bollinger Bands) 와 스톡 RSI (Stock RSI) 인디케이터를 결합하여 여러 지표 거래를 수행한다. 이 전략은 전형적인 결합 지표 전략 유형에 속한다. 볼링거 밴드는 트렌드 방향을 결정하고 스톡 RSI는 거래 신호에 대한 입시 시기를 최적화한다.
이 전략은 두 가지 주요 지표에 기반합니다.
볼링거 밴드
상위, 중위 및 하위 대역을 계산합니다. 가격이 하위 대역을 넘을 때 구매 신호가 생성됩니다.
스톡 RSI
스톡 RSI 인디케이터를 계산합니다. K 라인이 D 라인의 위를 넘을 때 구매 신호가 생성됩니다.
구체적인 거래 논리는: 볼링거 반드의 하부 브레이크오웃과 스톡 RSI의 황금 크로스 모두 함께 발생했을 때 긴 오픈입니다.
출구 논리는 이윤을 취하고 손실을 멈추는 밴드를 사용합니다. 가격이 상위 또는 중간 밴드에 다시 닿을 때 이익을 위해 닫습니다. 가격이 하위 밴드 아래로 넘어갈 때 손실을 위해 닫습니다.
위험은 다음과 같이 감소 할 수 있습니다.
이 전략은 다음과 같이 개선될 수 있습니다.
볼링거 밴드 매개 변수 최적화
가장 잘 맞도록 상부/하부 계산 비율을 조정합니다.
스톡 RSI 매개 변수 최적화
최적의 K와 D값을 찾는 것
MACD와 같은 확인 지표를 추가합니다.
단 하나의 지표에 의존하는 잘못된 신호를 피하십시오.
고정된 스톱 대신 후속 수익 스톱을 사용하는 것
가격 변동에 기초한 트레일 스톱
각기 다른 제품별로 테스트 매개 변수
최적의 매개 변수는 다른 제품마다 다릅니다.
이 전략은 트렌드 방향과 스톡 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")