Advertisement
xmd79

LNL Keltner Candles

Jan 29th, 2023
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
  2. //
  3. // @version=5
  4. //
  5. // LNL Keltner Candles with Reversals
  6. //
  7. // Mean reversion reversal candles with custom painted candles based on the price touch or close above or below keltner channel limits (upper & lower bands).
  8. //
  9. // Can serve as an additional indicator or as the mean reversion tool.
  10. //
  11. // Created by L&L Capital
  12. //
  13.  
  14. indicator("LNL Keltner Candles", shorttitle = "Keltner Candles", overlay=true)
  15.  
  16. // Inputs
  17.  
  18. length = input(defval=13, title="Length")
  19. factor = input(defval=1.5, title="ATR Factor")
  20. pricetypeUpper = input(high, title="Price Type Upper")
  21. pricetypeLower = input(low, title="Price Type Lower")
  22.  
  23. // Keltner Channels Calculations
  24.  
  25. shift = factor * ta.atr(length)
  26. average = ta.ema(close,length)
  27. upperband = average + shift
  28. lowerband = average - shift
  29. upperlimit = pricetypeUpper > upperband
  30. lowerlimit = pricetypeLower < lowerband
  31.  
  32. // Mean Reversion Arrows Calculations
  33.  
  34. UpBar = close > open
  35. DnBar = close < open
  36. AvgRange = 0.05 * math.avg(high - low, 20)
  37.  
  38. // Keltner Channels Plots & Colors
  39.  
  40. [middle, upper, lower] = ta.kc(close, length, factor)
  41. plot(middle, color=color.new(#1848cc,0),title="Avg",display = display.none)
  42. plot(upper, color=color.new(#1848cc,0),title="Upper Band",display = display.none)
  43. plot(lower, color=color.new(#1848cc,0),title="Lower Band",display = display.none)
  44.  
  45. bar_color = upperlimit ? color.new(#ff0000,0) : lowerlimit ? color.new(#27c22e,0) : color.new(color.white,0)
  46. barcolor(color=bar_color)
  47.  
  48. // Reversal Arrows Plots & Colors
  49.  
  50. SignalUp = DnBar[3] and DnBar[2] and DnBar[1] and UpBar[0] and close[3] >= close[2] and low[1] > open[0] and close[2] >= close[1] and low <= lowerband
  51. plotshape(SignalUp,title='Reversal Up',style=shape.triangleup,location=location.belowbar,color=(color.purple),size=size.tiny)
  52.  
  53. SignalDown = UpBar[3] and UpBar[2] and UpBar[1] and DnBar[0] and close[3] <= close[2] and low[1] < open[0] and close[2] <= close[1] and high >= upperband
  54. plotshape(SignalDown,title='Reversal Down',style=shape.triangledown,location=location.abovebar,color=(color.purple),size=size.tiny)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement