Este es un derivado del indicador de volatilidad
Las cruces negras en la línea media muestran que el mercado acaba de entrar en una compresión (las bandas de Bollinger están en el canal de Keltner). Esto significa baja volatilidad, el mercado se prepara para un movimiento explosivo (hacia arriba o hacia abajo). Las cruces grises significan
El Sr. Carter sugiere esperar hasta el primer gris después de una cruz negra, y tomar una posición en la dirección del impulso (por ejemplo, si el valor del impulso está por encima de cero, ir largo). Salir de la posición cuando el impulso cambia (aumento o disminución
Las pruebas
/*backtest start: 2021-05-05 00:00:00 end: 2022-05-04 23:59:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}] */ // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false) length = input(20, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(14, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)",defval=true) // Calculate BB source = close basis = ta.sma(source, length) dev = multKC * ta.stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = ta.sma(source, lengthKC) range = useTrueRange ? ta.tr : (high - low) rangema = ta.sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = ta.linreg(source - math.avg(math.avg(ta.highest(high, lengthKC), ta.lowest(low, lengthKC)),ta.sma(close,lengthKC)), lengthKC,0) bcolor = iff( val > 0, iff( val > nz(val[1]), color.lime, color.green), iff( val < nz(val[1]), color.red, color.maroon)) scolor = noSqz ? color.blue : sqzOn ? color.black : color.gray plot(val, color=bcolor, style=plot.style_histogram, linewidth=4) plot(0, color=scolor, style=plot.style_cross, linewidth=2) if val >0 and val < nz(val[1]) strategy.entry("entry short", strategy.short) else if val <0 and val > nz(val[1]) strategy.entry("entry long", strategy.long)