Advertisement
JustUncleL

MTF SROC by JustUncleL

Oct 19th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. //@version=3
  2.  
  3. study("MTF SROC by JustUncleL")
  4.  
  5. emalen = input(13, minval=1, title="Base SROC EMA Length")
  6. sroclen = input(21, minval=1, title="Base SROC ROC Length")
  7. src = input(close, title="SROC Source")
  8. //
  9. anchor1 = input(0,minval=0,title="1st SROC TimeFrame in mins (0=current TF, 1D=1440, 1W=7200)")
  10. anchor2 = input(0,minval=0,title="2nd SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
  11. anchor3 = input(0,minval=0,title="3rd SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
  12. anchor4 = input(0,minval=0,title="4th SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
  13.  
  14. // function to caculate multiplier from anchor time frame (TF is in mins)
  15. multAnchor(anchor) =>
  16. mult = 1
  17. if isintraday
  18. mult := anchor>0 ? (interval<=0 ? 1 : interval>=anchor? 1 : round(anchor/interval)) : 1
  19. else
  20. mult := anchor>0 ? isdaily ? (anchor<=1440 ? 1 : round(anchor/1440)) :
  21. isweekly ? (anchor<=7200 ? 1 : round(anchor/7200)) :
  22. ismonthly ? (anchor<=30240 ? 1 : round(anchor/30240)) : 1 : 1
  23. //end if
  24. mult
  25.  
  26. // get multipliers for each time frame
  27. mult1 = multAnchor(anchor1)
  28. mult2 = multAnchor(anchor2)
  29. mult3 = multAnchor(anchor3)
  30. mult4 = multAnchor(anchor4)
  31.  
  32. //Convert Lengths for each anchor TF
  33. emalen1 = emalen * mult1
  34. sroclen1 = sroclen * mult1
  35. //
  36. emalen2 = emalen * mult2
  37. sroclen2 = sroclen * mult2
  38. //
  39. emalen3 = emalen * mult3
  40. sroclen3 = sroclen * mult3
  41. //
  42. emalen4 = emalen * mult4
  43. sroclen4 = sroclen * mult4
  44.  
  45. // Calculate SROC for each TF
  46. EMA1 = ema(src, emalen1)
  47. SROC1 = roc(EMA1, sroclen1)
  48. //
  49. EMA2 = anchor2==0? na : ema(src, emalen2)
  50. SROC2 = anchor2==0? na : roc(EMA2, sroclen2)
  51. //
  52. EMA3 = anchor3==0? na : ema(src, emalen3)
  53. SROC3 = anchor3==0? na : roc(EMA3, sroclen3)
  54. //
  55. EMA4 = anchor4==0? na : ema(src, emalen4)
  56. SROC4 = anchor4==0? na : roc(EMA4, sroclen4)
  57.  
  58. // Plot SROCs for all TFs
  59. hline(0,title="SROC Zero",linestyle=dotted,color=teal,linewidth=2)
  60. plot(SROC1, title="SROC 1st TF", style=line, color=SROC1>0? aqua : blue, linewidth=2, transp=0)
  61. plot(SROC2, title="SROC 2nd TF", style=line, color=SROC2>0? orange : red, linewidth=2, transp=0)
  62. plot(SROC3 ,title="SROC 3rd TF", style=line, color=SROC3>0? gray : black, linewidth=2,transp=0)
  63. plot(SROC4, title="SROC 4th TF", style=line, color=SROC4>0? lime : green, linewidth=2,transp=0)
  64.  
  65. //eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement