볼린저 밴드 지표를 기반으로 한 간단한 양적 거래 전략


생성 날짜: 2024-02-20 15:53:12 마지막으로 수정됨: 2024-02-20 15:53:12
복사: 0 클릭수: 715
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

볼린저 밴드 지표를 기반으로 한 간단한 양적 거래 전략

개요

부린 띠 돌파 전략은 부린 띠 지표에 기반한 간단한 수량 거래 전략이다. 이 전략은 부린 띠의 상하 궤도를 제공하는 동적 지원 저항 지점을 활용하여, 가격이 부린 띠의 상하 궤도를 돌파할 때 긴 포지션 입구 및 포지션 출구 조건을 설정하여 주가 가격의 돌파 행동을 포착한다.

전략 원칙

부린 띠 지표는 1980년대에 반디 부린 (John Bollinger) 에 의해 제안되었으며, n일 이동 평균과 m배 표준 차이를 구성한다. 이동 평균은 가격의 중축으로 볼 수 있고, 표준 차이는 가격 변동의 폭으로 볼 수 있다. 표준 차이의 값이 큰 경우 가격 변동이 더 심하다는 것을 나타냅니다. 표준 차이의 값이 작은 경우 가격 변동이 온화하다는 것을 나타냅니다.

이 전략의 입문 조건은: 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문; 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문; 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문; 종식 조건은: 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문; 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문; 종식 가격이 부린 띠 아래로 내려가면 더 많은 입문.

이 전략은 트렌드 추적 전략에 속하며, 가격 돌파 부린의 하향 궤도를 잡는 경향적 돌파구를 포착하며, 수익 모드는 트렌드 상황을 통해 포지션을 확장하는 수익이다.

전략적 이점

  1. 부린 벨트 지표를 동적인 지지 저항점으로 사용하여 고정된 가격 수준을 사용하는 것을 피하여 시장의 변화에 적응

  2. 전략은 추세와 변동률을 참고하고, 결정은 가격 수준뿐만 아니라 시장 변동률에 기반하여 잘못된 신호를 줄일 수 있습니다.

  3. 혁신적 프레임워크는 간단하고 직접적이며 이해하기 쉽고 실행이 가능합니다.

  4. 다양한 품종과 매개 변수 시장에 적용할 수 있는 유연하게 조정 가능한 브린 밴드 매개 변수

위험 분석

  1. 부린 띠 지표 변수 설정이 잘못되면 거래 신호가 너무 자주 발생하여 불필요한 거래가 발생할 수 있습니다.

  2. 브레이크 신호는 단기간의 가격 변동일 수 있으며, 지속적인 트렌드가 될 수 없으며, 잘못된 거래가 발생할 수 있습니다.

  3. 전략은 중지 손실을 고려하지 않고, 결정 위험과 손실 제어 위험을 고려하지 않습니다.

  4. 기술적인 지표만 기반으로 기본적 정보를 통합하지 않으면 중요한 기본적 트렌드 전환점을 놓칠 수 있습니다.

  5. 특정 시장의 특성을 고려하지 않고 특정 시장의 이익과 손실이 영향을 미칠 수 있습니다

전략 최적화 방향

  1. 브린 띠 변수를 최적화하여 변수의 무지성을 높인다.

  2. 단독 손실을 통제하기 위한 손해제도 가입

  3. 다른 시간 주기를 결합한 브린 밴드, 다주기 거래 결정을 구성

  4. 거래량과 결합하여 일부 가짜 브레이크 신호를 피합니다.

  5. 입시 시점과 포지션 규모를 결정하는 기본 요소를 추가합니다.

  6. 다양한 시장 품종 데이터를 테스트하여 전략의 종목 간 적합성을 평가합니다.

요약하다

부린 띠 돌파 전략은 간단한 직관적인 트렌드 추적 전략이다. 부린 띠 지표가 제공하는 역동적인 지지 저항을 사용하여 가격 트렌디 성 돌파를 결정하고, 긴 포지션 입점과 평화적 포지션 출구 조건을 구축한다. 전략의 장점은 프레임 워크가 간단하고, 구현하기 쉬운이며, 가격 트렌디 성 기회를 잡을 수 있다. 너무 자주 발생하는 거래를 피하기 위해 위험을 관리하는 데 주의를 기울여야 한다. 여러 가지 측면에서 테스트 및 최적화를 통해 부린 띠 돌파 전략은 효과적인 정량화 거래 전략 선택이 될 수 있다.

전략 소스 코드
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

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

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)

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

// Define strategy entry and exit conditions
strategy.entry("Buy", strategy.long, when=close < lower)
strategy.close("Buy", when=close > upper)

strategy.entry("Sell", strategy.short, when=close > upper)
strategy.close("Sell", when=close < lower)

// Plotting the Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")