볼링거 밴드와 이동 평균의 조합 전략

저자:차오장, 날짜: 2024-02-02 17:47:12
태그:

img

전반적인 설명

이 전략은 볼링거 밴드와 이동 평균을 결합하여, 가격 브레이크오프를 결정하기 위해 볼링거 밴드의 상단 밴드와 하단 밴드를 사용하며, 트렌드를 결정하기 위해 빠른 이동 평균 황금 십자가와 느린 이동 평균과 함께 죽음의 십자가를 사용한다. 가격이 볼링거 상단 밴드를 넘어서고 빠른 이동 평균이 느린 이동 평균을 넘어서면 길게 간다. 가격이 볼링거 하단 밴드 아래로 넘어가고 빠른 이동 평균이 느린 이동 평균 아래로 넘어가면 짧게 간다. 그러한 이중 확인을 사용하면 잘못된 브레이크오프를 효과적으로 필터링할 수 있다.

전략 원칙

이 전략은 주로 두 가지 기술 지표를 이용합니다. 가격 수준을 결정하기 위해 볼링거 밴드 (Bollinger Bands) 와 트렌드를 결정하기 위해 이동 평균 (Moving Averages).

볼링거 중단계는 가격의 단순한 이동 평균, 상단계는 중간단계 + 2 표준편차, 하단계는 중간단계 - 2 표준편차이다. 가격이 상단계에 접근하면 과잉 매입 상태를 나타낸다. 가격이 하단계로 접근하면 과잉 판매 상태를 나타낸다.

빠른 이동 평균은 가격의 50 기간 간단한 이동 평균이며 느린 이동 평균은 200 기간 간단한 이동 평균입니다. 빠른 MA가 느린 MA보다 높을 때 상승 추세 또는 골든 크로스을 신호합니다. 빠른 MA가 느린 MA보다 낮을 때 하락 추세 또는 죽음 크로스을 신호합니다.

진입 신호는 두 조건을 동시에 충족해야 합니다: 볼링거 상단 이상의 가격 파업은 저항 수준을 깨는 것을 나타냅니다. 그리고 느린 MA 이상의 빠른 MA 교차는 상승 추세를 나타냅니다. 볼링거 하단 기하단 아래의 가격 파업은 지원 수준을 깨는 것을 나타냅니다. 그리고 느린 MA 이하의 빠른 MA 교차는 하락 추세를 나타냅니다. 이 두 가지 확인은 잘못된 파업의 영향을 효과적으로 필터링 할 수 있습니다.

장점

  1. 이중 확인을 이용하면 잘못된 정보를 효과적으로 필터링할 수 있고 입력값이 더 정확해질 수 있습니다.

  2. 볼링거 밴드는 지원과 저항 수준을 시각적으로 결정합니다. 이동 평균은 트렌드를 안정적으로 결정합니다. 조합은 서로를 보완합니다.

  3. 볼링거 기간, 표준 오차 곱셈자, MA 기간 등과 같은 매개 변수에서 높은 최적화 유연성. 더 많은 시장 환경에 적합합니다.

  4. 구현이 간단하고 이해하기 쉬우며 코드가 적어 실시간 거래에 직접 사용할 수 있습니다.

위험성

  1. 볼링거 밴드와 MAs 모두 특정 경우에 실패할 수 있습니다. 이중 확인도 함께 실패하여 잘못된 항목을 유발할 수 있습니다.

  2. MAs는 발급이 늦어지거나 출입 시기가 정확하지 않거나 기회를 놓칠 수 있습니다.

  3. 너무 짧은 BB 기간, 부합되지 않은 MA 기간 등과 같은 부적절한 매개 변수 설정은 전략 성과를 약화시킬 수 있습니다.

  4. 탈출 전략은 두 번 확인된 경우에도 잘못된 탈출 영향에 취약합니다.

매개 변수 동적 조정, 엄격한 스톱 로스, 다른 지표와 결합하는 방법 같은 방법은 위험을 줄이는 데 도움이 될 수 있습니다.

최적화 방향

  1. 조건 검사를 위한 다른 지표들을 도입합니다. 예를 들어 BB 브레이크오웃에 대한 볼륨 증폭, 트렌드 결정에 대한 MACD, 복수의 확인을 형성합니다.

  2. 입력 시기를 돕기 위해 촛불 패턴을 포함하십시오. 예를 들어 BB 상부 터치에서 형성 된 망치.

  3. 동적 MAs 대신 동적 MAs를 채택하여 추세 결정을 더 향상시킵니다.

  4. 패러미터 자동 최적화를 설정하여 역사적 백테스트를 통해 최적의 패러미터 세트를 찾습니다.

  5. 포지션 크기와 스톱 로스 레벨을 조정하고, 엄격한 스톱 로스를 설정하여 손실을 제어합니다.

결론

이 전략은 기술 지표에 기초하여 볼링거 밴드와 이동 평균을 결합하고, 볼링거 밴드 상단 또는 하단 밴드의 가격 브레이크와 MA의 황금/죽음 크로스 모두 충족될 때만 포지션을 입력합니다. 이것은 볼링거 밴드 직관적인 지원/저항 식별과 이동 평균 신뢰할 수있는 트렌드 결정을 활용하여 상호 보완하고 잘못된 브레이크를 효과적으로 필터합니다. 일반적으로 이것은 실용적인 전략이며 구현이 쉽고 라이브 거래에서 적용하고 최적화하는 것이 가치가 있습니다.


/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands and Moving Averages Strategy", overlay=true)

// Bollinger Bands
length = input(20, minval=1, title="BB Length")
mult = input(2.0, minval=0.1, maxval=5, title="BB Standard Deviation")
src = close
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev

// Moving Averages
ma1_length = input(50, minval=1, title="MA1 Length")
ma2_length = input(200, minval=1, title="MA2 Length")
ma1 = sma(src, ma1_length)
ma2 = sma(src, ma2_length)

// Strategy Conditions
longCondition = crossover(src, upper) and crossover(ma1, ma2)
shortCondition = crossunder(src, lower) and crossunder(ma1, ma2)

// Strategy Execution
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Long", when=shortCondition)
strategy.close("Short", when=longCondition)

// Plotting
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")
plot(ma1, color=color.orange, title="MA1")
plot(ma2, color=color.purple, title="MA2")


더 많은