피보트 기반 후속 최대 & 최소

저자:차오장, 날짜: 2022-05-25 18:18:49
태그:피브

이 지표는 후속 최대/최저값과 회전점 높음/낮음 발생 시 평균 재설정을 반환하여 과거 및 현재 지지 및 저항 수준을 강조할 수 있습니다.

설정

길이: 주축의 높은/저한 뷰백을 결정하며, 더 높은 값은 더 긴 기간의 상위와 바닥을 탐지 할 수 있습니다.

사용

스냅샷

이 지표는 지지점과 저항점을 강조할 수 있습니다. 이 지점은 가격이 평균선에서 반등한 지점입니다. 이 지점은 결국 트렌드 라인을 그리는 데 사용될 수 있습니다.

스냅샷

후속 최대/최저 및 그 평균은 가장 최근의 바까지 확장되며, 실제 시간 응용을 허용합니다.

또한, 사용자는 과거 트렌드를 쉽게 분석하고 후속 최대/최저 행동을 관찰함으로써 그 유형을 결정할 수 있습니다. 예를 들어, 후속 최대/최저가 새로운 더 높은 높은/하하 낮은 것을 만들지 않는 경우, 시장의 범위가 나타납니다.

스냅샷

새로운 높은 높은 / 낮은 낮은 빈도는 또한 상승 / 하락 추세가 얼마나했는지 결정하는 데 도움이 될 수 있습니다.

백테스트

img


/*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)

관련

더 많은