Indikator ini mengembalikan maksimum/minimum yang tertinggal dan purata penyesuaian semula mereka pada kejadian titik pivot tinggi/rendah, sehingga membolehkan pencahayaan tahap sokongan dan rintangan masa lalu dan semasa.
Tetapan
Panjang: Menentukan pandangan tinggi / rendah pivot, dengan nilai yang lebih tinggi yang membolehkan mengesan puncak dan bawah jangka panjang.
Penggunaan
gambar ringkas
Indikator ini boleh menonjolkan titik sokongan dan rintangan - ini adalah titik di mana harga melompat dari garis purata.
gambar ringkas
Maksimum/minimum belakang dan purata mereka meluas ke bar yang paling baru, yang membolehkan aplikasi masa nyata penunjuk.
Di samping itu, pengguna boleh dengan mudah menganalisis trend masa lalu dan menentukan jenisnya dengan memerhatikan tingkah laku maksimum / minimum.
gambar ringkas
Kekerapan tinggi baru yang lebih tinggi/rendah yang lebih rendah juga dapat membantu menentukan bagaimana tren menaik / menurun.
Ujian belakang
/*backtest start: 2022-02-24 00:00:00 end: 2022-05-23 23:59:00 period: 1d basePeriod: 1h 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("Pivot Based Trailing Maxima & Minima [LUX]",overlay=true,max_bars_back=500,max_lines_count=500) length = input.int(14,minval=2,maxval=500) max_color = input.color(color.teal,'Trailing Maximum Color',group='Style') min_color = input.color(color.red,'Trailing Minimum Color',group='Style') avg_color = input.color(#ff5d00,'Trailing Maximum Color',group='Style') bull_fill = input.color(color.new(color.teal,80),'Uptrend Area',group='Style') bear_fill = input.color(color.new(color.red,80),'Downtrend Area',group='Style') //---- var max = 0. var min = 0. ph = ta.pivothigh(length,length) pl = ta.pivotlow(length,length) if ph or pl max := high[length] min := low[length] max := math.max(high[length],max) min := math.min(low[length],min) avg = math.avg(max,min) //---- plot1 = plot(max,'Trailing Maximum',ph or pl ? na : max_color,1,plot.style_linebr,offset=-length) plot2 = plot(min,'Trailing Minimum',ph or pl ? na : min_color,1,plot.style_linebr,offset=-length) fill_css = fixnan(ph ? bear_fill : pl ? bull_fill : na) fill(plot1,plot2,ph or pl ? na : fill_css) plot(avg,'Average',ph or pl ? na : avg_color,1,plot.style_linebr,offset=-length) plotshape(pl ? pl : na,"Pivot High",shape.labelup,location.absolute,max_color,-length,text="▲",textcolor=color.white,size=size.tiny) plotshape(ph ? ph : na,"Pivot Low",shape.labeldown,location.absolute,min_color,-length,text="▼",textcolor=color.white,size=size.tiny) // //---- // n = bar_index // max_prev = max // min_prev = min // avg_prev = avg // max2 = max // min2 = min // if barstate.islast // for line_object in line.all // line.delete(line_object) // for i = 0 to length-1 // max2 := math.max(high[length-1-i],max_prev) // min2 := math.min(low[length-1-i],min_prev) // avg2 = math.avg(max2,min2) // line1 = line.new(n-(length-i),max_prev,n-(length-1-i),max2,color=max_color) // line2 = line.new(n-(length-i),min_prev,n-(length-1-i),min2,color=min_color) // linefill.new(line1,line2,color.new(fill_css,80)) // line.new(n-(length-i),avg_prev,n-(length-1-i),avg2,color=avg_color) // max_prev := max2 // min_prev := min2 // avg_prev := avg2 if pl strategy.entry("Enter Long", strategy.long) else if ph strategy.entry("Enter Short", strategy.short)