리소스 로딩... 로딩...

볼링거 밴드 정확한 크로스오버 양적 전략

저자:차오장날짜: 2024-10-14 11:38:31
태그:BBSMASD

img

전반적인 설명

볼링거 밴드 정확한 크로스오버 양적 전략 (Bollinger Bands Precise Crossover Quantitative Strategy) 은 볼링거 밴드 지표를 기반으로 한 거래 시스템으로, 가격이 상위 또는 하위 밴드를 넘어서면 기회를 포착하도록 설계되었습니다. 이 전략은 1시간의 시간 프레임을 사용하여 촛불과 볼링거 밴드 사이의 상호 작용을 관찰하여 입구 지점을 결정합니다. 가격이 완전히 하위 밴드 아래로 넘어가 다음 촛불이 이전 촛불의 최고치보다 높게 닫을 때 구매 신호가 생성됩니다. 반대로, 가격이 상위 밴드를 넘어서 다음 촛불이 이전 촛불의 낮은 지점 아래로 떨어지면 판매 신호가 발생합니다. 이것은 가격 브레이크의 유효성을 확인하는 것을 목표로하며, 이로 인해 거짓 브레이크의 위험을 줄입니다.

전략 원칙

이 전략의 핵심 원칙은 볼링거 밴드를 동적 지지 및 저항 수준으로 사용하는 것입니다. 볼링거 밴드는 세 가지 라인으로 구성됩니다. 중간에 있는 밴드 (20 기간 단순 이동 평균), 상단에 있는 밴드 (중간에 있는 밴드 + 표준편차의 1.2배), 그리고 하단에 있는 밴드 (중간에 있는 밴드 - 표준편차의 1.2배). 전략의 주요 측면은 다음과 같습니다.

  1. 구매 조건: 촛불의 높음과 낮음 모두 하위 밴드 아래에 있을 때, 이는 잠재적 인 구매 신호로 간주됩니다. 다음 촛불의 폐쇄 가격이 트리거 촛불의 높음보다 높으면 구매 입력이 확인됩니다.

  2. 판매 조건: 촛불의 높고 낮이 상단보다 높을 때, 잠재적인 판매 신호로 간주됩니다. 다음 촛불의 폐쇄 가격이 트리거 촛불의 낮보다 낮으면 판매 입력이 확인됩니다.

  3. 시각화: 전략은 차트에 수평선을 그리며 트리거 촛불의 높거나 낮은 지점을 표시하여 거래자가 입구 지점을 시각적으로 식별하는 데 도움이됩니다.

전략적 장점

  1. 정확한 입시 시점: 볼링거 밴드의 완전한 브레이크오웃과 다음 촛불에서 확인을 요구함으로써 전략은 잘못된 브레이크오웃의 가능성을 줄입니다.

  2. 트렌드 추적: 전략 설계는 거래자가 새로운 트렌드의 초기 단계에 들어가 잠재적으로 중요한 가격 움직임을 포착 할 수 있습니다.

  3. 객관적인 거래 신호: 명확한 수학적 계산과 가격 동작에 기초하여 주관적 판단의 영향을 줄입니다.

  4. 높은 적응력: 볼링거 밴드는 시장 변동성에 자동으로 조정되며 전략이 다른 시장 조건에 적응 할 수 있습니다.

  5. 리스크 관리: 확인 촛불을 기다림으로써 전략은 내장된 리스크 제어 메커니즘을 포함합니다.

전략 위험

  1. 지연: 확인 촛불의 필요성으로 인해 전략은 빠른 시장 움직임을 놓칠 수 있습니다.

  2. 가짜 브레이크: 확인 메커니즘에도 불구하고, 매우 변동적인 시장에서 가짜 브레이크는 여전히 발생할 수 있습니다.

  3. 다양한 시장에서의 성과: 옆 시장에서는 자주 구매 및 판매 신호가 과잉 거래 및 거래 비용을 증가시킬 수 있습니다.

  4. 역사적인 데이터에 의존: 볼링거 밴드는 역사적인 가격에 기초하여 계산되며 급격한 시장 변화에 충분히 빠르게 반응하지 않을 수 있습니다.

  5. 스톱 로스 메커니즘의 부족: 코드는 트렌드 역전 시 상당한 손실로 이어질 수 있는 명시적인 스톱 로스 전략을 포함하지 않습니다.

