Hi,No need to apologize, you don't owe anybody anything bud. And thank you for sharing!
Premarket RVOL, exactly what I was looking for! We're obviously looking for stocks with volume in the morning.
EDIT: I made a scanner and watchlist column based on your code.
Add this as a study: http://tos.mx/NvAn3MK (or use code below). Click here for --> Easiest way to load shared links
Code:#https://usethinkscript.com/threads/premarket-volume-for-thinkorswim.2383/post-116609 #Use 30min timeframe Declare Lower; Declare zerobase; def Day0PMVol = If getday() <> GetDay()[1] then If SecondsFromTime(0930) < 0 then volume else 0 else If secondsFromTime(0400) >= 0 and SecondsFromTime(0930) < 0 then Volume+Day0PMVol[1] else Day0PMVol[1]; def pmvolplotted = If secondsFromTime(0400) >= 0 and SecondsFromTime(0930) < 0 then Day0PMVol else Double.nan; Def PmBack1Day = If GetDay() <> GetDay()[1] then Day0PMVol[1] else PmBack1Day[1]; Def PMBack2Day = If GetDay() <> GetDay()[1] then PmBack1Day[1] else PmBack2Day[1]; Def PmBack3Day = If GetDay() <> GetDay()[1] then PmBack2Day[1] else PmBack3Day[1]; Def PMBack4Day = If GetDay() <> GetDay()[1] then PmBack3Day[1] else PmBack4Day[1]; Def PmBack5Day = If GetDay() <> GetDay()[1] then PmBack4Day[1] else PmBack5Day[1]; Def PMBack6Day = If GetDay() <> GetDay()[1] then PmBack5Day[1] else PmBack6Day[1]; Def PmBack7Day = If GetDay() <> GetDay()[1] then PmBack6Day[1] else PmBack7Day[1]; Def PMBack8Day = If GetDay() <> GetDay()[1] then PmBack7Day[1] else PmBack8Day[1]; Def PmBack9Day = If GetDay() <> GetDay()[1] then PmBack8Day[1] else PmBack9Day[1]; Def PMBack10Day = If GetDay() <> GetDay()[1] then PmBack9Day[1] else PmBack10Day[1]; Def PMAvgVol = (PmBack1Day + PmBack2Day + PmBack3Day + PmBack4Day + PmBack5Day + PmBack6Day + PmBack7Day + PmBack8Day + PmBack9Day + PmBack10Day)/10; plot PMRVOL = Day0PMVol/PmAvgVol*100;
And this as a watchlist column: http://tos.mx/fkbbmK5 (or use code below).
Code:#https://usethinkscript.com/threads/premarket-volume-for-thinkorswim.2383/post-116609 #Use 30min timeframe Declare Lower; Declare zerobase; def Day0PMVol = If getday() <> GetDay()[1] then If SecondsFromTime(0930) < 0 then volume else 0 else If secondsFromTime(0400) >= 0 and SecondsFromTime(0930) < 0 then Volume+Day0PMVol[1] else Day0PMVol[1]; def pmvolplotted = If secondsFromTime(0400) >= 0 and SecondsFromTime(0930) < 0 then Day0PMVol else Double.nan; Def PmBack1Day = If GetDay() <> GetDay()[1] then Day0PMVol[1] else PmBack1Day[1]; Def PMBack2Day = If GetDay() <> GetDay()[1] then PmBack1Day[1] else PmBack2Day[1]; Def PmBack3Day = If GetDay() <> GetDay()[1] then PmBack2Day[1] else PmBack3Day[1]; Def PMBack4Day = If GetDay() <> GetDay()[1] then PmBack3Day[1] else PmBack4Day[1]; Def PmBack5Day = If GetDay() <> GetDay()[1] then PmBack4Day[1] else PmBack5Day[1]; Def PMBack6Day = If GetDay() <> GetDay()[1] then PmBack5Day[1] else PmBack6Day[1]; Def PmBack7Day = If GetDay() <> GetDay()[1] then PmBack6Day[1] else PmBack7Day[1]; Def PMBack8Day = If GetDay() <> GetDay()[1] then PmBack7Day[1] else PmBack8Day[1]; Def PmBack9Day = If GetDay() <> GetDay()[1] then PmBack8Day[1] else PmBack9Day[1]; Def PMBack10Day = If GetDay() <> GetDay()[1] then PmBack9Day[1] else PmBack10Day[1]; Def PMAvgVol = (PmBack1Day + PmBack2Day + PmBack3Day + PmBack4Day + PmBack5Day + PmBack6Day + PmBack7Day + PmBack8Day + PmBack9Day + PmBack10Day)/10; plot PMRVOL = Day0PMVol/PmAvgVol*100;
Set both to 30min timeframe. Then scan the study (the first code) with, for example >100 (for greater than 100%), or like so:
PM_RVOL() is greater than 100
The bold part is the default name of the study, so if you rename it, you will need to change that to whatever you named it.
I included the PM_RVOL in my watchlist but some of the figures are not showing. just getting
Nan or "custom expression subscription limit exceeded"
can someone assist me please