Trend Filter
Trend Filter
BC = (h + l) / 2
TC = (p - BC) + p
// medium period
mh = ta.highest(mediumPeriod)
ml = ta.lowest(mediumPeriod)
mp = (mh+ml+close)/3
// long period
lh = ta.highest(longPeriod)
ll = ta.lowest(longPeriod)
lp = (h+l+close)/3
src = close
len = input.int(21, minval=1, title='Long Length')
flen = input.int(3, minval=1, title='Fast Length')
//One bar has 5 period:
//Only Open--Close has changed volume
xobv = ta.cum(math.sign(ta.change(src)) * volume * math.abs(close - open) / (2 *
(high - low) - math.abs(close - open)))
// Draw cloud
// plot(conversionLine, color=#2962FF, title="Conversion Line",
display=display.none)
// plot(baseLine, color=#B71C1C, title="Base Line", display=display.none)
// Draw baseline
// plot(baseLineSaved, color=color.purple, style=plot.style_linebr, title="Base
Line Saved")
// // Draw mediumline
plot(showMediumTrend?mbaseLineSaved:na, color=color.black, style=plot.style_linebr,
title="mp")
plot(showMediumTrend?mBC:na, color=color.green, style=plot.style_linebr,
title="mbc")
plot(showMediumTrend?mTC:na, color=color.red, style=plot.style_linebr, title="mtc")
// // Draw longline
plot(showLongTrend?lbaseLineSaved:na, color=color.blue, style=plot.style_linebr,
title="lp")
plot(showLongTrend?lBC:na, color=color.green, style=plot.style_linebr, title="lbc")
plot(showLongTrend?lTC:na, color=color.red, style=plot.style_linebr, title="ltc")
// Draw condition
bgcolor(showLong and priceTradingAboveBL ? color.new(color.green,80) : na)
bgcolor(showLong and priceTradingBelowBL ? color.new(color.red,80) : na)
// Track candle pattern tests of baseline (example purposes - needs more conditions
to be actually useful!)
candlePatternBull = priceTradingAboveBL and priceTradingAboveBL[1] and low[1] <
baseLineSaved and close > baseLineSaved
candlePatternBear = priceTradingBelowBL and priceTradingBelowBL[1] and high[1] >
baseLineSaved and close < baseLineSaved
plotshape(candlePatternBull, style=shape.triangleup, color=color.green,
location=location.belowbar)
plotshape(candlePatternBear, style=shape.triangledown, color=color.red)