Advertisement
Guest User

extreme range tradingview script

a guest
Jan 12th, 2014
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //by quakefiend
  2. //this script takes values from bollinger bands, keltner channels, and RSI to add buy and
  3. //sell signals to the chart. its basically an extreme oversold/overbought indicator that combines
  4. //multiple indicators to signal long/short opportunities. It also helps to see actual swing
  5. //lows and highs, as opposed to signalling in the middle of the trend like say a MA crossover.
  6. //be wary of signals in high volatility; it may be better to use other signals to enter the trade
  7. //and use these signals as an exit (e.g. long signal would become a signal to cover your
  8. //short position)
  9. //
  10. //if you like it, consider a small BTC donation: 13kPjJkstrGtH9nk1ZZZPfvWR8YxpFFEzB
  11. //if you hate it, email me at nuklear@gmail.com and tell me what I did wrong =)
  12.  
  13. study(title = "Extreme Range", shorttitle="XR",overlay=true)
  14.  
  15. //reusable vars
  16. source = close
  17.  
  18. //get bollinger band values
  19. bollength = input(defval=20,title="bollinger length",type=integer, minval=1,maxval=300)
  20. mult = input(defval=2.5,title="bollinger std dev",type=float, minval=0.1, maxval=50)
  21. basis = sma(source, bollength)
  22. dev = mult * stdev(source, bollength)
  23. bolupper = basis + dev
  24. bollower = basis - dev
  25.  
  26. //get keltner channel values
  27. useTrueRange = input(true)
  28. keltlength = input(defval=20,title="keltner length",type=integer, minval=1,maxval=300)
  29. keltmult = input(defval=2.5,title="keltner multiplier",type=float,minval=.1,maxval=50)
  30. ma = ema(source, keltlength)
  31. keltrange = useTrueRange ? tr : high - low
  32. keltrangema = ema(keltrange, keltlength)
  33. keltupper = ma + keltrangema * keltmult
  34. keltlower = ma - keltrangema * keltmult
  35.  
  36. //get RSI value
  37. rsilength = input(defval=13,title="RSI length",type=integer,minval=1,maxval=300)
  38. rsival = rsi(source,rsilength)
  39.  
  40. //plot long signals
  41. longplot = lowest(1) < keltlower and lowest(1) < bollower and rsival < 40 ? lowest(1)  : na
  42. plot(longplot,color=#00CC25,style=circles,linewidth=3)
  43.  
  44. //plot short signals
  45. shortplot = highest(1) > keltupper and highest(1) > bolupper and rsival > 60 ? highest(1) : na
  46. plot(shortplot,color=#CC0000,style=circles,linewidth=3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement