
La estrategia se basa en el indicador de la banda de Brin, se filtra a través de dos capas de diferencia estándar, y se realiza una negociación rápida en un marco de tiempo de 5 minutos. Se compra cuando el precio cae hacia abajo y se vende cuando se rompe hacia arriba. Las subidas y bajadas se establecen con diferentes diferencias estándar y se utilizan diferentes símbolos de color para mostrar intuitivamente la fuerza y la debilidad de la tendencia.
La estrategia aprovecha las características estadísticas de la banda de Brin, los filtros de doble capa para mejorar el juicio de tendencias, y es adecuada para capturar rápidamente las oportunidades de tendencias a nivel de 5 minutos. Sin embargo, los problemas de la frecuencia de las operaciones y la falta de medidas de control del viento aún necesitan ser optimizados.
/*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))