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

No HistoricalData forInstruments

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

    No HistoricalData forInstruments

    Hi suddenly after upgrading to new NinjaTrader version I stop getting historical data from Bars request.

    Below is my code.
    Also attached is the screenshot of Trading Hours window. I am using TD Ameritrade subscribed to NASDAQ Level II and NYSE realtime data as well.

    public static void loadHistoricalPriceData(Instrument instrument , string bartype, int barsize, DateTime starttime, DateTime endtime)
    {
    Thread subscriptionThread=new Thread(() =>
    {
    try{

    Thread.CurrentThread.IsBackground = true;
    // create a new bars request. This will determine the insturment and range for the bars to be requested
    BarsRequest barsRequest = new BarsRequest(instrument, starttime, endtime);


    // Parametrize your request.
    barsRequest.BarsPeriod = new BarsPeriod { BarsPeriodType = BarsPeriodType.Day, Value = 1 };
    barsRequest.TradingHours = TradingHours.Get("US Equities RTH");
    barsRequest.Request(new Action<BarsRequest, ErrorCode, string>((bars, errorCode, errorMessage) =>
    {
    if (errorCode != ErrorCode.NoError)
    {
    // Handle any errors in requesting bars here
    NinjaTrader.NinjaScript.NinjaScript.Log(string.For mat("Error on requesting bars: {0}, {1}, {2}",
    errorCode, errorMessage, instrument.FullName), LogLevel.Warning);
    Tradelytics.API.nobarDataInstrument.Add(instrument .FullName);
    //sendPriceHistory(getEmptyDataTable(instrument.Full Name, "NotFound"), instrument.FullName);
    return;

    }

    if(bars.Bars.Count>0)
    {


    try{

    DataTable barsData = new DataTable(Tradelytics.BarData.TableName);
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Time_Stamp, typeof(DateTime)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Open, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.High, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Low, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Close, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Instrument, typeof(String)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Volume, typeof(int)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Ask, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Bid, typeof(float)));
    //barsData.Columns.Add(new DataColumn(Tradelytics.BarData.Eps, typeof(float)));
    barsData.Columns.Add(new DataColumn(Tradelytics.BarData.ProductType, typeof(String)));

    for (int i = 0; i < bars.Bars.Count; i++)
    {
    barsData.Rows.Add(
    bars.Bars.GetTime(i),
    bars.Bars.GetOpen(i),
    bars.Bars.GetHigh(i),
    bars.Bars.GetLow(i),
    bars.Bars.GetClose(i),
    instrument.FullName,
    bars.Bars.GetVolume(i),
    0,
    0,
    // fundamentalData.EarningsPerShare,
    instrument.MasterInstrument.InstrumentType.ToStrin g());
    }
    sendPriceHistory(barsData, instrument.FullName);

    } catch (Exception error) {NinjaTrader.NinjaScript.NinjaScript.Log("Error Loading Historical data for "+instrument.FullName+ " in subscription method\n"+error.StackTrace, LogLevel.Error); }

    }

    NinjaTrader.NinjaScript.NinjaScript.Log(instrument .FullName+" bars found: "+bars.Bars.Count+" between "+starttime+" and "+endtime+" for "+bartype, LogLevel.Information);


    }));
    }
    catch (Exception error)
    {
    NinjaTrader.NinjaScript.NinjaScript.Log("loadHisto ricalPriceData "+instrument.FullName+ " \n"+error.StackTrace, LogLevel.Error);

    }
    });
    subscriptionThread.Priority=ThreadPriority.Highest ;
    subscriptionThread.Start();

    }



    Attached Files

    #2
    Hello vivekniwas,

    Do you still see the same problem if you remove the added threading from your sample? We cannot assist with threading so that is something you would need to remove as a test.

    Also do you see this using the sample copied/pasted from the help guide? If you can test using the help guide sample method that would eliminate any additions you may have added which will help the debugging process. https://ninjatrader.com/support/help...ub=barsrequest
    That method could be added to an indicator or addon for testing.

    Do you have any issue with requesting historical data from a chart for this instrument?

    I look forward to being of further assistance.


    JesseNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by GussJ, 03-04-2020, 03:11 PM
    11 responses
    3,221 views
    0 likes
    Last Post xiinteractive  
    Started by andrewtrades, Today, 04:57 PM
    1 response
    10 views
    0 likes
    Last Post NinjaTrader_Manfred  
    Started by chbruno, Today, 04:10 PM
    0 responses
    6 views
    0 likes
    Last Post chbruno
    by chbruno
     
    Started by josh18955, 03-25-2023, 11:16 AM
    6 responses
    436 views
    0 likes
    Last Post Delerium  
    Started by FAQtrader, Today, 03:35 PM
    0 responses
    9 views
    0 likes
    Last Post FAQtrader  
    Working...
    X