동적 변동성 돌파 볼린저 밴드 트레이딩 시스템

BB SMA SD TP SL 布林带 标准差 止盈 止损 动量交易
생성 날짜: 2025-03-26 11:38:43 마지막으로 수정됨: 2025-03-26 11:38:43
복사: 0 클릭수: 383
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

동적 변동성 돌파 볼린저 밴드 트레이딩 시스템 동적 변동성 돌파 볼린저 밴드 트레이딩 시스템

개요

다이내믹 웨이브 브레이크 브린 띠 거래 시스템은 기술 분석 지표인 브린 띠 (Bollinger Bands) 를 기반으로 한 양적 거래 전략이다. 이 전략의 핵심 아이디어는 가격의 브레이크 브린 띠를 상향으로 하향하는 신호를 사용하여 시장의 과매매 상태를 확인하고 적절한 시간에 시장에 진입하는 것이다. 시스템은 20주기 간단한 이동 평균을 기준으로 삼고 표준 차이의 곱이 2.0으로 상향을 계산하며, 1%의 스톱 손실과 2%의 스톱 설정을 보조하여 위험을 제어하고 수익을 잠금합니다.

전략 원칙

이 전략의 핵심 원리는 부린 대역 이론에 기초하고 있는데, 이는 가격이 대부분의 시간 동안 부린 대역 내에서 변동할 것이며, 한번 상향 하향 궤도를 돌파하면 과매도 또는 과매도 현상이 발생하여 가격이 역전될 가능성이 있음을 의미할 수 있다. 구체적으로:

  1. 브린 밴드 계산: 20주기의 간단한 이동 평균 ((SMA) 을 중궤도 ((기준선) 로 사용하며, 상궤도 중궤도에 표준차를 2배 더하고, 하궤도 중궤도 중궤도에서 표준차를 2배 빼한다.

  2. 공백 진입 조건: 빨간색 이 나타났을 때 (폐쇄 가격이 오픈 가격보다 낮다) 그리고 그 의 폐쇄 가격이 하락 궤도를 돌파했을 때, 다음 의 오픈 가격 위치에서 공백 진입한다.

  3. 더 많은 진입 조건: 초록색 이 나타나면 (폐쇄가격이 개시가격보다 높다) 그리고 그 의 폐쇄가격이 궤도를 돌파하면, 다음 의 개시가격 위치에서 더 많은 진입을 한다.

  4. 위험 관리: 입시 가격 아래 1%의 다중 시간 중지 손실 설정, 입시 가격 위 2%의 정지 설정; 입시 가격 위 1%의 다중 시간 중지 손실 설정, 입시 가격 아래 2%의 정지 설정.

시스템은 가격확인적 돌파 (紅綠의 판단) 를 기다리며, 다음 K 선이 열릴 때 입문하는 방식으로 거래 신호의 신뢰성을 높이고, 가짜 신호의 간섭을 줄인다.

전략적 이점

  1. 신호 신뢰도 높다: 이 전략은 색깔이 돌파구 방향과 일치하도록 요구함으로써 (가장 많은 것은 녹색 을 필요로 하고, 빈 것은 빨간 을 필요로 한다) 그리고 다음 K 선이 시작될 때 출전하여, 가짜 돌파구 신호의 일부를 효과적으로 필터링한다.

  2. 위험과 이익의 비율은 합리적입니다: 전략은 1%의 스톱로스와 2%의 스톱을 설정하고, 위험과 이익의 비율은 1:2, 좋은 자금 관리 원칙에 부합합니다.

  3. 파라미터가 조정 가능: 브린 밴드 길이, 표준 격차 배수, 손실 비율, 중지 비율 등의 파라미터는 다른 시장 특성과 거래자의 위험 선호도에 따라 조정할 수 있습니다.

  4. 시각적 직관 (Visual Intuition): 전략은 브린띠의 중간, 상단, 하단 궤도를 직접 차트에 그리는 것으로, 거래자는 가격과 브린띠의 관계를 직관적으로 관찰할 수 있어 이해와 판단이 용이하다.

  5. 적응력: 브린 밴드는 시장의 변동성에 따라 폭을 자동으로 조정하여 높은 변동성 시장에서 폭을 늘리고 낮은 변동성 시장에서 폭을 줄여서 전략이 다른 시장 환경에 적응할 수 있도록합니다.

전략적 위험

  1. 흔들림 시장 위험: 수평 정리 또는 흔들림 시장에서 가격은 종종 브린의 하향 경로를 건드릴 수 있지만 진정한 추세가 형성되지 않아 자주 거래되고 연속적인 손실이 발생합니다.

  2. 급격한 변동의 위험: 중요한 뉴스 또는 블랙 스 사건이 발생하면 시장이 폭등하거나 급격하게 변동하여 스톱 손실 또는 급격한 하락을 초래할 수 있습니다.

  3. 변수 민감성: 브린 장의 길이와 표준 격차 배수의 선택은 신호 생성의 빈도와 정확성에 직접적인 영향을 미치며, 부적절한 변수 설정은 과도한 거래 또는 중요한 기회를 놓치게 할 수 있습니다.

  4. 고정된 손실 차단 위험: 고정된 비율의 손실 차단 방법을 사용하는 것은 모든 시장 환경에 적합하지 않을 수 있으며, 특히 변동성이 크게 변화하는 시장에서 그렇습니다.

  5. 진입을 지연하는 문제: 전략은 돌파구를 확인한 다음 K 라인 오픈까지 진입하여 일부 가격 움직임을 놓칠 수 있으며 수익 잠재력을 감소시킬 수 있습니다.

이러한 위험과 맞서기 위해, 거래자는 다음과 같이 해야 합니다.

  • 다른 기술 지표 또는 시장 구조 분석과 함께 신호를 확인합니다.
  • 다른 시장 환경에서의 동적으로 조정되는 매개 변수 설정
  • 변동률 조정으로의 손해 차단 장치를 고려
  • 주요 경제 자료가 발표되기 전 전략 중단

전략 최적화 방향

  1. 트렌드 필터를 도입: 장기 이동 평균 또는 MACD와 같은 트렌드 지표를 추가하여 주 트렌드 방향으로만 거래하도록 보장하고, 불안한 시장에서 자주 거래하는 것을 피하십시오. 구현 방법은 다음과 같습니다: 가격이 장기 이동 평균 위쪽에있을 때만 다중 신호를 실행하고, 그 반대의 경우.

  2. 브린 밴드 변수를 최적화: 브린 밴드 길이와 표준 차이의 배수를 동적으로 조정할 수 있습니다. 예를 들어, 최근 기간 동안의 시장 변동성이 적응 조정 변수에서 비롯되어 전략이 다른 시장 환경에 더 잘 적응 할 수 있습니다.

  3. 개선된 손해 중지 장치: ATR ((평균 실제 파도) 를 기반으로 손해 중지 및 중지 설정을 고려할 수 있습니다. 고정된 비율이 아닌 시장의 변동성에 더 잘 적응하기 위해. 따라서 변동성이 높은 시장 환경에서 더 느슨한 중지, 그리고 변동성이 낮은 시장에서는 더 긴밀한 중지가 있을 수 있습니다.

  4. 거래량 확인을 추가: 거래량 지표가 합쳐져 침입의 유효성을 확인할 수 있습니다. 예를 들어, 침입이 발생했을 때 거래량이 눈에 띄게 증가하도록 요구하여 신호의 신뢰성을 높일 수 있습니다.

  5. 최적화된 입시 시점: 다음 K 라인 디스크를 기다리지 않고, 브린 테이프 후 다시 입시하는 것과 같은 더 복잡한 입시 논리를 설계하여 더 나은 입시 가격을 얻을 수 있습니다.

  6. 시간 필터 도입: 다양한 시기의 시장 특성에 따라 특정 효율적인 거래 시간에 전략을 실행하여 시장 유동성이 부족하거나 과도하게 변동하는 시기를 피할 수 있습니다.

  7. 자금 관리 최적화: 시장 상태와 계좌 순액에 따라 거래 당 포지션 크기를 조정하는 다이내믹 포지션 관리 메커니즘을 도입하여 위험을 더 잘 제어합니다.

요약하다

동적 파도폭 돌파형 부린밴드 거래 시스템은 가격과 부린밴드 관계를 기반으로 한 양적 거래 전략으로, 가격 돌파 부린밴드 상하의 신호를 포착하여 거래를 한다. 이 전략은 간결하고 명확한 운영 규칙이 있으며, 변동률 돌파형 거래 시스템의 기본 틀에 적합하다. 전략의 핵심 장점은 가격 변동에 대한 자율성과 명확한 위험 제어 장치에 있다. 그러나, 불안정한 시장에서 빈번한 거래와 가짜 신호 문제가 발생할 수 있다.

트렌드 필터, 최적화 파라미터 설정, 개선된 스톱스톱 메커니즘, 그리고 거래량 확인을 추가하는 등의 최적화 조치는 전략의 안정성과 수익성을 크게 향상시킬 수 있다. 거래자에게는 실장 적용 전에 충분한 피드백과 파라미터 최적화를 실시하고, 시장 환경과 개인의 위험 선호도에 따라 적절한 조정을 수행하는 것이 좋습니다. 결국, 성공적인 거래는 전략 자체에 의존하지 않으며, 거래자의 시장에 대한 이해와 엄격한 징계적 실행에 달려 있습니다.

전략 소스 코드
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Bollinger Band Entry Strategy (Revised)", overlay=true)

// Input parameters
bbLength = input.int(20, title="Bollinger Band Length")
bbStdDev = input.float(2.0, title="Bollinger Band Standard Deviation")
stopLossPercent = input.float(1.0, title="Stop Loss (%)") / 100
takeProfitPercent = input.float(2.0, title="Take Profit (%)") / 100

// Calculate Bollinger Bands
basis = ta.sma(close, bbLength)
upperBand = basis + bbStdDev * ta.stdev(close, bbLength)
lowerBand = basis - bbStdDev * ta.stdev(close, bbLength)

// Plot Bollinger Bands
plot(basis, color=color.orange, title="Basis")
plot(upperBand, color=color.blue, title="Upper Band")
plot(lowerBand, color=color.red, title="Lower Band")

// Short Entry Condition
redCandle = close < open // Red candle (price closed lower than it opened)
closeBelowLowerBand = close < lowerBand // Closed below the lower Bollinger Band
shortCondition = redCandle and closeBelowLowerBand

// Long Entry Condition
greenCandle = close > open // Green candle (price closed higher than it opened)
closeAboveUpperBand = close > upperBand // Closed above the upper Bollinger Band
longCondition = greenCandle and closeAboveUpperBand

// Execute Trades
if (shortCondition)
    strategy.entry("Short", strategy.short, stop=open) // Enter short on the next candle's open

if (longCondition)
    strategy.entry("Long", strategy.long, stop=open) // Enter long on the next candle's open

// Stop Loss and Take Profit
if (strategy.position_size > 0) // Long position
    strategy.exit("Take Profit/Stop Loss", "Long", stop=strategy.position_avg_price * (1 - stopLossPercent), limit=strategy.position_avg_price * (1 + takeProfitPercent))

if (strategy.position_size < 0) // Short position
    strategy.exit("Take Profit/Stop Loss", "Short", stop=strategy.position_avg_price * (1 + stopLossPercent), limit=strategy.position_avg_price * (1 - takeProfitPercent))