Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Custom Data Connector

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

    Custom Data Connector

    I am planning on accessing institutional level proprietary FX market data via NinjaTrader and the best way to do this would probably be to write my own data connector. Is there any documentation on the topic?

    Also, if a proprietary data connector is not possible then I would like to know what would be the best way to access a data feed via JSON or SOAP and make it available to NinjaTrader as a regular (or simulated) data feed.

    Thanks,

    Molecool

    #2
    Molecool, unfortunately we would not support adding custom connections to NT. While we do not have a full API, you could check into the options using our AT interface - http://www.ninjatrader.com/support/h...terface_at.htm It's main use is processing of externally generated trading signals.

    Comment


      #3
      I don't need to process trading signals - I need to important outside symbol data every 50ms or so. How would you go about that?

      Comment


        #4
        Hi Molecool,

        One way would be reading from a file, like in this streamreader sample:


        Also timer objects are used in this sample for custom events:
        Ryan M.NinjaTrader Customer Service

        Comment


          #5
          Will peruse that info and respond. But in essence I would have a timer running that connects to my service every 50ms? Now here's the key issue: How do I update a tick based data series in my indicator every 50ms and make sure onBarUpdate() and the other methods are being called?

          Again - I would have this running on for instance an AUD/JPY chart that's connected to Kinetick. I will however access more 'deep' market information on an institutional ECN network. Various market data will be extracted and used to update a custom indicator running against that AUD/JPY plotting on my chart. The AUD/JPY may be set to 5-min or 60-min but the indicator will update and refine every 50ms.

          I have written the indicator already and it's using ticks while the chart is using minutes - no problem and I don't need any help with that as it's working. However, the quality of the FX data needs to be expanded - this not Kinetick's fault - I simply don't get the depth of market information from a non-institutional feed. So what I need to do is access that ECN server every 50ms (or maybe less - but let's start with that) and extract more in-depth market data, which once received is being used to plot my indicator.

          Hope this makes sense.

          Comment


            #6
            molecool, we could unfortunately not support the creation of a custom symbol feed - you could be looking into the timer events available to read the data stream for example from a text file at your desired intervals.

            Comment


              #7
              You don't understand what I'm asking, mate. I can probably use some event notification to get data into NT. The trick is HOW do I map that data to an intermittent tick based time series in NinjaTrader? Or at minimum - how do I map this to a 1-sec time based series in NT? Once I get the event and the data I need to make a call to update my own time series. Does that make more sense?

              Comment


                #8
                Hello molecool,
                You can make a custom data feed to feed data to NinjaTrader via the External Data feed connection. http://www.ninjatrader.com/support/h...connection.htm. You can refer to the functions from the below link which the Client.dll exposes to enable you to make a custom data feed http://www.ninjatrader.com/support/h...?functions.htm

                Please let me know if I can assist you any further.
                JoydeepNinjaTrader Customer Service

                Comment


                  #9
                  Thanks buddy but I'm now confused. Isn't that exactly what your colleagues told me was not possible? And I quote Bertrand:

                  "Molecool, unfortunately we would not support adding custom connections to NT. "

                  So, which is it now? Or am I misunderstanding this? Would not be the first time.

                  Comment


                    #10
                    Hello molecool,
                    My colleague rightly pointed you to the ATI development page. We do not support the development of external data feeds. Our support is limited to the documented portion only as found in the help files.

                    Please let me know if I can assist you any further.
                    JoydeepNinjaTrader Customer Service

                    Comment


                      #11
                      Okay...

                      Is there any test code you guys have I can use to bind in NTDirect.dll? Before I burn time on this I want to make sure this has been tested/used before.

                      If I want to map an instrument to that feed for testing, let's say EURUSD_2 - do I use 'external' in the instrument list?

                      This looks like a pull approach - I take it there is no way to register a delegate to an event and have the data pushed?

                      Again, I don't need to do anything complicated - all I need to do is to pull market data, that's all.

                      Comment


                        #12
                        This has been used before (sorry no affiliation/source code)..



                        Originally posted by molecool View Post
                        Is there any test code you guys have I can use to bind in NTDirect.dll? Before I burn time on this I want to make sure this has been tested/used before.

                        If I want to map an instrument to that feed for testing, let's say EURUSD_2 - do I use 'external' in the instrument list?

                        This looks like a pull approach - I take it there is no way to register a delegate to an event and have the data pushed?

                        Again, I don't need to do anything complicated - all I need to do is to pull market data, that's all.

                        Comment


                          #13
                          You guys are NOT making this easy, are you? Here I have been pimping you guys for years now for free on Evil Speculator. NinjaTrader this and NinjaTrader that - posting NT charts all the time as well advertising your product to over 50,000 regular readers. But when I am asking for a bit of support on something more technical the best I can expect is a YOUTUBE video? Seriously?

                          Someone in your organization MUST have implemented this DLL and then tested it. How about sharing some of that test code? Why even produce the DLL if there's no real documentation on it? I need to know how to create a custom data connector in the first place and bind it into NT - and I don't want to spend weeks on trial & error.
                          Last edited by molecool; 02-23-2012, 12:58 AM.

                          Comment


                            #14
                            Originally posted by molecool View Post
                            You guys are NOT making this easy, are you? Here I have been pimping you guys for years now for free on Evil Speculator. NinjaTrader this and NinjaTrader that - posting NT charts all the time as well advertising your product to over 50,000 regular readers. But when I am asking for a bit of support on something more technical the best I can expect is a YOUTUBE video? Seriously?

                            Someone in your organization MUST have implemented this DLL and then tested it. How about sharing some of that test code? Why even produce the DLL if there's no real documentation on it? I need to know how to create a custom data connector in the first place and bind it into NT - and I don't want to spend weeks on trial & error.
                            I don't work here, and haven't needed to use it, so don't get mad at me.

                            Comment


                              #15
                              Molecool,

                              Please look at who is posting, when you post on a public forum the community may attempt to help.In this case a community member attempted to assist.

                              Bashing a community member will not be tolerated and I will take action on next offense.

                              Finally, to clarify your EXACT question.

                              We do have a DLL interface, please see this list with what you can exactly do with our DLL interface.



                              Place orders
                              Initiate a NinjaTrader ATM Strategy
                              Change orders
                              Cancel orders
                              Close ATM Strategies and positions
                              Flatten accounts
                              Cancel all orders
                              Retrieve information on positions and orders
                              Our DLL interface is primary designed for order pass through. It is NOT a replacement for a full adapter which must be created by NinjaTrader and is not allowed to be created via our API we make public.

                              Therefor you may be able to do what you want from our API but since it is very limited in the area of market data you may run into limitations. There are 3 functions you can access from the API that can update the last price on an instrument and that is located on this page:



                              Specifically:

                              int Last(stringinstrument, doubleprice, intsize)
                              Sets the last price and size for the specified instrument. A return value of 0 indicates success and -1 indicates an error.


                              Lastly on your question on a sample. We do not have an official NinjaTrader sample that uses the DLL. We expect that users that plan on using the DLL have the coding knowledge to hook into a DLL and access the methods and the methods are detailed in our help guide.We mention unsupported here as we cannot assist with programming in your custom application however we can answer any questions you may have on how to use the methods.

                              NinjaTrader does not release a sample application to show how you use this at this time.

                              I have your phone number passed to me from Ryan. Please let me know if you would like me to call you to clarify the above.

                              -Brett
                              BrettNinjaTrader Product Management

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by argusthome, 03-08-2026, 10:06 AM
                              0 responses
                              86 views
                              0 likes
                              Last Post argusthome  
                              Started by NabilKhattabi, 03-06-2026, 11:18 AM
                              0 responses
                              48 views
                              0 likes
                              Last Post NabilKhattabi  
                              Started by Deep42, 03-06-2026, 12:28 AM
                              0 responses
                              29 views
                              0 likes
                              Last Post Deep42
                              by Deep42
                               
                              Started by TheRealMorford, 03-05-2026, 06:15 PM
                              0 responses
                              32 views
                              0 likes
                              Last Post TheRealMorford  
                              Started by Mindset, 02-28-2026, 06:16 AM
                              0 responses
                              67 views
                              0 likes
                              Last Post Mindset
                              by Mindset
                               
                              Working...
                              X