Dieser Indikator markiert Punkte, an denen der Preis signifikant von einem zentralen Niveau abweicht.
Einstellungen
Methode: Entfernungsmethode, Optionen sind
Verwendung
Der Indikator ermöglicht es, potenzielle Umkehrpunkte aufzuzeigen, kann aber auch Trends anhand des zentralen Niveaus ermitteln, wobei bei einem Abwärtstrend ein Aufwärtstrend erkannt wird, wenn das zentrale Niveau über seinem vorherigen Wert liegt und umgekehrt.
Wenn ein Aufwärtstrend erkannt wird und der Preis deutlich nach oben abweicht, wird neben der Fibonacci-Sequenz, die als Multiplikator verwendet wird, ein erstes Kontrollzeichen hervorgehoben. Wenn der Preis nach unten abweicht, wird stattdessen ein Kreuz angezeigt, dann wird die Entfernungsschwelle mit dem nächsten Wert in der Fibonacci-Sequenz multipliziert.
Wenn der Preis von der zentralen Ebene abweicht, so dass die Sequenzlänge größer ist als die vom Benutzer eingestellte Sequenzlänge, wird neben einer neuen zentralen Ebene ein Bruchetikett mit einem Wert angezeigt, der durch den aktuellen Schlusskurs bestimmt wird, während der Fibonacci-Multiplikator auf 1 zurückgesetzt wird.
Die oberen und unteren Extremitäten, die aus der zentralen Ebene und dem Schwellenstand hergestellt werden, sind hervorgehoben und können als Stütze und Widerstände verwendet werden.
Zurückprüfung
/*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)