JayRogers

Example - Custom Defined Dual-State Session

This script example aims to cover the following:

  • 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.
Phát hành các Ghi chú: 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 `_`
Mã nguồn mở

Với tinh thần của TradingView, tác giả đã xuất bản tập lệnh theo mã nguồn mở, vì thế trader có thể dễ dàng hiểu và tùy chỉnh được. Bạn có thể sử dụng miễn phí, hoặc tùy chỉnh lại mã đã được cấp phép bởi Quy tắc Chung. Bạn có thể sử dụng nó trên biểu đồ.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?
If you like what I do, consider buying me a nice fresh cup of tea :)

https://paypal.me/JayRogersKreations

Bình luận

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.
+2 Phản hồi
@rasmak, if you find it useful, that's great :)

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
Phản hồi
rasmak JayRogers
@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.
+1 Phản hồi
@rasmak, :D
Phản hồi
This script is just awesome. I'm learning a lot from you... thanks!
+1 Phản hồi
JayRogers MikeJuliano
@MikeJuliano, You're very welcome. :)
Phản hồi
Wonderful mate. Where you get all these ideas.
+1 Phản hồi
JayRogers pricechart1336
@pricechart1336, I see similar questions asked, I have a look for simple examples - can't find anything? I code it. :)
+1 Phản hồi
This is just great! Very helpful script. I'm just adding SMA 1 2/HL as a trigger and it works like a cool strategy.
+1 Phản hồi
JayRogers Greedandfear
@Greedandfear, Glad you like it!
Phản hồi