• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

GetDayBar - Not working as expected. How to get last working day OHLC Data?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    GetDayBar - Not working as expected. How to get last working day OHLC Data?

    Hi,

    I want to get the OHLC data for last trading day. while searching Ninja Help Guide, i get to know Bars.GetDayBar() which suits my requirement.

    But i tired calling this functions with possible combinations, but it is raising exception. Below is the code which i tried using.

    Bars b = BarsArray[0];

    Print(b.Count.ToString()); //Prints 2556 bars which is approx 10 days of data

    Bar day = null;

    for (int i = 0; i < 10; i++)
    {
    try
    {
    day = b.GetDayBar(i); //Always raise exception
    }
    catch { }

    if (day != null)
    break;
    }

    if (day == null)
    Print("Day is null"); //Always prints null


    Please tell me the best way to get previous OHLC data?

    Thanks

    #2
    Hi raaxus, thanks for your note.

    You should check if the Bar return is null before assigning it. The index should also not go below 1. This method is used to get historical day bars. To get the current day bar use CurrentDayOHL() e.g. This will get the past 10 days:

    Code:
    protected override void OnBarUpdate()
            {
    
                Bars b = BarsArray[0];
    
                Bar d = null;
    
                for (int i = 1; i <= 10; i++)
                {
                    if (Bars.GetDayBar(i) != null)
                    {
                        d = Bars.GetDayBar(i);
                        Print(d.Close);
                    }
                }
            }
    Please let me know if I can assist any further.
    Chris L.NinjaTrader Customer Service

    Comment


      #3
      Hi,

      Thanks it worked perfectly fine.

      But why my code wasn't working, because Bar is a class type and should be able to hold null values?

      CurrentDayOHL():
      Do you have any link for documentation of these kind of functions where i can reference? I hope this is an indocator?

      Thanks,

      Comment


        #4
        Hi,

        My apologies, the value can be null since Bar is nullable. I suspect the problem was from for (int i = 0; i < 10; i++) rather than for (int i = 1; i <= 10; i++). GetDayBar will only return prior daily bars. You can step through the code using Visual Studio debugging to find exactly when the return value is null.

        The CurrentDayOHL() indicator documentation can be found here:
        https://ninjatrader.com/support/help...nt_day_ohl.htm

        It is an indicator, so the source code can be viewed from the NinjaScript Editor. There is also the PriorDayOHLC indicator that might be of use.

        Please let me know if I can assist any further.
        Chris L.NinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by leodrz, Today, 09:45 PM
        2 responses
        7 views
        0 likes
        Last Post leodrz
        by leodrz
         
        Started by habibalex, Today, 09:30 PM
        0 responses
        6 views
        0 likes
        Last Post habibalex  
        Started by Herrwolf1, Today, 09:07 PM
        0 responses
        5 views
        0 likes
        Last Post Herrwolf1  
        Started by nomadmilo, Today, 08:52 PM
        1 response
        7 views
        0 likes
        Last Post nomadmilo  
        Started by jvanelli, Today, 08:48 PM
        0 responses
        5 views
        0 likes
        Last Post jvanelli  
        Working...
        X