이 전략은 볼링거 밴드 지표에 기반하고 있으며, 5분 시간 프레임에서 빠른 거래를 달성하기 위해 이중 표준편차 필터를 사용합니다. 가격이 하위 밴드 아래로 넘어갈 때 구매하고 상위 밴드 위에 넘어갈 때 판매합니다. 상위 및 하위 밴드는 다른 표준편차로 설정되어 있으며 다른 색으로 표시되어 있으며, 시각적으로 트렌드의 힘을 보여줍니다.
이 전략은 5분 수준에서 트렌드 기회를 빠르게 포착하기에 적합한 트렌드 판단을 향상시키기 위해 이중 계층 필터링으로 볼링거 밴드의 통계적 특성을 사용합니다. 그러나 빈번한 거래와 불충분한 위험 관리 조치와 관련된 문제는 여전히 최적화가 필요합니다. 미래에, 종전 손실 및 수익을 취하기, 매개 변수 최적화 및 보조 판단의 측면에서 개선이 계속 될 수 있으며 전반적인 안정성과 수익성을 향상시킬 수 있습니다.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //This displays the traditional Bollinger Bands, the difference is //that the 1st and 2nd StdDev are outlined with two colors and two //different levels, one for each Standard Deviation strategy("Five Min Scalping Strategy", overlay=true) src = input(close, title="Source") length = input.int(20, minval=1, title="Length") mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier") basis = ta.sma(src, length) dev = ta.stdev(src,length) dev2 = mult * dev upper1 = basis + dev lower1 = basis - dev upper2 = basis + dev2 lower2 = basis - dev2 LongCondition = close[1] < lower1 and close > lower1 ShortCondition = close[1] > upper1 and close < upper1 strategy.entry("Long", strategy.long, when = LongCondition) strategy.entry("Short", strategy.short, when = ShortCondition) strategy.close("Long", when = ShortCondition) strategy.close("Short", when = LongCondition) colorBasis = src >= basis ? color.blue : color.orange pBasis = plot(basis, linewidth=2, color=colorBasis) pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles) pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles) pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles) pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles) fill(pBasis, pUpper2, color=color.new(color.blue, 80)) fill(pUpper1, pUpper2, color=color.new(color.blue, 80)) fill(pBasis, pLower2, color=color.new(color.orange, 80)) fill(pLower1, pLower2, color=color.new(color.orange, 80))