이 전략은 볼링거 밴드 지표에 기반하여 상위, 하위 및 중위 볼링거 밴드에 대한 가격 움직임을 분석하여 최적의 구매 및 판매 기회를 식별합니다. 전략은 모든 시장 방향에서 수익을 창출 할 수 있도록 장기 및 단위 포지션을 지능적으로 관리합니다. 전략 매개 변수는 다른 위험 관용과 시장 접근 방식을 수용하도록 사용자 정의 할 수 있습니다. 전략은 차트에 명확한 시각적 지표와 구매 및 판매 신호에 대한 실시간 알림을 제공합니다.
볼링거 밴드 전략은 볼링거 밴드에 대한 가격 움직임에 기초하여 정확한 거래 신호를 생성하는 강력한 프레임워크를 제공합니다. 장기 및 단기 위치 관리, 사용자 정의 가능한 매개 변수 및 직관적인 시각 및 알림 기능을 통합함으로써 전략은 거래자가 다양한 시장 조건에서 기회를 자신있게 잡을 수 있도록합니다. 전략이 잘 수행되는 동안 추가 지표, 동적 변동성 계산, 강력한 위험 관리 기술 및 시장 상태에 기반한 적응적 위치 사이징을 통합하는 등 최적화 할 여지가 있습니다. 지속적인 정제 및 조정으로 볼링거 밴드는 동적인 시장을 탐색하고 수익을 극대화하는 데 도움이되는 모든 거래자의 도구 박스에 귀중한 전략 추가가 될 수 있습니다.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy with Long and Short", overlay=true) // Bollinger Bands settings length = input.int(20, title="BB Length") src = input(close, title="Source") mult = input.float(2.0, title="BB Multiplier") // Calculate Bollinger Bands basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, color=color.blue, linewidth=1, title="Basis") p1 = plot(upper, color=color.red, linewidth=1, title="Upper Band") p2 = plot(lower, color=color.green, linewidth=1, title="Lower Band") fill(p1, p2, color=color.rgb(173, 216, 230, 90)) // Long Buy and Sell conditions buyConditionLower = ta.crossover(src, lower) sellConditionUpper = ta.crossunder(src, upper) buyConditionBasis = ta.crossover(src, basis) sellConditionBasis = ta.crossunder(src, basis) // Combine long conditions buyCondition = buyConditionLower or buyConditionBasis sellCondition = sellConditionUpper or sellConditionBasis // Short Sell and Buy conditions shortConditionUpper = ta.crossunder(src, upper) coverConditionLower = ta.crossover(src, lower) shortConditionBasis = ta.crossunder(src, basis) coverConditionBasis = ta.crossover(src, basis) // Combine short conditions shortCondition = shortConditionUpper or shortConditionBasis coverCondition = coverConditionLower or coverConditionBasis // Execute strategy orders for long if (buyCondition) strategy.entry("Long", strategy.long) if (sellCondition) strategy.close("Long") // Execute strategy orders for short if (shortCondition) strategy.entry("Short", strategy.short) if (coverCondition) strategy.close("Short") // Plot Buy and Sell signals for long plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="Buy Signal") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="Sell Signal") // Plot Sell and Cover signals for short plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT", title="Short Signal") plotshape(series=coverCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="COVER", title="Cover Signal") // Alert conditions for long alertcondition(buyCondition, title="Buy Alert", message="Price crossed above the lower Bollinger Band or Basis") alertcondition(sellCondition, title="Sell Alert", message="Price crossed below the upper Bollinger Band or Basis") // Alert conditions for short alertcondition(shortCondition, title="Short Alert", message="Price crossed below the upper Bollinger Band or Basis") alertcondition(coverCondition, title="Cover Alert", message="Price crossed above the lower Bollinger Band or Basis")