Este indicador destaca los puntos en los que el precio se desvía significativamente de un nivel central. Esta distancia de desviación se determina por un valor establecido por el usuario o utilizando un múltiplo de un período 200 Atr y se multiplica por valores sucesivos de la secuencia de Fibonacci.
Configuración
Método: método de distancia, las opciones incluyen
Utilización
El indicador permite resaltar posibles puntos de inversión, pero también puede determinar tendencias utilizando el nivel central, detectando una tendencia alcista si el nivel central es superior a su valor anterior y viceversa para una tendencia bajista.
Cuando se detecta una tendencia alcista, y el precio se desvía significativamente hacia arriba de él, se resaltará un primer marcador junto a la secuencia de Fibonacci utilizada como multiplicador, si el precio se desvía hacia abajo, se mostrará una cruz en su lugar, entonces el umbral de distancia se multiplicará por el siguiente valor en la secuencia de Fibonacci.
Si el precio se desvía del nivel central de tal manera que la longitud de la secuencia es mayor que la longitud de la secuencia establecida por el usuario, se mostrará una etiqueta de ruptura junto a un nuevo nivel central con un valor determinado por el precio de cierre actual, mientras que el multiplicador de Fibonacci se restablecerá a 1.
Las extremidades superior e inferior hechas desde el nivel central y la distancia de umbral están resaltadas y pueden usarse como soporte y resistencias.
Prueba posterior
/*backtest start: 2022-04-10 00:00:00 end: 2022-05-07 23:59:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © LuxAlgo //@version=5 indicator("Fibonacci Progression With Breaks [LUX]",overlay=1,max_labels_count=500,max_lines_count=500) method = input.string('Atr',options=['Atr','Manual'],inline='inline1') size = input(1.,'',inline='inline1') max = input(3,'Sequence Length') //---- var fib = array.from(1,1) var dist = 0.,var avg = 0.,var fib_n = 1,var os = 0 src = close n = bar_index if barstate.isfirst for i = 1 to max array.push(fib,array.get(fib,i-1) + array.get(fib,i)) //---- if method == 'Atr' dist := ta.atr(200)*size*array.get(fib,fib_n) else dist := size*array.get(fib,fib_n) fib_n := math.abs(src-avg) > dist ? fib_n+1 : fib_n avg := nz(fib_n > max+1 ? src : avg[1],src) fib_n := fib_n > max+1 ? 1 : fib_n buy = avg > avg[1] sell = avg < avg[1] os := buy ? 1 : sell ? 0 : os tp = avg != avg[1] ? na : os == 1 ? avg + dist : avg - dist sl = avg != avg[1] ? na : os == 0 ? avg + dist : avg - dist //---- css = os == 1 ? #0cb51a : #ff1100 plot0 = plot(src,color=na) plot1 = plot(avg,color=na) fill(plot0,plot1,color.new(css,80)) //---- plotshape(buy ? low : na,"Buy Label",shape.labelup,location.absolute,#0cb51a,0,text="B",textcolor=color.white,size=size.tiny) plotshape(sell ? high : na,"Sell Label",shape.labeldown,location.absolute,#ff1100,0,text="S",textcolor=color.white,size=size.tiny) plot(tp,'Target',#0cb51a,1,plot.style_linebr) plot(sl,'Stop',#ff1100,1,plot.style_linebr) if buy strategy.entry("Enter Long", strategy.long) else if sell strategy.entry("Enter Short", strategy.short)