Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

External Data Feed to drive Ninja Chart

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

    #16
    Let me check... only 504 MB right now but I am not allowing it to build right now.
    When I first read your question I misunderstood it and thought you were asking about external SQL DB tick data... another project some here are working on.
    I am only trading Forex right now and Ninja servers provide all the historical data I need for that for now so I am not really aware of how many ticks I can hold if I keep it all.

    By way of comparison though i get about 6 million ticks per 150MB in simple Ninja data export format.

    Gains
    Last edited by Gains; 06-07-2009, 06:38 PM.

    Comment


      #17
      Hi guys

      Any idea if the below issue regarding time stamp will be fixed in NT7?

      Cheers
      Ross

      Comment


        #18
        @DangerBoy,

        On the few examples that I have tested so far, I can now confirm that with the latest version of NT (compared to the version I used in February) the following work fine;

        a) timestamps are properly read and printed in an NT chart
        b) bars build themselves consistently each time you pass the same data set through

        @Gains

        Although I can run the tick server I built as fast as I like, I find that I can't push data through faster than about 10/sec before NT doesn't have time to process all the data and entry and exit signals on my strategy start to be missed (i.e. it behaves like a fast market). Admittedly my platform is relatively slow as I'm running NT in a virtual machine but what is the spec of your platform to get such high speeds? (Obviously the frequency with which your strategy trades might make a difference too. If you don't generate signals that often, then you can run higher tick server speeds.)

        regards

        Comment


          #19
          Great news, thanks for sharing the info trader_rick

          Cheers
          Ross

          Comment


            #20
            Hi Gains

            Not sure if your still reading this thread. Wanted to run something by you, I've constructed an external C# player that picks up bid/ask data which I've stored in a SQLExpress database by downloading and importing reams of bid/ask off of Gain Capitals free download site. At this stage I have loaded a weeks worth only.

            For now it's just a proof of concept and I plan to actually drop the SQL database and create either a file based structure or a streaming SQL style setup for my tick database in future but for now to get it set up quick and easy I've gone for this set up.

            Couple of things i wanted to ask you ,what method are you using to keep a constant historical playback speed from your own data. What I mean is this:

            At the moment I have subsecond bid/ask quotes, the data can look like this for example:

            905533234 EUR/JPY 02/08/2009 17:33:00 135.11000 135.16000
            905533235 EUR/JPY 02/08/2009 17:33:00 135.11000 135.15000
            905533240 EUR/JPY 02/08/2009 17:33:00 135.12000 135.17000
            905533330 EUR/JPY 02/08/2009 17:35:00 135.13000 135.18000
            905533346 EUR/JPY 02/08/2009 17:35:00 135.12000 135.17000
            905533383 EUR/JPY 02/08/2009 17:36:00 135.13000 135.18000

            I am picking up a subset based on the players selection from and to date and time and then was using a C# timer to increase or decrease the time between steps through the recordset. This leads to a variable speed problem in the above style data as the player effectively speeds up when there is skips between seconds and slows down when we have multiple single second quotes.

            I'm hoping to attain a constant speed so that I can more accurately replicate historical markets. Was interestd to hear if you encountered this problem and your thoughts on dealing with it.

            Also I think it was one of your posts where I read that you were saying you had an issue with massive slippage when running at very high speeds. Did you try turning down the simulated delay comm and delay exchange settings to zero? to solve this. Not quite at that stage yet but thought I'd throw it out there.

            Anyone else feel free to chime in.

            Cheers
            Ross
            Last edited by DangerBoy; 08-18-2009, 02:27 PM.

            Comment


              #21
              I've thought about this a bit more and think I've got an idea, I've been setting my timer intervals to set amounts based on the speed selected, so read the data set at say 1x then 2x etc. so each read was waiting that amount of time before doing the next read and playback of the amounts, where as I think I should be reading the next record in the set at computer normal speed, checking the distance between the new record and the current record and constantly changing the timer interval to be whatever is the distance between the tick quotes. So if it's 4seconds then it will set the timer interval to 4seconds and hence the playback to NT will only fire after a 4second wait. I guess if I want to then speed it up it would be a matter of dividing the interval by a set amount, so for double speed divide the interval by 2 etc., haven't tried it yet but I'm thinking this would be a good replication of a consistent historical playback speed. I think I was getting confused in mixing the timer intervals into reading of the set when I should've just been reading the set as normal and then varying the playback speed based on the results from the reads.

              Have you guys done something similar?

              Would also be interested to hear if anyone has done any tick compression with there data sets. Looking at the size of my bid/ask quotes for a week, I imagine that if I want to load a few years I may have to look at some form of compression. Anyone looked at this?

              Cheers
              Ross

              Comment


                #22
                Not sure if anyone's looking at this thread, but I'm trying to feed NinjaTrader with an external data feed. It works fine - however, I'm trying to get NT to 'respect' the timestamps I provide with the LastPlayback function.

                Currently I've tried to set the value of that timestamp to (say) 5 minutes in the past or the future. However, NT, both in what it displays in the chart and what it shows on the x-axis, still uses the current PC time to timestamp all ticks.

                Is it possible to change this behaviour? Some people in this thread have suggested that it might be so.

                If not, I'm truly confused as to what the 'point' of having the 'Playback' functions at all are.

                Thanks

                Comment


                  #23
                  gooni,

                  It should work. Suggest you check the format of the timestamp you are pushing to conform with yyyyMMddhhmmss. It may be easier to see the real timestamps of what you are pushing through by using the T&S window.
                  Josh P.NinjaTrader Customer Service

                  Comment


                    #24
                    Thanks

                    Yep, looks like there was a bug in my program and I was pushing through the string "yyyyMMddHHmmss" rather than the actual timestamp. Thanks for the help anyway.

                    Comment


                      #25
                      Hi all,

                      Sorry to jump into you thread, but I have been looking to see if it is possible to import historic EOD data into NT using the External data feed.

                      I have years and years of Reuters data via Metastock, and the Metastock development kit that will allow me access to the underlying data (which I have used in the past), but from what I have read in the forums I am getting conflicting feedback.

                      Please could you let me know if what I want to achieve is theoretically possible, and if it is what External datafeed DLL functions I would need to use.

                      TIA,

                      Graham.

                      Comment


                        #26
                        Hello,

                        You can import data using this link (the format must be the same):
                        DenNinjaTrader Customer Service

                        Comment


                          #27
                          Ben,

                          Thanks for the reply, my next question is now two fold.

                          What is the external data feed used for?

                          How do providers like yahoo get historical data to me, As I am missing loads of data and it goes and collects the data that I am missing when I change the timeframe of a chart?

                          Regards,

                          Graham.

                          Comment


                            #28
                            Hi Graham,

                            Thank you for your reply.

                            1.) The external data feed connection is used to connect NinjaTrader to other platforms. This connection is used almost exclusively for TradeStation connections.

                            2.) When you change the time frame of a chart, NinjaTrader sends a data request to the provider. The provider, in turn, provides this data back to NinjaTrader where it is displayed in the chart.
                            KyleNinjaTrader Customer Service

                            Comment


                              #29
                              Thanks for your reply Kyle,

                              So from this can I assume that since I have all of the necessary data stored on my PC in Metastock format, and the means to access it (using the Metastock SDK) I should be able to set up an external data feed linking to the stored data?

                              If this is so, do you know where I can find any further information about writing code to interface to the external datafeed?

                              Comment


                                #30
                                Hi Graham,

                                Thank you for your reply.

                                This may be possible, but it is not supported. As such, unfortunately, I do not have any documentation to provide.
                                KyleNinjaTrader Customer Service

                                Comment

                                Latest Posts

                                Collapse

                                Topics Statistics Last Post
                                Started by sofortune, Yesterday, 11:45 PM
                                2 responses
                                16 views
                                0 likes
                                Last Post NinjaTrader_Jesse  
                                Started by Dannyboy7, Today, 08:09 AM
                                0 responses
                                2 views
                                0 likes
                                Last Post Dannyboy7  
                                Started by percy3687, Today, 12:28 AM
                                1 response
                                11 views
                                0 likes
                                Last Post NinjaTrader_Gaby  
                                Started by bsbisme, Yesterday, 05:08 PM
                                1 response
                                19 views
                                0 likes
                                Last Post NinjaTrader_Jesse  
                                Started by cshox, Yesterday, 04:21 PM
                                1 response
                                9 views
                                0 likes
                                Last Post NinjaTrader_Jesse  
                                Working...
                                X