이 전략은 볼링거 밴드 (Bollinger Bands) 를 기반으로 한 브레이크아웃 전략이다. 가격이 하위 밴드 아래로 넘어갈 때 길게 갈 것이고, 가격이 상위 밴드 위에 넘어갈 때 짧게 갈 것이다. 이 전략은 가격 브레이크아웃을 포착함으로써 거래 신호를 생성하기 위해 가격 변동 범위를 명확하게 설명하는 볼링거 밴드 (Bollinger Bands) 능력을 활용한다.
이 전략은 먼저 20일 간 간단한 이동 평균을 중간 기준 라인으로 계산하고, 그 다음 볼링거 밴드의 상부 및 하부 레일로 기준 라인 위와 아래의 두 표준 편차의 거리를 계산합니다. 종료 가격이 하부 레일보다 낮을 때, 그것은 구매 신호를 생성하는 과판된 것으로 간주됩니다. 종료 가격이 상부 레일보다 높을 때, 그것은 판매 신호를 생성하는 과판된 것으로 간주됩니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
가격 변동 범위를 설명하는 볼링거 대역의 기능을 활용, 상당한 변동 동안 거래 신호를 생성하는 경향이 있습니다.
하부 철도 파업에 장기간 투자하면 리바운드 기회를 잡을 수 있습니다.
상부 레일 브레이크에 단축하면 적시에 침체 기회를 잡을 수 있습니다.
전략 아이디어는 간단하고 명확하고 이해하기 쉽고 실행하기 쉽습니다.
다양한 시장에서 적용할 수 있습니다.
이 전략은 또한 몇 가지 위험을 안고 있습니다.
시장이 평온할 때 잘못된 신호를 생성하는 경향이 있습니다.
파업 후 가격 움직임이 어떤 방향으로 계속 진행될지 결정할 수 없습니다.
파기 신호로 인한 역전 동력을 파악할 수 없습니다.
부적절한 볼링거 밴드 매개 변수 설정도 전략의 성과에 영향을 줄 수 있습니다.
위치 크기를 적절히 제어해야 합니다.
이러한 위험은 매개 변수를 최적화하고, 포지션을 엄격하게 제어하고, 스톱 손실을 설정함으로써 통제될 수 있습니다.
이 전략은 다음 측면에서도 최적화 될 수 있습니다.
최적의 매개 변수 조합을 찾기 위해 볼링거 밴드 매개 변수를 최적화합니다.
잘못된 신호를 피하기 위해 필터링을 위해 다른 지표, 예를 들어 운동량 지표, 이동 평균 등을 사용하십시오.
동적 또는 후속 스톱 손실을 설정합니다.
시장 조건에 따라 긴 조건과 짧은 조건을 조정합니다.
전략의 효과를 평가하기 위해 백테스팅과 종이를 거래합니다.
전체적으로, 이것은 비교적 고전적이고 일반적으로 사용되는 브레이크아웃 전략입니다. 가격 변동 범위를 설명하고 거래 기회를 찾기 위해 브레이크아웃 신호를 캡처하기 위해 볼링거 밴드 지표를 사용합니다. 전략 아이디어는 간단하고 쉽게 구현되며, 실무에서 널리 사용됩니다. 지속적인 테스트와 최적화를 통해 효과는 향상되고 위험이 감소 할 수 있습니다. 따라서 전략은 심도있는 연구와 응용에 가치가 있습니다.
/*backtest start: 2023-12-18 00:00:00 end: 2024-01-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy", shorttitle="BB Strategy", overlay=true) // Input parameters length = input(20, title="Bollinger Bands Length") mult = input(2, title="Multiplier") // Calculate Bollinger Bands basis = ta.sma(close, length) bb_upper = basis + mult * ta.stdev(close, length) bb_lower = basis - mult * ta.stdev(close, length) // Buy and sell conditions buy_condition = close < bb_lower sell_condition = close > bb_upper // Execute trades strategy.entry("Buy", strategy.long, when=buy_condition) strategy.entry("Sell", strategy.short, when=sell_condition) // Plotting Bollinger Bands on the chart plot(bb_upper, color=color.red, title="Upper Band") plot(bb_lower, color=color.green, title="Lower Band") plot(basis, color=color.blue, title="Basis") // Highlighting buy and sell signals on the chart bgcolor(buy_condition ? color.new(color.green, 90) : na) bgcolor(sell_condition ? color.new(color.red, 90) : na)