xmd79

Quantitative Qualitative Estimation

Nov 10th, 2021
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 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. // © KivancOzbilgic
  3.  
  4. //@version=5
  5. indicator('Quantitative Qualitative Estimation', shorttitle='QQE', precision=4, timeframe='')
  6. src = input(close)
  7. length = input.int(14, 'RSI Length', minval=1)
  8. SSF = input.int(5, 'SF RSI SMoothing Factor', minval=1)
  9. showsignals = input(title='Show Crossing Signals?', defval=true)
  10. highlighting = input(title='Highlighter On/Off ?', defval=true)
  11. RSII = ta.ema(ta.rsi(src, length), SSF)
  12. TR = math.abs(RSII - RSII[1])
  13. wwalpha = 1 / length
  14. WWMA = 0.0
  15. WWMA := wwalpha * TR + (1 - wwalpha) * nz(WWMA[1])
  16. ATRRSI = 0.0
  17. ATRRSI := wwalpha * WWMA + (1 - wwalpha) * nz(ATRRSI[1])
  18. QQEF = ta.ema(ta.rsi(src, length), SSF)
  19. QUP = QQEF + ATRRSI * 4.236
  20. QDN = QQEF - ATRRSI * 4.236
  21. QQES = 0.0
  22. QQES := QUP < nz(QQES[1]) ? QUP : QQEF > nz(QQES[1]) and QQEF[1] < nz(QQES[1]) ? QDN : QDN > nz(QQES[1]) ? QDN : QQEF < nz(QQES[1]) and QQEF[1] > nz(QQES[1]) ? QUP : nz(QQES[1])
  23. QQF = plot(QQEF, 'FAST', color.new(color.maroon, 0), 2)
  24. QQS = plot(QQES, 'SLOW', color=color.new(color.blue, 0), linewidth=1)
  25. plot(50, color=color.new(color.gray, 0), style=plot.style_circles)
  26. longFillColor = highlighting ? QQEF > QQES ? color.green : na : na
  27. shortFillColor = highlighting ? QQEF < QQES ? color.red : na : na
  28. fill(QQF, QQS, title='UpTrend Highligter', color=longFillColor, transp=90)
  29. fill(QQF, QQS, title='DownTrend Highligter', color=shortFillColor, transp=90)
  30. buySignalr = ta.crossover(QQEF, QQES)
  31. plotshape(buySignalr and showsignals ? QQES * 0.995 : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
  32. sellSignallr = ta.crossunder(QQEF, QQES)
  33. plotshape(sellSignallr and showsignals ? QQES * 1.005 : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
  34. alertcondition(ta.cross(QQEF, QQES), title='Cross Alert', message='QQE Crossing Signal!')
  35. alertcondition(ta.crossover(QQEF, QQES), title='Crossover Alarm', message='QQE BUY SIGNAL!')
  36. alertcondition(ta.crossunder(QQEF, QQES), title='Crossunder Alarm', message='QQE SELL SIGNAL!')
  37. alertcondition(ta.crossover(QQEF, 50), title='Cross 50 Up Alert', message='QQE FAST Crossing 50 UP!')
  38. alertcondition(ta.crossunder(QQEF, 50), title='Cross 50 Down Alert', message='QQE FAST Crossing 50 DOWN!')
  39.  
  40.  
Advertisement
Add Comment
Please, Sign In to add comment