모멘텀 돌파에 기반한 다중 기간 볼린저 밴드 추세 포착 전략

BB SMA EMA SMMA WMA VWMA 趋势追踪 动量突破 波动率 技术分析
생성 날짜: 2025-06-11 10:06:16 마지막으로 수정됨: 2025-06-11 10:06:16
복사: 0 클릭수: 290
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

모멘텀 돌파에 기반한 다중 기간 볼린저 밴드 추세 포착 전략 모멘텀 돌파에 기반한 다중 기간 볼린저 밴드 추세 포착 전략

개요

이 전략은 부린 밴드 (Bollinger Bands) 에 기반한 트렌드 추적 시스템으로, 가격 돌파 경로를 통해 오는 강한 상승 동력을 포착하는 데 초점을 맞추고 있다. 전략의 핵심 아이디어는 가격 종결 경로를 통해 오는 때 더 많이 입주하는 것으로, 시장이 강력한 상승 추세에 들어가는 것을 나타냅니다. 가격이 경로를 벗어나는 경우 평지 입장을 취하는 것은 이익을 잠금하고 위험을 통제 할 수 있습니다. 이 전략은 단지 다중 거래만 수행하며, 공백을 하지 않으며, 특히 명백한 추세 특성이있는 시장 환경에 적합합니다.

전략 원칙

이 전략은 브린 띠 지표 작업에 기반을 두고 있으며, 브린 띠는 중도 (移動平均線) 와 상하의 두 가지 표준 오차 통로로 구성된다. 구체적인 구현 방법은 다음과 같다:

  1. 중간 궤도 계산: 기본으로 20주기 SMA (단순 이동 평균) 를 사용하지만 여러 가지 평균선 유형을 지원합니다 (EMA, SMMA, WMA, VWMA)
  2. 변동률 계산: 표준 차차를 곱한 2.0의 배수를 사용하여 통로 폭을 결정한다
  3. 상궤 = 중궤 + (표준차 × 곱하기)
  4. 하도 = 중도 - (기준차 × 곱하기)

입점 논리: 종식 가격이 경로를 돌파 할 때, 시스템은 이것이 강력한 상승 동력의 신호라고 생각하고 즉시 다수 포지션을 설정합니다. 이러한 돌파는 시장의 감정이 긍정적이며 가격이 상승 추세를 계속 유지할 수 있음을 나타냅니다.

출구 논리: 종전 가격이 하락할 때, 시스템은 다목적 동력이 소진되었거나 반전이 발생했다고 판단하고 즉시 평평합니다. 이 디자인은 이익을 달리고, 동향이 끝날 때에도 정시에 퇴출 할 수 있습니다.

전략은 코드에서 시간 필터를 구현하여 (2018년 ~ 2069년) 사용자가 특정 시간 범위에서 전략의 성능을 테스트하여 다른 시장 주기의 효과를 분석할 수 있도록 해줍니다.

전략적 이점

  1. 간단하고 명확한 거래 신호입출장 조건이 명확하고 복잡한 판단이 필요하지 않아 거래자의 심리적 스트레스와 의사 결정의 어려움을 줄입니다.

  2. 매우 적응력이 좋다브린 대역을 조정함으로써 전략은 다른 시장 환경과 변동률 조건에 적응할 수 있다.

  3. 위험 관리의 합리성: 트렌드가 종료되거나 역전될 때, 하차 출구 메커니즘을 통해 위험을 효과적으로 제어하여 깊은 회전을 피하십시오.

  4. 강력한 트렌드를 잡는 것이중적 방향으로만 움직여, 상승 추세에서 큰 상황을 포착하는 데 집중하고, 부채가 부과되는 추가적인 위험을 피하십시오.

  5. 사용자 정의 가능: 브린 대역의 길이나, 표준 차차의 곱, 이동 평균의 종류 등과 같은 다양한 변수를 제공하며, 거래자는 다양한 품종과 주기에 따라 최적화 할 수 있습니다.

  6. 시각적 직관전략: 전략은 원래의 브린 띠 지표의 시각적 효과를 유지하며, 거래자는 직관적으로 입력 및 출력 신호를 관찰할 수 있습니다.

전략적 위험

  1. 가짜 침입 위험위기 시장에서, 가격이 자주 경로를 돌파한 후 급격히 하락할 수 있으며, 이로 인해 자주 거래와 손실이 발생할 수 있습니다. 해결 방법: 추가적인 필터링 조건을 추가 할 수 있습니다. 예를 들어, 2 번의 연속 경로를 돌파하는 것을 요구하거나 RSI와 같은 다른 지표와 함께 확인 할 수 있습니다.

  2. 추세 반전 위험: 시장 추세는 가격이 하향 궤도에 도달하기 전에 역전될 수 있으며, 이로 인해 수익이 반전됩니다. 해결 방법: 이동 스톱을 추가하거나 수익 목표를 설정하여 가격이 하향 궤도에 도달하기 전에 출전을 기다리지 않도록 고려 할 수 있습니다.

  3. 단일 지표에 의존하는 것전략: 브린 밴드에만 의존하고 다른 확인 메커니즘이 없기 때문에 잘못된 신호가 발생할 수 있습니다. 해결 방법: 합성 교통량, 동력 지표 (MACD, RSI와 같은) 를 추가 확인 도구로 결합합니다.

  4. 매개변수 민감도: 부린 벨트 파라미터를 잘못 설정하면 거래 신호가 너무 많거나 너무 적어질 수 있다. 해결 방법: 역사 데이터 재검토를 통해 최적의 파라미터 조합을 찾고, 정기적으로 파라미터의 유효성을 검사한다.

  5. 손해 방지 장치의 부재전략: 기본으로 가격이 하향 궤도에 도달했을 때만 출전하고 명확한 중지 손실 설정이 없습니다. 해결 방법: 고정된 중지 또는 ATR 기반의 동적 중지 손실을 추가하여 단일 거래 위험을 제어하십시오.

최적화 방향

  1. 트렌드 확인 메커니즘: 장기 주기 이동 평균 방향 또는 ADX 지표와 결합하여, 큰 추세가 상승할 때만 다단 거래를 수행하고,横盘 또는 하락 시장에서 자주 거래하는 것을 피하십시오. 이것은 트렌드 추적 전략이 강한 트렌드 시장에서 가장 잘 작동하기 때문에 승률과 수익률을 높일 수 있습니다.

  2. 입학 시점을 최적화: 현재 전략은 가격이 경로를 돌파할 때 바로 진입할 수 있으며, 약간의 회전을 기다린 후 다시 진입하는 것을 고려할 수 있습니다. 또는 가격과 경로와의 거리 비율을 진입 조건으로 사용하여 더 나은 진입 가격을 얻을 수 있습니다.

  3. 손해제도 개선ATR 기반의 동적 스톱 또는 추적 스톱을 구현하여 트렌드 수익을 유지하면서 위험을 더 일찍 제어하는 것이 중요합니다. 이것은 특히 급격한 변동성이있는 시장에서 큰 회수를 피하는 데 중요합니다.

  4. 수량 확인: 입시 신호가 나타나면 거래량이 동시 확대되어 파열의 유효성을 확인하도록 요구한다. 거래량은 가격 변화의 중요한 확인 요소이며, 가짜 파열을 효과적으로 필터링 할 수 있다.

  5. 시간주기 최적화: 코드에 다중주기 분석 기능을 추가하여 여러 시간 주기가 모두 시상 신호를 표시할 때만 거래를 수행한다. 이러한 “시간 주기 일관성”은 전략의 신뢰성을 크게 향상시킬 수 있다.

  6. 변동율 필터에 추가: 매우 높은 또는 매우 낮은 변동률 환경에서 전략 파라미터를 조정하거나 거래를 중단합니다. 왜냐하면 브린은 다양한 변동률 환경에서 성능이 크게 다르기 때문입니다.

요약하다

동력 돌파를 기반으로 한 다중 주기적 부린띠 트렌드 캡처 전략은 강력한 상승 트렌드를 포착하는 데 초점을 맞춘 거래 시스템이다. 부린띠의 하향 돌파와 하락 신호를 통해, 전략은 트렌드 초기에 입문하고, 트렌드 종료 시에는 퇴출할 수 있어 간단하면서도 효과적이다.

이 전략은 트렌드 특성이 뚜렷한 시장에 가장 적합하며, 다단계만 수행하여 코카이도 추가 위험을 회피한다. 가짜 브레이크와 단일 지표 의존 등의 위험이 있지만, 확인 지표를 추가하고, 손해 방지 장치를 최적화하고, 다중 주기 분석을 추가하는 등의 방법으로 개선할 수 있다.

트레이더에게, 이 전략은 명확한 프레임워크를 제공하며, 특히 중·장기 트렌드 트레이딩에 적합하다. 합리적인 매개 변수 설정과 필요한 위험 제어 조치를 추가함으로써 실제 거래에서 안정적인 효과를 얻을 수 있다. 무엇보다도, 전략의 유연성은 다양한 시장 환경에 따라 조정될 수 있도록 하여 장기적으로 유효성을 유지할 수 있다.

전략 소스 코드
/*backtest
start: 2024-06-11 00:00:00
end: 2025-06-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle="BB Strategy-iNsTiNcT", title="iNsTiNcT - Bollinger Bands Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval = -500, maxval = 500)

// MA Type Selector
ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

// Calculations
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Preserve Indicator Plots
plot(basis, "Basis", color=#2962FF, offset=offset)
p1 = plot(upper, "Upper", color=#F23645, offset=offset)
p2 = plot(lower, "Lower", color=#089981, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))

// Strategy Logic
enterLong = ta.crossover(close, lower)  // Modified: Price crosses above lower band
exitLong = ta.crossunder(close, lower)  // Exit when price crosses back below lower band

if enterLong
    strategy.entry("Long", strategy.long)
if exitLong
    strategy.close("Long")