Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=3
- study("MTF SROC by JustUncleL")
- emalen = input(13, minval=1, title="Base SROC EMA Length")
- sroclen = input(21, minval=1, title="Base SROC ROC Length")
- src = input(close, title="SROC Source")
- //
- anchor1 = input(0,minval=0,title="1st SROC TimeFrame in mins (0=current TF, 1D=1440, 1W=7200)")
- anchor2 = input(0,minval=0,title="2nd SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
- anchor3 = input(0,minval=0,title="3rd SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
- anchor4 = input(0,minval=0,title="4th SROC TimeFrame in mins (0=none, 1D=1440, 1W=7200)")
- // function to caculate multiplier from anchor time frame (TF is in mins)
- multAnchor(anchor) =>
- mult = 1
- if isintraday
- mult := anchor>0 ? (interval<=0 ? 1 : interval>=anchor? 1 : round(anchor/interval)) : 1
- else
- mult := anchor>0 ? isdaily ? (anchor<=1440 ? 1 : round(anchor/1440)) :
- isweekly ? (anchor<=7200 ? 1 : round(anchor/7200)) :
- ismonthly ? (anchor<=30240 ? 1 : round(anchor/30240)) : 1 : 1
- //end if
- mult
- // get multipliers for each time frame
- mult1 = multAnchor(anchor1)
- mult2 = multAnchor(anchor2)
- mult3 = multAnchor(anchor3)
- mult4 = multAnchor(anchor4)
- //Convert Lengths for each anchor TF
- emalen1 = emalen * mult1
- sroclen1 = sroclen * mult1
- //
- emalen2 = emalen * mult2
- sroclen2 = sroclen * mult2
- //
- emalen3 = emalen * mult3
- sroclen3 = sroclen * mult3
- //
- emalen4 = emalen * mult4
- sroclen4 = sroclen * mult4
- // Calculate SROC for each TF
- EMA1 = ema(src, emalen1)
- SROC1 = roc(EMA1, sroclen1)
- //
- EMA2 = anchor2==0? na : ema(src, emalen2)
- SROC2 = anchor2==0? na : roc(EMA2, sroclen2)
- //
- EMA3 = anchor3==0? na : ema(src, emalen3)
- SROC3 = anchor3==0? na : roc(EMA3, sroclen3)
- //
- EMA4 = anchor4==0? na : ema(src, emalen4)
- SROC4 = anchor4==0? na : roc(EMA4, sroclen4)
- // Plot SROCs for all TFs
- hline(0,title="SROC Zero",linestyle=dotted,color=teal,linewidth=2)
- plot(SROC1, title="SROC 1st TF", style=line, color=SROC1>0? aqua : blue, linewidth=2, transp=0)
- plot(SROC2, title="SROC 2nd TF", style=line, color=SROC2>0? orange : red, linewidth=2, transp=0)
- plot(SROC3 ,title="SROC 3rd TF", style=line, color=SROC3>0? gray : black, linewidth=2,transp=0)
- plot(SROC4, title="SROC 4th TF", style=line, color=SROC4>0? lime : green, linewidth=2,transp=0)
- //eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement