Indikator ini menyoroti titik-titik di mana harga menyimpang secara signifikan dari tingkat pusat. Jarak penyimpangan ini ditentukan oleh nilai yang ditetapkan pengguna atau menggunakan kelipatan periode 200 Atr dan dikalikan dengan nilai berturut-turut dari urutan Fibonacci.
Pengaturan
Metode: Metode jarak, pilihan termasuk
Penggunaan
Indikator ini memungkinkan untuk menyoroti titik pembalikan potensial, tetapi juga dapat menentukan tren menggunakan tingkat pusat, dengan tren naik terdeteksi jika tingkat pusat lebih tinggi dari nilai sebelumnya dan sebaliknya untuk tren menurun.
Ketika tren naik terdeteksi, dan harga menyimpang secara signifikan ke atas dari itu tanda centang pertama akan disorot di samping urutan Fibonacci yang digunakan sebagai pengganda, jika harga menyimpang ke bawah, salib akan ditampilkan sebagai gantinya, maka ambang jarak akan dikalikan dengan nilai berikutnya dalam urutan Fibonacci.
Jika harga menyimpang dari tingkat pusat sehingga panjang urutan lebih besar dari panjang urutan yang ditetapkan pengguna, label istirahat akan ditampilkan di samping tingkat pusat baru dengan nilai yang ditentukan oleh harga penutupan saat ini, sementara pengganda Fibonacci akan diatur kembali menjadi 1.
Ekstrim atas dan bawah yang dibuat dari tingkat pusat dan jarak ambang ditandai dan dapat digunakan sebagai dukungan dan resistensi.
backtest
/*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)