
모멘텀 볼링거 밴드 브레이크아웃 전략 (Momentum Bollinger Bands Breakout Strategy) 은 볼링거 밴드 지표와 이동 평균 지표를 결합한 양적 거래 전략으로, 특정 운동량 조건에서 브레이크아웃 작업을 수행한다. 이 전략은 주로 볼링거 밴드의 높고 낮은 궤도를 사용하여 가격을 정의하고, 이동 평균선과 결합하여 추가적인 가격 필터링을 수행하고, 특정 운동량 조건에서 구매 신호를 발신하여 볼링거 밴드 상궤도 및 하궤도 브레이크아웃 작업을 수행한다.
이 전략은 주로 브린 밴드 지표와 이동 평균 MA 지표에 기반합니다. 브린 밴드 및 이동 평균은 트렌드 추적 유형 지표입니다. 브린 밴드는 표준 차이의 개념을 사용하여 가격의 높고 낮은 변동 범위를 묘사합니다. 이동 평균은 가격 데이터를 평평화하여 가격 트렌드 방향을 판단합니다.
전략의 핵심 논리:
초기화 부린 띠 변수, 계산 중철, 상철, 하철.
초기화 이동 평균 변수
구매 신호: 가격이 아래에서 위로 브린의 하향 궤도를 돌파하고 이동 평균이 하향 궤도 아래에있을 때 더 많이하십시오.
팔기 신호: 가격이 위아래에서 브린을 돌파하고 이동 평균이 상단에 있을 때, 공백을 다.
탈퇴 신호: 가격이 브린 영역으로 다시 들어갔을 때, 평소한다.
이 전략은 브린 밴드 지표와 이동 평균 지표를 통합하여 특정 운동 조건에서 거래 신호를 생성합니다.
브린 띠를 사용하여 가격 변동 범위를 명확하게 판단하고, 이동 평균을 사용하여 가격 경향 방향을 판단하고, 이중 지표 필터링과 결합하여 형성 된 거래 신호는 높은 신뢰성을 갖는다.
가격의 부린 반지 경계를 돌파하는 동시에, 이동 평균도 돌파하도록 요구하고, 가짜 돌파를 피하기 위해 충분한 동력을 지원하도록 보장한다.
전략 변수 설정은 합리적인 유연성을 가지고 있으며, 브린 밴드 변수와 이동 평균 주기를 다른 품종과 시장 환경에 맞게 조정할 수 있다.
전략적 아이디어는 명확하고 이해하기 쉽고, 실행 및 검증하기 쉽습니다.
브린 밴드 변동 지표는 시장 변동에 잠재적인 지연성을 가지고 있으며 급격하게 변화하는 추세에서 유효하지 않은 거래 신호를 생성 할 수 있습니다.
이동 평균이 필터링 지표로 사용되면, 그것의 매개 변수 설정은 전략 주파수에 직접적으로 영향을 미칩니다. 잘못된 매개 변수 설정은 놓친 거래 기회를 초래할 수 있습니다.
브린 밴드 지표와 이동 평균 지표에 동시에 의존하는 것이 효과적인 신호를 형성하는 데 필요합니다. 그 중 하나가 실패하면 전체 전략이 영향을 받게됩니다.
브레이크 클래스 전략은 보다 급진적이어서, 가격이 부린 벨트 경계에서 재조정을 시도할 때 쉽게 잡힐 수 있다.
브린 밴드 매개 변수를 최적화하여 다른 주기 및 변동도의 품종에 적응합니다. 예를 들어, 브린 밴드 주기, 표준 차의 배수 매개 변수를 수정합니다.
이동 평균 주기의 파라미터를 최적화하고, 균형 주파수와 필터 효과를 니다.
한 거래의 최대 손실을 통제하기 위해 손실을 막는 전략을 추가하십시오.
RSI, MACD와 같은 다른 지표와 결합하여 포트폴리오 지표가 형성되어 전략 거래 신호가 풍부합니다.
기계 학습 모델과 결합하여 가격 트렌드 방향과 방어 성공률을 결정하는 데 도움을 줍니다.
이 전략은 브린 밴드 지표와 이동 평균 지표를 통합하여 특정 가격 돌파동량을 보장하는 전제 하에 시장 진출 및 출구 신호를 생성한다. 전략 아이디어는 명확하고, 실행하기 쉽고, 동향적인 행동을 효과적으로 추적할 수 있다. 그러나 동시에 약간의 철회 위험도 존재하며, 변수 설정 및 스톱 손실에 대한 최적화가 필요하며, 시장의 변화에 적응한다.
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
strategy("Advanced Bollinger Bands Strategy", overlay=true)
//BB Values
wall1= input(defval=true,title="===BB Values===",type=input.bool)
source = input(defval=close,title="BB Source",type=input.source)
length = input(20,title="BB Length", minval=1)
mult = input(2.0,title="BB Multiplier",minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
offset = input(0, " BB Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
//Moving Average Values
wall2= input(defval=true,title="===MA Values===",type=input.bool)
nfl= input(defval=14,title="Moving Average Period",type=input.integer,minval=1,maxval=100)
source1= input(defval=close,title="Moving Average Source",type=input.source)
noisefilter= sma(source1,nfl)
plot(noisefilter,style=plot.style_line,linewidth=2,color=color.yellow,title=" Moving Average Filter")
bgcolor(noisefilter<lower?color.green:noisefilter>upper?color.red:na,title="Moving Average Filter")
//Strategy Conditions
wall3= input(defval=true,title="===Strategy Conditions===",type=input.bool)
bl= input(defval=false,title="Exit at Basis Line?",type=input.bool)
nflb= input(defval=false,title="Use Moving Average Filter?",type=input.bool)
//Strategy Condition
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)
if (nflb?(crossover(source,lower) and noisefilter<lower): crossover(source, lower))
strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE")
else
strategy.cancel(id="BBandLE")
if (nflb?(crossunder(source,lower) and noisefilter>upper): crossunder(source, lower))
strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands", comment="BBandSE")
else
strategy.cancel(id="BBandSE")
strategy.close_all(when=bl?crossover(source,basis) or crossunder(source,basis):crossover(source,upper) or crossunder(source,lower))