볼링거 밴드 기반의 단기 거래 전략

저자:차오장, 날짜: 2024-02-29 11:07:35
태그:

img

전반적인 설명

이 전략은 볼링거 밴드 지표를 기반으로 단기 거래를 수행하며, 돌파구 구매 및 판매 신호를 제공하기 위해 볼링거 밴드의 상부 및 하부 레일을 활용합니다. 간단한 추진력 추적 전략에 속합니다. 주로 단기 추적 및 가격 추세를 쫓기 위해 적합합니다.

전략 원칙

이 전략은 주로 볼링거 밴드 지표에 의존한다. 볼링거 밴드에는 중간 레일, 상부 레일, 하부 레일 등이 포함된다. 중간 레일은 종료 가격의 N일 간단한 이동 평균을 나타낸다. 상부 레일은 중간 레일과 표준 편차의 2배를 더하여 계산된다. 하부 레일은 중간 레일을 빼고 표준 편차의 2배로 계산된다. 가격이 하부 레일을 넘어서면 구매 신호가 생성된다. 가격이 상부 레일을 넘어서면 판매 신호가 생성된다.

이 전략의 주요 거래 논리는 다음과 같습니다.

  1. sma ((() 함수를 사용하여 Bollinger Bands의 중간 레일로 닫기 가격의 N-day (예정 20일) 간단한 이동 평균을 계산합니다.

  2. stdev ((() 함수를 사용하여 닫기 가격에 기초한 N-day (예정 20일) 표준편차를 계산합니다.

  3. 볼링거 반도의 상단과 하단 레일은 중간 레일 ± 2배 표준편차로 구성됩니다.

  4. 닫기 가격이 하부 레일을 넘어 올라가면 구매 신호가 생성됩니다.

  5. 닫기 가격이 상단 레일을 넘어서는 경우 판매 신호가 생성됩니다.

  6. 촛불 차트에서 구매 및 판매 신호를 표시하는 플롯셰이프와 같은 기능을 사용

전략 의 장점

  1. 전략 논리는 간단하고 이해하기 쉽고 사용하기 쉽습니다

  2. 더 적은 지표 매개 변수, 최적화 및 조정하기 쉽습니다

  3. 시장 동향을 효과적으로 추적하고 추진력을 추적 할 수 있습니다.

  4. 상대적으로 작은 회수 위험

전략 의 위험

  1. 소멸 회전 위험성

  2. 부적절한 매개 변수 설정으로 인해 거래 빈도가 지나치게 높을 수 있습니다.

  3. 상부와 하부 철도의 돌파구 판단은 시장 변동에 매우 민감합니다.

  4. 이 효과는 매개 변수 설정과 밀접하게 관련이 있습니다. 신중한 테스트와 최적화가 필요합니다.

전략 최적화의 방향

  1. 볼링거 밴드의 매개 변수를 조정하고, 이동 평균 기간과 표준편차 시간을 최적화합니다.

  2. 잘못된 거래를 피하기 위해 다른 지표와 필터를 추가합니다.

  3. 단일 손실을 제어하기 위해 스톱 손실 메커니즘을 추가

  4. 다른 제품과 사이클에는 다른 파라미터 설정이 필요합니다. 별도의 테스트가 필요합니다.

요약

전체적으로, 이것은 매우 전형적이고 실용적인 단기 모멘텀 추적 전략입니다. 간단한 지표 프레임워크를 통해 시장 추세를 파악할 수 있으며 단기 운영에 적합합니다. 그러나 매개 변수에 대한 민감성, 불충분한 신호 필터링 등과 같은 몇 가지 단점도 있습니다. 지표 매개 변수를 더 이상 최적화하거나 다른 보조 지표를 추가하면 전략의 안정성과 수익성을 향상시킬 수 있습니다.


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

//@version=4
strategy("arasmuz2.0", overlay=true)

// Bollinger Bands Parametreleri
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Multiplier")

// Bollinger Bands Hesaplamaları
basis = sma(close, length)
upper_band = basis + mult * stdev(close, length)
lower_band = basis - mult * stdev(close, length)

// Long (Alım) Koşulları
longCondition = crossover(close, lower_band)

// Short (Satım) Koşulları
shortCondition = crossunder(close, upper_band)

// Long (Alım) Giriş
strategy.entry("Long", strategy.long, when=longCondition)

// Short (Satım) Giriş
strategy.entry("Short", strategy.short, when=shortCondition)

// Al sinyalini mumun altına koy
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)

// Sat sinyalini mumun üstüne koy
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)

// Bollinger Bands'ı Grafik Üzerinde Görüntüle
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")


더 많은