볼링거 브레이크업 전략

저자:차오장, 날짜: 2023-09-21 10:38:13
태그:

전반적인 설명

이 전략은 볼링거 밴드 지표에 기반하여, 가격이 볼링거 밴드 상부 또는 하부 라인을 벗어날 때 긴 또는 짧은 포지션을 취합니다.

전략 논리

  1. 볼링거 중선, 상위선 및 하위선을 계산합니다
  2. 하위 라인 브레이크에서 길게; 상위 라인 브레이크에서 짧게
  3. 거래 시간을 정의하기 위해 시작 및 종료 시간을 설정
  4. 대기 시간 설정, 내일 출출로 기본 설정

특히, 그것은 먼저 길이 길이의 중간 라인 SMA를 계산하고, 상위 / 하위 라인 수 배 표준 편차를 계산합니다. 닫는 것이 하위 라인에서 위로 갈 때, 길게 갈 때. 닫는 것이 상위 라인에서 떨어지면, 짧게 갈 때. 또한 시작 및 종료 시간을 설정하여 거래 시간을 제한합니다. 매일 열기 전에 출입하십시오.

이 전략은 가격의 범위를 벗어난 후 팽창하는 움직임을 포착하려고 시도합니다. 하부 범위를 깨는 것은 상승 세력을 강화하는 것을 나타냅니다. 상부 범위를 깨는 것은 하부 세력을 강화하는 것을 의미합니다. 따라서 브레이크와 일치하는 거래는 유리한 것입니다.

이점 분석

  1. 간단하고 직관적이며 이해하기 쉽고 실행하기 쉽습니다.
  2. 트렌드 브레이크를 판단하기 위해 볼링거 밴드를 활용합니다.
  3. 다양한 사이클과 제품에 대한 유연한 매개 변수 조정
  4. 일내 출구 통제 외환위험
  5. 단지 긴 또는 짧은 거래를 허용할 수 있습니다.

위험 분석

  1. 가짜 탈출 위험. 초기 탈출 후 가격이 다시 올라갈 수 있습니다.
  2. 패러미터 조정이 필요합니다. 다른 사이클에 맞춰야 합니다.
  3. 잠재적인 손실 확대 위험. 더 큰 브레이크 라인지는 손실을 확장 할 수 있습니다.
  4. 거래 비용 증가. 빈번한 거래는 거래 비용을 증가시킬 수 있습니다.

엔트리 규칙을 최적화하고 스톱 로스를 추가하고 트렌드 필터를 도입함으로써 위험을 줄일 수 있습니다.

최적화 방향

  1. 다른 사이클에 대한 매개 변수를 최적화
  2. 트렌드를 따르기 위해 재입구 및 피라미드 규칙 추가
  3. 리스크 통제에 스톱 로스를 도입
  4. 중요한 뉴스 이벤트를 피하기 위해 거래 시간을 설정
  5. 가격 변동을 피하기 위해 트렌드 필터를 테스트합니다.
  6. 다른 보유 기간을 평가하고 결과를 비교합니다.

요약

이것은 볼링거 밴드를 기반으로 한 브레이크업 전략이다. 브레이크업 움직임에서 이익을 얻는다. 장점은 간단한 논리와 쉬운 구현이다; 단점은 잘못된 브레이크업에 취약하다. 위험은 매개 변수 최적화, 스톱 로스, 거래 시간 제어 등을 통해 관리 될 수 있다. 트레이더들이 지표와 거래 브레이크업을 사용하는 기본 사항을 이해할 수 있게 해준다.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")

source = close
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()

더 많은