BB 켈트너 스 트레이딩 전략

저자:차오장, 날짜: 2023-09-25 17:38:08
태그:

전반적인 설명

BB 켈트너 압축 거래 전략은 볼링거 밴드와 켈트너 채널 사이의 압축을 찾아 트렌드 반전을 식별합니다. 이것은 단기 거래 전략입니다. 전략은 볼링거 밴드를 기본 지표로 사용하고 켈트너 채널을 사용하여 신호를 확인합니다. 가격이 볼링거 밴드에서 벗어날 때 켈트너 채널을 압축하면 트렌드 반전이 나타납니다.

전략 원칙

이 전략의 핵심 원칙은 다음과 같습니다.

  1. 볼링거 밴드 (Bollinger Band) 는 가격 변동성을 측정합니다. 가격이 변동 상태인지 확인하기 위해 상위, 중위 및 하위 밴드를 가지고 있습니다.

  2. 켈트너 채널은 볼링거 신호를 검증합니다. 켈트너 채널은 또한 가격 변동성을 측정합니다. 가격이 볼링거 밴드에 가까워지면 켈트너와 압축하면 변동성이 증가하고 역전 가능성이 있음을 의미합니다.

  3. 무역 신호는 압축에 기초하여 생성됩니다. 볼링거 상단 위의 브레이크와 그 아래의 켈트너 신호가 좁아집니다. 볼링거 하단 아래의 브레이크와 그 위의 켈트너 신호가 좁아집니다.

  4. 중간 지대는 트렌드 방향을 나타냅니다. 중간 지대 위의 가격은 상승 추세를 나타내고 아래는 하락 추세를 나타냅니다.

  5. 입구와 출구는 중간 대역 방향에 기반합니다. 중간 대역 방향 확인 신호로 압축에 긴 / 짧은; 방향 전환 경우 평평합니다.

이 전략은 반전 지점을 식별하기 위해 볼링거 밴드를 켈트너 채널과 보완합니다. 평균 반전 거래 전략을 예시합니다.

장점

이 전략의 주요 장점은 다음과 같습니다.

  1. 두 개의 표시기를 결합하면 신호 신뢰성이 향상되며 단일 표시기에서 잘못된 끊기를 피합니다.

  2. 중간 밴드를 사용하여 트렌드를 명확하게 식별합니다. 직관적으로 실시간 트렌드를 추적합니다.

  3. 중부 대역 일치에 기반한 유연한 입출입 로직. 트렌드 상거래를 피합니다.

  4. 단기 거래에 적합합니다. 빠른 수익을 위해 단기 브레이크와 압축을 포착합니다.

  5. 직관적인 시각은 압축, 중간 대역, MACD 히스토그램 등을 강조합니다. 깨끗한 그래픽 표현.

  6. 구현하고 복제하기 쉽습니다. 간단한 논리와 구성 가능한 매개 변수는 채택을 쉽게 만듭니다.

위험성

고려해야 할 주요 위험은 다음과 같습니다.

  1. 연장된 움직임으로 인한 마감 위험. 압축은 강한 트렌드 중에 일련의 손실 트레이드를 유발할 수 있습니다.

  2. 실패한 파업 위험 초기 볼링거 파업은 단기적인 가짜일 수 있습니다.

  3. 매개 변수 최적화 위험. 밴드 및 채널의 부적절한 조정은 성능을 저하시킬 수 있습니다. 엄격한 테스트가 필요합니다.

  4. 황소 시장 위험. 장기 상승 추세로 인해 과도한 쇼트. 황소 경기에 적용하는 것을 피하십시오.

  5. 높은 주파수 거래 위험. 단기적 성격은 수수료 및 미끄러짐으로 인한 비용을 증가시킬 수 있습니다.

  6. 표시기 고장 위험 극한 조건에서 신호가 작동하지 않을 수 있습니다.

위험은 스톱 손실, 포지션 사이즈, 매개 변수 조정 및 강력한 재난 계획으로 적극적인 관리가 필요합니다.

더 나은 기회

전략을 개선 할 수있는 몇 가지 방법은 다음과 같습니다.

  1. 신호를 강화하기 위해 추가 지표를 포함하여 승률을 향상시킵니다.

  2. 손실을 제한하기 위해 트레일링 스톱이나 ATR 스톱과 같은 스톱 손실 메커니즘을 추가합니다.

  3. 엄격한 테스트를 통해 대역과 채널의 매개 변수를 최적화합니다.

  4. 시장 조건과 트렌드 강도에 따라 포지션 크기를 조정합니다.

  5. 매개 변수 최적화, 신호 강화 및 적응을 위해 기계 학습을 적용합니다.

  6. 황소와 곰을 구별합니다. 강한 방향 편향 중 역동 트렌드 거래를 줄이십시오.

  7. 부피와 운동량 표시기를 추가하여 신호 다양성을 증진시킵니다.

지속적인 개선으로 전략은 다양한 시장에서 견고하고 일관된 단기 거래 시스템이 될 수 있습니다.

결론

BB 켈트너 압축 전략은 볼링거 밴드와 켈트너 채널 사이의 압축을 통해 가격 반전을 활용합니다. 높은 확률 신호를위한 이중 지표를 결합하고, 트렌드 방향을 측정하기 위해 중간 밴드를 사용하고, 압축을 통해 임박한 반전을 식별합니다. 전략은 빈번한 기회를 찾는 단기 거래자에게 적합합니다. 그러나 마감 제어 및 매개 변수 조정이 필수적입니다. 지속적인 향상으로 지속 가능한 단기 거래 전략이 될 가능성이 있습니다.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD')
length = input(title="Length", type=input.integer, defval=20, minval=0)
src = input(close, title="Source")
bband(length, mult) =>
    sma(close, length) + mult * stdev(close, length)
keltner(length, mult) =>
    ema(close, length) + mult * ema(tr, length)


//BB
B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev")
B2basis = sma(src, length)
B2dev = B2mult * stdev(src, length)
B2upper = B2basis + B2dev
B2lower = B2basis - B2dev
plot(B2basis, color=color.blue)
p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper")
p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower")

//Keltner
useTrueRange = input(true)
Kmult = input(1.5, title="Keltner Range")
Kma = ema(src, length)
Krange = useTrueRange ? tr : high - low
Krangema = ema(Krange, length)
Kupper = Kma + Krangema * Kmult
Klower = Kma - Krangema * Kmult
p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper")
p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower")


e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length)
osc = linreg(close - e1 / 2, length, 0)
diff = bband(length, 2) - keltner(length, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : 
   osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? color.green : color.red
fromYear = year > 2014
toYear = year < 2016


direction = 0
squeeze = Kupper > B2upper
midc = 0
midc := squeeze ? 0 : close > B2basis ? 1 : 2
midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000
direction := midc[1]

plot(B2basis, color=midcolor, linewidth=4, title="BB Mid")
bgcolor(midc == 0 ? #333333 : #000000, transp=75)

if direction == 0
    if midc[1] == 0 and midc == 1
        strategy.entry("LONG", strategy.long)
        direction := 1
    else if midc[1] == 0 and midc == 2
        strategy.entry("SHORT", strategy.short)
        direction := 2
else if direction != midc
    strategy.close_all()
    direction := 0








더 많은