이중 채널 탈출 전략

저자:차오장, 날짜: 2024-02-01 14:43:07
태그:

img

이 전략은 거래 신호를 생성하기 위해 볼링거 밴드 (Bollinger Bands) 와 켈트너 채널 (Keltner Channels) 이라는 두 가지 지표의 사용에 따라 명명되었습니다. 이 전략은 채널 경계를 초월한 가격 브레이크를 모니터링하며, 하락 브레이크에서 길고 상승 브레이크에서 짧습니다.

전략 논리

이 전략은 볼링거 밴드 (Bollinger Band) 와 켈트너 채널 (Keltner Channels) 을 결합한다. 볼링거 밴드는 이동 평균선 더하기/미인스 표준편차에서 그려진 적응 채널이다. 켈트너 채널은 채널 너비를 계산하기 위해 진정한 범위를 사용합니다.

거래 논리는 폐쇄 가격이 아래 볼링거 밴드 및 아래 켈트너 채널 아래로 떨어지면 긴 거리로 이동하여 반전을 예상합니다. 폐쇄 가격이 상부 볼링거 및 켈트너 채널 경계 이상으로 상승하면 짧은 거리로 이동합니다. 진입 후 중지 및 수익을 취합니다.

강점

두 개의 채널을 결합함으로써 전략은 비정상적인 가격 변동을 효과적으로 식별합니다. 이중 채널 필터는 잘못된 신호를 피하는 데 도움이됩니다. 중지 및 이익은 또한 위험 통제에 도움이됩니다.

볼링거 밴드 또는 켈트너 채널만을 사용하는 것과 비교하면 이 전략은 더 높은 품질의 신호를 위해 더 많은 소음을 필터합니다. 이중 채널 브레이크오웃은 역전을 캡처하는 것을 목표로 적시에 입력을 허용합니다.

위험 분석

주요 위험은 채널 지표의 지연성입니다. 신호를 유발하는 채널 경계를 달성하기 전에 가격이 반전되기 시작할 수 있습니다. 이는 늦은 입출이나 인기를 끌 수 있습니다.

너무 긴 스톱과 너무 넓은 수익은 다른 위험입니다. 시장 조건에 따라 조정해야합니다.

더 나은 기회

전략은 모멘텀 오시레이터와 같은 보조 필터를 추가하여 최적화 할 수 있습니다. 최적의 조합을 발견하기 위해 매개 변수 조정도 도움이 될 수 있습니다.

적응식 스톱과 수익을 취하는 것은 또 다른 개선 경로이며, 전략이 변화하는 시장에 더 잘 적응하도록 돕습니다.

결론

이 듀얼 채널 브레이크아웃 전략은 볼링거 밴드와 켈트너 채널의 강점을 결합하여 이중 채널 필터와 스톱/트랙 이윤 설정을 통해 위험을 제어하면서 반전 기회를 효과적으로 식별합니다. 그것은 품질, 위험 관리 양적 거래 전략입니다.


/*backtest
start: 2023-01-31 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Estratégia de Compra/Venda BB e KC", overlay=true)

// Parâmetros das Bandas de Bollinger
bollinger_length = input(20, title="Comprimento das Bandas de Bollinger", minval=1)
bollinger_deviation = input(2.0, title="Desvio Padrão das Bandas de Bollinger", minval=0.1)

// Parâmetros dos Canais de Keltner
keltner_length = input(20, title="Comprimento dos Canais de Keltner", minval=1)
atr_multiplier = input(1.5, title="Multiplicador ATR dos Canais de Keltner", minval=0.1)

// Take Profit e Stop Loss em termos financeiros
take_profit = input(10.0, title="Take Profit (em $)", step=1)
stop_loss = input(20.0, title="Stop Loss (em $)", step=1)

// Cálculos das Bandas de Bollinger
basis_bb = sma(close, bollinger_length)
dev_bb = sma(stdev(close, bollinger_length), bollinger_length)
upper_bb = basis_bb + dev_bb * bollinger_deviation
lower_bb = basis_bb - dev_bb * bollinger_deviation

// Cálculos dos Canais de Keltner
basis_kc = sma(close, keltner_length)
atr_kc = sma(atr(keltner_length), keltner_length)
upper_kc = basis_kc + atr_multiplier * atr_kc
lower_kc = basis_kc - atr_multiplier * atr_kc

// Condição de Compra
buy_condition = close < lower_bb and close < lower_kc

// Condição de Venda
sell_condition = close > upper_bb and close > upper_kc

// Estratégia de Compra/Venda com TP e SL
if (buy_condition)
    strategy.entry("Compra", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", profit=take_profit, loss=stop_loss)
if (sell_condition)
    strategy.entry("Venda", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venda", profit=take_profit, loss=stop_loss)

// Plot das Bandas de Bollinger e dos Canais de Keltner
plot(upper_bb, color=color.rgb(47, 33, 243), title="Banda Superior de Bollinger")
plot(lower_bb, color=color.rgb(89, 33, 243), title="Banda Inferior de Bollinger")
plot(upper_kc, color=color.rgb(200, 255, 0), title="Canal Superior de Keltner")
plot(lower_kc, color=color.rgb(225, 255, 0), title="Canal Inferior de Keltner")


더 많은