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

볼링거 밴드 표준 오차 파업 전략

저자:차오장, 날짜: 2024-04-30 16:51:34
태그:SMA

img

전반적인 설명

이 전략은 볼링거 밴드 지표에 기초한다. 종료 가격이 상단위권 이상으로 넘어갈 때 긴 포지션에 들어가고 종료 가격이 하단위권 아래로 넘어갈 때 짧은 포지션에 들어간다. 긴 포지션의 출구 조건은 가격이 중단위권 아래로 떨어질 때이며, 짧은 포지션의 출구 조건은 가격이 중단위권 이상으로 넘어갈 때이다. 전략은 입출과 출출의 방향과 타이밍을 결정하기 위해 볼링거 밴드의 상단 및 하단위권에 대한 가격의 위치를 사용합니다.

전략 원칙

  1. 볼링거 밴드의 상단, 중단, 하단 밴드를 계산합니다. 중단은 폐쇄 가격의 간단한 이동 평균이며, 상단과 하단 밴드는 표준편차의 특정 배수를 더하거나 빼는 중단입니다.
  2. 닫기 가격이 상단 범위를 넘으면, 긴 포지션을 입력합니다.
  3. 닫기 가격이 하위 범위를 넘으면, 짧은 포지션을 입력합니다.
  4. 긴 포지션을 보유할 때, 닫기 가격이 중간 범위를 넘어지면 긴 포지션을 닫습니다.
  5. 쇼트 포지션을 보유할 때, 닫기 가격이 중간 범위를 넘어서면 쇼트 포지션을 닫습니다.

전략적 장점

  1. 볼링거 밴드는 가격 변동성 범위와 트렌드 방향을 효과적으로 반영 할 수 있습니다. 입점 및 출구에 대한 볼링거 밴드에 대한 가격의 위치를 사용하여 트렌딩 시장을 캡처 할 수 있습니다.
  2. 상부와 하부 대역과 중부 대역 사이의 거리는 일정 표준편차로 가격 변동의 변화에 적응할 수 있습니다. 표준편차가 클수록 상부와 하부 대역이 중부 대역에서 더 멀리 떨어져 있습니다.
  3. 출구 조건은 상위 또는 하위 밴드의 역단 파기 대신 중간에 있는 밴드를 사용하며, 초기 스톱-러스 및 수익을 취하도록 허용합니다.
  4. 매개 변수는 조절이 가능하여 볼링거 밴드 기간, 표준편차 곱셈 및 다른 매개 변수를 최적화하여 다른 기호 및 시간 프레임에 적응 할 수 있습니다.

전략 위험

  1. 범위에 있는 시장에서, 가격은 상위 및 하위 대역 근처에서 반복적으로 변동할 수 있으며, 잠재적으로 빈번한 진입 및 출입을 유발하여 거래 비용을 증가시킬 수 있습니다.
  2. 가격이 트렌드 움직임에 따라 가속화되면 입점 지점은 상대적으로 뒤쳐지고 트렌드를 따르는 능력이 약해집니다.
  3. 트렌드 반전 초기에는 중간에 있는 갱도를 만지는 리트랙시션이 출시를 유발하여 트렌드가 계속 발전하면 후속 가격 움직임을 놓칠 수 있습니다.

전략 최적화 방향

  1. ATR 또는 다른 스톱-러스 표시기가 마감량을 제어하기 위해 통합될 수 있습니다.
  2. 긴 포지션과 짧은 포지션의 동적 포지션 사이징은 트렌드 강도에 따라 포지션을 유연하게 할당하는 데 사용될 수 있습니다.
  3. 입시 조건에 부피와 가격 지표와 같은 더 많은 필터링 조건을 추가하여 입시 신호의 신뢰성을 향상시킬 수 있습니다.

요약

이 전략은 볼링거 밴드를 사용하여 트렌드 시장을 포착하는 고전적인 트렌드-추천 전략이다. 전략 논리는 명확하고 이점은 분명하지만 특정 위험도 있습니다. 스톱-러스, 수익 취득, 포지션 관리 및 엔트리 필터를 최적화함으로써 전략 성능을 향상시키고 적응력을 향상시킬 수 있습니다. 그러나 모든 전략에는 한계가 있으며 실제 시장 조건과 함께 유연하게 적용되어야합니다.


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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(20, minval=1, title = "Length")
mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

// Strategy
long_condition = ta.crossover(close, upper1)
short_condition = ta.crossunder(close, lower1)

if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Exit conditions
exit_long_condition = ta.crossunder(close, basis)
exit_short_condition = ta.crossover(close, basis)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")


colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

관련

더 많은