전략 최적화 방향

  1. 동적 곱셈을 도입하십시오: 다른 시장 상태에 적응하기 위해 시장 변동성에 따라 볼링거 밴드 곱셈을 동적으로 조정하는 것을 고려하십시오.

  2. 필터 추가: 다른 기술 지표 (RSI 또는 MACD와 같이) 를 결합하여 거래 신호를 필터링하고 정확도를 향상시킵니다.

  3. 스톱 로스 및 테이크 프로프트를 구현하십시오: 적절한 스톱 로스 및 테이크 프로프트 메커니즘을 추가하여 위험을 더 잘 제어하고 이익을 고정합니다.

  4. 최적화 시간 프레임: 최적의 응용 시나리오를 찾기 위해 다른 시간 프레임에서 전략을 테스트합니다.

  5. 거래 부피를 고려하십시오. 브레이크오웃 신뢰성을 향상시키기 위해 확인 신호의 일부로 거래 부피를 포함하십시오.

  6. 부분 포지션 관리 구현: 신호 강도 또는 다른 시장 요인에 기초한 유연한 포지션 관리 전략을 개발합니다.

요약

볼링거 밴드 정확한 크로스오버 양적 전략은 기술적 분석과 통계적 원리를 결합한 거래 시스템이다. 정확하게 정의된 입시 조건을 통해, 이 전략은 확인 메커니즘을 통해 잘못된 브레이크오프의 위험을 줄이는 동시에 중요한 시장 브레이크오프를 포착하는 것을 목표로 한다. 전략은 객관성과 적응성 등의 장점이 있지만, 지연과 잘못된 브레이크오프 등 위험도 직면한다. 전략의 견고성과 수익성을 더욱 향상시키기 위해, 동적 매개 변수 조정, 여러 지표를 결합하고 포괄적인 위험 관리 메커니즘을 구현하는 것을 고려한다. 전반적으로, 이것은 지속적인 최적화와 백테스팅으로 신뢰할 수 있는 거래 시스템으로 발전할 잠재력을 가진 유망한 기본 전략 프레임워크이다.


/*backtest
start: 2024-09-01 00:00:00
end: 2024-09-30 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BB BTCUSDT !HR TF ~ Abhay Pratap Singh)", overlay=true)

// Bollinger Bands settings
multiplier = 1.2
length = 20
src = close
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
upper_band = basis + (multiplier * dev)
lower_band = basis - (multiplier * dev)


// Trigger candle conditions
buy_trigger = (high < lower_band and low < lower_band)  // Both high and low are below the lower band
sell_trigger = (high > upper_band and low > upper_band)  // Both high and low are above the upper band

// Entry conditions for Buy and Sell
buy_entry = buy_trigger[1] and close > high[1]  // Buy if the next candle closes above the trigger candle's high
sell_entry = sell_trigger[1] and close < low[1]  // Sell if the next candle closes below the trigger candle's low

// Draw horizontal lines for the trigger candle's high and low
var line buy_trigger_line = na
var line sell_trigger_line = na

// if (buy_entry)
//     buy_trigger_line := line.new(x1=bar_index[1], y1=low[1], x2=bar_index, y2=low[1], color=color.green, width=2, style=line.style_solid)

// if (sell_entry)
//     sell_trigger_line := line.new(x1=bar_index[1], y1=high[1], x2=bar_index, y2=high[1], color=color.red, width=2, style=line.style_solid)

// Execute strategy entries
if (buy_entry)
    strategy.entry("Buy", strategy.long)

if (sell_entry)
    strategy.entry("Sell", strategy.short)

// Optional plot for debugging or visualization
plotshape(series=buy_entry, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_entry, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


관련

더 많은