- defining custom timeframe / session windows
- gather a price range from the custom period ( high/low values )
- create a secondary "holding" period through which to display the data collected from the initial session
- simple method to shift times to re-align to preferred timezone
Articles and further reading:
Reason for Study:
- Educational purposes only.
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.
- Adjusted license info in header, it's a freely usable example.
- Updated variable naming conventions inside `f_captureSessionHL()` - now all prefixed with `_`
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.
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 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 // just entered holding.. sessionClose := close // ..so grab the final close of the session // just reference self to maintain the same levels sessionHigh := sessionHigh sessionLow := sessionLow