Before considering writing this example I had seen multiple similar questions asking how to go about creating custom timeframes or sessions, so it seemed this might be a good topic to attempt to create a relatively generic example.
Release Notes
⋅
Minor quick-fix update.
Adjusted license info in header, it's a freely usable example.
Updated variable naming conventions inside `f_captureSessionHL()` - now all prefixed with `_`
Hi JayRogers, This is cool. I was thinking to built some custom period but was not getting logic for this (I am new to pine script). Thanks for this. I hope I can use your logic to create custom period days.
In the event you wanted for example to get the open of the session, you could add an extra variable for it at the start of the main function, and then capture it in this block:
// if we are in session...
if _session
// if it just started, set the initial values
if not _session[1]
sessionHigh := high
sessionLow := low
sessionOpen := open // capture the open
For the close you would grab it at the end of the session as it moves into the holding period.
// else if we're in holding state...
else if _holding
if not _holding[1] // just entered holding..
sessionClose := close[1] // ..so grab the final close of the session
// just reference self to maintain the same levels
sessionHigh := sessionHigh
sessionLow := sessionLow
rasmak
⋅
@JayRogers, Thanks a lot bro. Looks like you read my mind. Yes I was planning to add open and close of the session to work out a strategy. Will keep you updated.