Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

Missing Multi-Series Bar Data

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

    Missing Multi-Series Bar Data

    I can open a new chart with 15 Minute bars from 1/1/2015 to today and view that time frame. (All data is available)
    I can open a new chart with 1 Month bars from 1/1/2015 to today and view that time frame.(All data is available)
    I can run the following code in strategy analyzer and the first Monthly bar doesn't become available until 11/30/2016

    On 11/30/2016 Month Bars Available first shows a 0 instead of -1 for CurrentBars[1] print output.
    This was found across many symbols of the SP500 list and last tested on ABB.
    Latest NT version running on Kinetick data.

    Is anyone else seeing this as well?



    Code:
    #region Using declarations
    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Xml.Serialization;
    using NinjaTrader.Cbi;
    using NinjaTrader.Gui;
    using NinjaTrader.Gui.Chart;
    using NinjaTrader.Gui.SuperDom;
    using NinjaTrader.Gui.Tools;
    using NinjaTrader.Data;
    using NinjaTrader.NinjaScript;
    using NinjaTrader.Core.FloatingPoint;
    using NinjaTrader.NinjaScript.Indicators;
    using NinjaTrader.NinjaScript.DrawingTools;
    #endregion
    namespace NinjaTrader.NinjaScript.Strategies
    {
        public class RCTest : Strategy
        {
            protected override void OnStateChange()
            {
                if (State == State.SetDefaults)
                {
                    Description                                        = @"Missing Data Series Test";
                    Name                                            = "RCTest";
                    IsAdoptAccountPositionAware                        = true;
                    StartBehavior                                    = StartBehavior.AdoptAccountPosition;
                    Calculate                                        = Calculate.OnBarClose;
                    EntriesPerDirection                                = 3;
                    EntryHandling                                    = EntryHandling.AllEntries;
                    IsExitOnSessionCloseStrategy                    = false;
                    ExitOnSessionCloseSeconds                        = 90;
                    IsFillLimitOnTouch                                = false;
                    MaximumBarsLookBack                                = MaximumBarsLookBack.Infinite;
                    OrderFillResolution                                = OrderFillResolution.Standard;
                    Slippage                                        = 0;
                    TimeInForce                                        = TimeInForce.Gtc;
                    TraceOrders                                        = false;
                    RealtimeErrorHandling                            = RealtimeErrorHandling.IgnoreAllErrors;
                    StopTargetHandling                                = StopTargetHandling.PerEntryExecution;
                    BarsRequiredToTrade                                = 0;
                    DaysToLoad                                        = 450;
                    IsInstantiatedOnEachOptimizationIteration        = true;
                }
                else if (State == State.Configure)
                {
                    AddDataSeries(BarsPeriodType.Month, 1);
                }
            }
            protected override void OnBarUpdate()
            {
                Print(Instrument.MasterInstrument.Name + " ########################");
                Print(Instrument.MasterInstrument.Name + " New OnBarUpdate Starting - " + State + " - Bar#: " + CurrentBar + " Date: " + Time[0]);
                Print("Day Bars Available: " + CurrentBars[0]);
                Print("Month Bars Available: " + CurrentBars[1]);
    //        Monthly Processing
                if (CurrentBars[1] >= 11 && BarsInProgress == 1)
                {
                    Print("************************************");
                    Print("     Rolling Year of Data           ");
                    Print("Month Data Would Have Processed Here");
                    Print("************************************");
                }
            }
        }
    }
    Output Window:
    ABB ########################
    ABB New OnBarUpdate Starting - Historical - Bar#: 12521 Date: 11/30/2016 4:00:00 PM
    Day Bars Available: 12521
    Month Bars Available: 0
    Last edited by antrux; 02-20-2019, 10:49 AM.

    #2
    Hello antrux,

    Thanks for opening the thread and including sample code to test.

    I have attached a demonstration showing how I tested and the results I have gotten.

    Demo - https://drive.google.com/file/d/1ge-...w?usp=drivesdk

    I may suggest restarting the platform and reloading data if you are seeing different results. Also to note, the current version of NinjaTrader 8 is release 17.2, so I would recommend updating if you have not already.

    If you still see those results after taking these steps, could you provide some more detail so I can reproduce on my end? A screenshot of the Strategy Analyzer and the time zone you have configured in the Options menu of the Control Center will help me to do the same test.

    I look forward to assisting you further.
    JimNinjaTrader Customer Service

    Comment


      #3
      Wow ok, a restart did correct that issue for ABB and a few others.
      Randomly tested on a few others and found MSFT and ALB only going back to Jan 2017.
      Does yours do this as well?

      For those two I do only see chart data going back to the same date of Jan 2017 so maybe those are just Kinetick not having enough history?

      Comment


        #4
        Hello antrux,

        I tested opening charts for MSFT and ALB starting from January 2015 and I was able to retrieve the same data as in the demo video. Kinetick promises 2+ years worth of Minute data and 10+ years for Daily data. More data is available for more popular instruments.

        I may suggest using the Reload All Historical Data operation to request this data from Kinetick again and to make sure that you are directly connected to your router/modem and you are not experiencing any connection issues that would interrupt the historical data request.

        If issues persist, you could move the data off your platform and open a new chart or use Reload All Historical data to request the data again. Historical data is stored in the Documents/NinjaTrader 8/db/day and Documents/NinjaTrader 8/db/minute/ folders respectively for minute and daily data.

        I look forward to being of any further assistance.
        JimNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by samish18, Today, 01:01 PM
        0 responses
        5 views
        0 likes
        Last Post samish18  
        Started by WHICKED, Today, 12:56 PM
        0 responses
        7 views
        0 likes
        Last Post WHICKED
        by WHICKED
         
        Started by Spiderbird, Today, 12:15 PM
        2 responses
        11 views
        0 likes
        Last Post Spiderbird  
        Started by WHICKED, Today, 12:45 PM
        0 responses
        8 views
        0 likes
        Last Post NinjaTrader_Gaby  
        Started by FrazMann, Today, 11:21 AM
        2 responses
        8 views
        0 likes
        Last Post NinjaTrader_ChristopherJ  
        Working...
        X