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

볼링거 밴드 및 이동 평균 크로스오버 전략

저자:차오장, 날짜: 2024-06-07 14:52:49
태그:SMAEMASMMARMAWMAVWMAMABB

img

전반적인 설명

이 전략은 두 가지 기술 지표, 볼링거 밴드 및 이동 평균을 결합하여 볼링거 밴드와 가격의 상대적 위치 및 빠르고 느린 이동 평균의 크로스오버 신호를 기반으로 시장 트렌드를 결정하여 적시에 구매 및 판매를 실현합니다. 가격이 볼링거 밴드의 하위 밴드를 뚫을 때 긴 포지션을 열고 상위 밴드를 뚫을 때 짧은 포지션을 열고 동시에 빠른 이동 평균이 느린 이동 평균을 넘을 때 긴 포지션을 열고 아래를 넘을 때 포지션을 닫습니다. 이 전략은 투자자가 시장 트렌드를 파악하고 안정적인 투자 수익을 얻는 데 도움이 될 수 있습니다.

전략 원칙

  1. 볼링거 밴드 (Bollinger Bands) 는 중간 밴드, 상위 밴드, 하위 밴드 등 3개의 라인으로 구성된다. 중간 밴드는 이동 평균이며, 상위와 하위 밴드는 표준 편차의 특정 배수를 더하거나 빼는 중간 밴드이다. 가격이 상위 밴드를 넘어서면 시장이 과소매되어 있으며, 후퇴를 경험할 수 있음을 나타냅니다. 하위 밴드를 넘어서면 시장이 과소매되어 있으며, 리바운드를 경험할 수 있음을 나타냅니다.
  2. 빠른 이동 평균과 느린 이동 평균의 크로스오버는 또한 트렌드를 판단하는 데 일반적으로 사용되는 방법이다. 빠른 이동 평균이 느린 이동 평균을 넘을 때, 시장이 강해질 수 있음을 나타내는 골든 크로스; 빠른 이동 평균이 느린 이동 평균을 넘을 때, 시장이 약해질 수 있음을 나타내는 죽음 크로스로 불린다.
  3. 이 전략은 볼링거 밴드 (Bollinger Bands) 를 사용하여 과반 구매 및 과반 판매 조건을 판단하고, 이동 평균 크로스오버 (crossover) 를 사용하여 트렌드를 판단합니다. 둘의 조합은 비교적 신뢰할 수있는 거래 신호를 형성 할 수 있습니다. 가격이 볼링거 밴드의 하위 밴드를 뚫고 빠른 이동 평균이 느린 이동 평균을 넘을 때, 가격이 상위 밴드를 뚫거나 빠른 이동 평균이 느린 이동 평균을 넘기기 전까지는 오래 걸립니다. 이 시점에서 포지션을 닫습니다.

이점 분석

  1. 볼링거 밴드는 가격 변동의 크기에 따라 적응적으로 조정할 수 있으며 변동성에 더 민감합니다.
  2. 이동평균 시스템은 시장 동향을 효과적으로 추적하고 투자자들이 주요 동향 방향을 파악하는 데 도움을 줄 수 있습니다.
  3. 볼링거 밴드와 이동 평균을 결합하여 거래 시스템을 따르는 브레이크아웃 + 트렌드를 형성하면 거래 빈도와 비용을 효과적으로 줄이고 시스템 안정성을 향상시킬 수 있습니다.
  4. 이 코드는 이동 평균의 종류와 기간과 같은 여러 매개 변수를 설정하며, 다양한 시장 조건에 따라 유연하게 조정할 수 있습니다.

위험 분석

  1. 시장의 변동성이 갑자기 증가하면 볼링거 밴드 채널이 급격히 확장되고 더 많은 스톱 로스가 발생할 수 있습니다.
  2. 이동평균 시스템의 추세 판단은 늦어질 수 있으며, 그 결과 출입 및 출출 시기가 정확하지 않습니다.
  3. 트렌드를 따르는 전략은 일반적으로 범위 제한 시장에서 작동하며 다른 방법과 결합하여 최적화되어야합니다.
  4. 부적절한 매개 변수 설정으로 인해 전략이 실패할 수 있으며 지속적인 최적화와 테스트가 필요합니다.

최적화 방향

  1. 이동평균의 크로스오버를 바탕으로, MACD와 같은 다른 트렌드 지표를 추가하여 트렌드 신호를 추가로 확인 할 수 있습니다.
  2. 볼링거 밴드 브레이크오웃은 ATR와 같은 스톱 로스 지표와 결합하여 드라운드 리스크를 제어할 수 있습니다.
  3. 트렌드 판단을 바탕으로 시장 분산과 패턴 인식과 같은 방법을 추가하여 트렌드 전환점을 더 일찍 판단할 수 있습니다.
  4. 각기 다른 기본 자산과 기간에 대해 적절한 매개 변수 조합을 찾기 위해 매개 변수를 최적화해야 합니다.

요약

볼링거 밴드 및 이동 평균 크로스오버 전략은 볼링거 밴드를 사용하여 과잉 구매 및 과잉 판매 조건을 판단하고 이동 평균 크로스오버를 사용하여 트렌드를 판단하는 고전적인 트렌드 추적 전략으로 시장 트렌드를 효과적으로 파악하고 안정적인 수익을 얻을 수 있습니다. 그러나 실제 응용에서는 유출을 제어하고 매개 변수를 최적화하고 변화하는 시장 환경에 적응하기 위해 다른 방법과 함께 지속적으로 개선하는 데주의를 기울여야합니다.


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

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

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

// Moving average function
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)

// Calculate Bollinger Bands
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plot(basis, "Basis", color=color.blue, offset=offset)
p1 = plot(upper, "Upper", color=color.red, offset=offset)
p2 = plot(lower, "Lower", color=color.green, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))

// Strategy entry and exit conditions
if (ta.crossover(close, lower))
    strategy.entry("Buy", strategy.long)

if (ta.crossunder(close, upper))
    strategy.entry("Sell", strategy.short)


관련

더 많은