이 전략은 두 가지 기술 지표, 볼링거 밴드 및 이동 평균을 결합하여 볼링거 밴드와 가격의 상대적 위치 및 빠르고 느린 이동 평균의 크로스오버 신호를 기반으로 시장 트렌드를 결정하여 적시에 구매 및 판매를 실현합니다. 가격이 볼링거 밴드의 하위 밴드를 뚫을 때 긴 포지션을 열고 상위 밴드를 뚫을 때 짧은 포지션을 열고 동시에 빠른 이동 평균이 느린 이동 평균을 넘을 때 긴 포지션을 열고 아래를 넘을 때 포지션을 닫습니다. 이 전략은 투자자가 시장 트렌드를 파악하고 안정적인 투자 수익을 얻는 데 도움이 될 수 있습니다.
볼링거 밴드 및 이동 평균 크로스오버 전략은 볼링거 밴드를 사용하여 과잉 구매 및 과잉 판매 조건을 판단하고 이동 평균 크로스오버를 사용하여 트렌드를 판단하는 고전적인 트렌드 추적 전략으로 시장 트렌드를 효과적으로 파악하고 안정적인 수익을 얻을 수 있습니다. 그러나 실제 응용에서는 유출을 제어하고 매개 변수를 최적화하고 변화하는 시장 환경에 적응하기 위해 다른 방법과 함께 지속적으로 개선하는 데주의를 기울여야합니다.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(shorttitle="BB Strategy", title="Bollinger Bands Strategy", overlay=true) // Input parameters length = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") offset = input.int(0, "Offset", minval=-500, maxval=500) // Moving average function ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Calculate Bollinger Bands basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, "Basis", color=color.blue, offset=offset) p1 = plot(upper, "Upper", color=color.red, offset=offset) p2 = plot(lower, "Lower", color=color.green, offset=offset) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95)) // Strategy entry and exit conditions if (ta.crossover(close, lower)) strategy.entry("Buy", strategy.long) if (ta.crossunder(close, upper)) strategy.entry("Sell", strategy.short)