Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Basic NT questions from a prospective user

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

    Basic NT questions from a prospective user

    I'm currently an OpenQuant user and I'm considering switching to NT. I'd like to understand some of the limitations of using NT:

    1) How do users accumulate/retain historical tick data for backtesting (beyond the few months that NT stores)?

    2) Can a strategy be coded in C# only or must NinjaScript be used?

    3) I use 3 DLLs for data transformations. Is there any documentation on using DLLs in NT? Is using DLLs in NT different than using DLLs in any other C# program? What folder do I put the DLLs in? Are there any special calls from NinjaScript that must be used with DLLs?

    4) For DLLs, is there a UserIndicator class as there is in OpenQuant so I can apply methods like BarsAgo or Ago to my DLL output or would I need to create an array within the strategy to reference prior values?

    Thank you in advance for your help,
    -BlueLou

    #2
    Sorry, we are no OpenQuant experts so we can't compare NT, but there is wealth on docs and videos available e.g. on this forum or here:



    Also: see our free webinars (see link in my signature)

    On the issues:
    1) you can import historical data from test file or download from supported providers
    2) NinjaScript is C#
    3) unfortunately this is beyond what we provide support for, but it's standard C#
    4) see the > 100 NT default indicators which are available in sources after installing NT

    Comment


      #3
      1) NT has local storage as real-time data comes in or if it is requested by any of the various market data vendors we support. We also have an import mechanism.

      2) NinjaScript is just a name for our library. It is C# based thus you have the full power of the language and the .NET framework at your disposal.

      3) This is C# stuff and independant of NT. The only thing you do need to do is add a reference to the DLL via right click within the NinjaScript Editor.

      4) Not sure I follow. You can take output from your DLL and stuff it into a custom data series that is synced to each bar? Which then can be accessed via a "bars ago logic".
      RayNinjaTrader Customer Service

      Comment


        #4
        Dierk,
        In 1), I was referring to exporting NT data for future use, not importing historical data. How are NT users doing this?

        I don't think your response to 4) answers my question. My question is how do I use methods such as Ago to reference the DLL output from previous bars. Is there any NT class inheritance or do I have to store my DLL values in an array within NT?

        -BlueLou

        Comment


          #5
          1) There is also an export function.

          2) See my response.
          RayNinjaTrader Customer Service

          Comment


            #6
            Ray,
            Can the local storage be saved as a .csv or similar file to be reimported into for use in backtesting at a future date?

            In 4), I was referring to class inheritance. Is there a class that allows me to apply NT methods to my DLL output? Or, if I wanted to reference previous bar values would I need to create an array to store the DLL values?

            -BlueLou

            Comment


              #7
              You can export in our published format at link below. There really is no need to export and store outside of NT. Just let the data sit in NT's local storage.



              Within our indicator or strategy class, you will likely call a function on your DLL for each bar. The return value you can stuff in a DataSeries object which implements IDataSeries meaning it is in sync the underlying series the strategy or indicator is being run on. You can then access this DataSeries object for historical values.
              RayNinjaTrader Customer Service

              Comment


                #8
                Ray, this has been very helpful. One more question: My strategies require approximately 8 weeks of tick data for each instrument.

                1) Is 8 weeks of tick data available for each futures instrument?
                2) Given the amount of historical tick data required this can be problematic at rollover points. Specifically, I need to use a constant back-adjustment; i.e., where the difference as of the rollover date b/t the front-month and the expiring contract is added back to the expiring contract. Is this continuous contract method available in NT?

                3) Can the rollover date for a continuous contract be user defined? If not, what is the rollover date used? I typically select a rollover date of 2-4 days prior to expiration since that's where tick volume often begins to move to the front-month contract.

                -BlueLou

                Comment


                  #9
                  1) This is purely dependant on the source of your data. NT does not impose any limitations in this area.

                  2) Yes, we have a merge function that will back adjust the expiring month to the front month

                  3) The rollover date is user defined

                  Here is more information - http://www.ninjatrader-support.com/H...eV6/Merge.html
                  RayNinjaTrader Customer Service

                  Comment


                    #10
                    Ray,
                    I'm using TTFIX via Velocity. TTFIX doesn't have any historical data but with the NT sim license I got from Velocity I saw about 5 months of tick data on the few instruments that I tried. Are you saying that NT is not managing that historical data? If not NT, then who manages the 5 months of tick data that I was able to pull up?

                    I definitely need to clarify this since having access to at least 8 weeks of historical tick data maintained on your end or w/TT is critical for me.

                    Comment


                      #11
                      You likely will hit the wall due to RAM exhaust on backtesting 8 weeks of tick data.

                      Comment


                        #12
                        Dierk,
                        Is that an answer to my question? It doesn't sound like it. Please have Ray get back to me on my question.

                        Anyway, I aggregate the tick data into bars. The strategy itself uses less than 1 week of the tick data, the rest is used in calculating a historical volatility parameter. I haven't had many problems doing this in OpenQuant. However, when running the strategy on TradeStation, the platform became unstable when I ran the strategy on 5+ instruments.

                        Comment


                          #13
                          >> I definitely need to clarify this since having access to at least 8 weeks of historical tick data maintained on your end or w/TT is critical for me
                          It's the answer to this question.

                          Comment


                            #14
                            Dierk,
                            I'm still not following you. What does "hit the wall due to RAM exhaust" mean and why is this relevant?

                            I just need you to answer the question. Given the info that I've provided: where the data is coming from, who maintains it, and is the 5 months of tick data that I found on NT typical?

                            FWIW, I aggregate the tick data in 1000 bars max. The length of time, the 8 weeks or less, depends on the instrument.

                            Are you deliberately trying to discourage me from purchasing NinjaTrader?

                            -BlueLou

                            Comment


                              #15
                              Sorry, there must be a misunderstanding, for sure we are not discouraging from purchasing NinjaTrader, quite the opposite. We are making sure you understand what the limitations are which is the basis of your original post.

                              Loading tick data into memory has memory limitations. Loading 8 weeks of historical tick data in any way shape or form will have serious impact on memory and you will likely run into RAM limitations.

                              That being said, the data you see come across when connected to Velocity should have 8 weeks of data but this data is not clean nor our gaps not filled should there be outages. If your operations are reliant on high level quality of data, then you can look at any one of our supported market data vendors like eSignal, IQFeed etc...
                              RayNinjaTrader Customer Service

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by Geovanny Suaza, 02-11-2026, 06:32 PM
                              0 responses
                              561 views
                              0 likes
                              Last Post Geovanny Suaza  
                              Started by Geovanny Suaza, 02-11-2026, 05:51 PM
                              0 responses
                              325 views
                              1 like
                              Last Post Geovanny Suaza  
                              Started by Mindset, 02-09-2026, 11:44 AM
                              0 responses
                              101 views
                              0 likes
                              Last Post Mindset
                              by Mindset
                               
                              Started by Geovanny Suaza, 02-02-2026, 12:30 PM
                              0 responses
                              547 views
                              1 like
                              Last Post Geovanny Suaza  
                              Started by RFrosty, 01-28-2026, 06:49 PM
                              0 responses
                              547 views
                              1 like
                              Last Post RFrosty
                              by RFrosty
                               
                              Working...
                              X