이 전략은 볼링거 밴드의 상단, 중단 및 하단 밴드를 계산하고 K- 라인의 폐쇄 가격을 결합하여 볼링거 밴드의 브레이크아웃 거래 전략을 구현합니다. 가격이 상단으로 넘어가면 길고 가격이 하단으로 넘어가면 짧습니다. 스톱 손실 및 영업 가격도 설정됩니다.
가격 트렌드의 중간 범위를 나타내는 기간 60의 볼링거 밴드의 중간 밴드 SMA를 계산합니다.
볼링거 밴드의 상단 및 하단 밴드를 계산하십시오. 상단은 중간 밴드 + 2 번 표준 편차와 하단 밴드는 중간 밴드 - 2 번 표준 편차입니다. 대역 폭은 곱셈자에 의해 제어됩니다.
마감값이 상위권보다 높을 때, 롱가, 마감값이 하위권보다 낮을 때, 쇼트가 됩니다.
스톱 로스 및 취리 메커니즘을 설정합니다. 스톱 로스 비율은 1.5%이고 취리 비율은 6%입니다.
가격이 볼링거 밴드 (Bollinger Bands) 에 다시 진입하거나 스톱 로스 (stop loss) / 노프스 (take profit) 가격에 도달하면 포지션을 닫습니다.
볼링거 밴드 지표는 브레이크오웃을 통해 트렌드 판단을 할 수 있습니다.
간단한 전략 논리, 이해하기 쉽고 실행하기 쉽습니다.
손실을 멈추고 수익 통제 위험을 감수하십시오.
볼링거 밴드 브레이크오웃은 가격 트렌드 반전 지점을 정확하게 결정할 수 없으며 잘못된 브레이크오웃의 위험이 있습니다.
부적절한 스톱 로스 및 수익 취득 설정은 더 큰 위험을 초래할 수 있습니다.
높은 거래 빈도는 거래 비용에 영향을 받을 수 있습니다.
다른 지표와 결합하여 잘못된 신호를 필터링합니다. 예를 들어, 트렌드를위한 KDJ 및 오차를위한 MACD.
합리적인 대역 폭을 계산하기 위해 시장 변동성에 따라 볼링거 대역 매개 변수를 동적으로 조정합니다.
스톱 로스 및 수익 전략 최적화, 예를 들어 후속 스톱 또는 부분 폐쇄.
트랜잭션 비용
이 전략은 볼링거 밴드 브레이크오웃의 트렌드를 따르고 있으며 몇 가지 긍정적 인 효과를 가지고 있습니다. 그러나 잘못된 브레이크오웃은 더 큰 위험을 초래할 수 있습니다. 다른 지표와 결합하고 매개 변수를 최적화하면 위험을 제어하고 수익성을 향상시킬 수 있습니다.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fuera Bolinga", overlay=true) length = input.int(60, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) take_profit_percentage = 6.0 basis = ta.sma(close, length) dev = mult * ta.stdev(close, length) upper = basis + dev lower = basis - dev stop_loss_percentage = 1.5 // Determinar si la vela cierra por fuera de las bandas above_upper_band = close > upper under_lower_band = close < lower // Pintar las velas que cierran por fuera de las bandas barcolor(above_upper_band ? color.new(#2cee32, 0) : na) barcolor(under_lower_band ? color.new(#e02c2c, 0) : na) // Entrada larga con stop loss y take profit if (ta.crossover(close, upper)) strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") // Entrada corta con stop loss y take profit if (ta.crossunder(close, lower)) strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",comment="BBandSE") else strategy.cancel(id="BBandSE") //// Salida de operación larga if ((ta.crossunder(close, upper) or ta.crossunder(close, lower)) and (strategy.opentrades != 0)) strategy.close("BBandLE") // Salida de operación corta if ((ta.crossover(close, lower) or ta.crossover(close, upper)) and (strategy.opentrades != 0)) strategy.close("BBandSE") // Plot de las bandas de Bollinger plot(upper, color=color.new(#2cee32, 0), title="Upper Bollinger Band") plot(lower, color=color.new(#e02c2c, 0), title="Lower Bollinger Band")