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 harr5754, Today, 07:36 AM
        1 response
        10 views
        0 likes
        Last Post bltdavid  
        Started by Orion1504, Today, 11:59 AM
        1 response
        10 views
        0 likes
        Last Post NinjaTrader_Kate  
        Started by z3trader, Today, 11:50 AM
        5 responses
        24 views
        0 likes
        Last Post NinjaTrader_ChristopherJ  
        Started by Mykro, Today, 11:20 AM
        3 responses
        11 views
        0 likes
        Last Post NinjaTrader_BrandonH  
        Started by RedDuke, Today, 10:49 AM
        2 responses
        7 views
        0 likes
        Last Post RedDuke
        by RedDuke
         
        Working...
        X