Эта стратегия основана на индикаторе полос Боллинджера и использует двойную фильтрацию стандартного отклонения для достижения быстрой торговли в течение 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))