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

Sample connection adapter

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

    Sample connection adapter

    deleted by user
    Last edited by jshapen; 04-29-2018, 12:31 PM.

    #2
    Hello jshapen,

    Thanks for opening the thread.

    I know it doesn't support, but if you can help me...
    This is true. We don't have any documentation on connection adapters or support creating your own so there isn't any further direction I could offer.

    People have been able to use the External Data Feed in conjunction with the DLL interface to connect to unsupported connections for market data. You may reference the DLL interface documentation as well as the example linked below. These are all the resources we have available for this feature and support is very limited since the DLL interface is provided as-is.

    DLL interface - https://ninjatrader.com/support/help..._interface.htm

    Example program - https://ninjatrader.com/support/foru...442#post514442

    I'll leave this thread open ended in case another member of the forums would like to share their input.
    Last edited by NinjaTrader_Jim; 02-28-2018, 08:37 AM.
    JimNinjaTrader Customer Service

    Comment


      #3
      This is the foundation of a connection

      Code:
      public class AdapterConnectOptions : CustomConnectOptions
          {
              [Browsable(false)]
              public override Type AdapterClassType
              {
                  get { return typeof(NinjaTraderAdapter); }
              }
      
              public AdapterConnectOptions()
              {
                  base.Provider = (Provider)1000;
              }
          }
      
          public class NinjaTraderAdapter : AdapterBase, IAdapter, IDisposable
          {
              void IAdapter.Cancel(Order[] orders)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.Change(Order[] orders)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.Connect(IConnection connection)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.Disconnect()
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.RequestBars(IBars bars, Action<IBars, ErrorCode, string> callback, IProgress progress)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.RequestHotlistNames(Action<string[], ErrorCode, string> callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.ResolveInstrument(Instrument instrument, Action<Instrument, ErrorCode, string> callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.Submit(Order[] orders)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeAccount(Account account)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeFundamentalData(Instrument instrument, Action<FundamentalDataType, object> callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeHotlist(Hotlist hotlist, Action callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeMarketData(Instrument instrument, Action<MarketDataType, double, long, DateTime, long> callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeMarketDepth(Instrument instrument, Action<int, string, Operation, MarketDataType, double, long, DateTime> callback)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.SubscribeNews()
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeAccount(Account account)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeFundamentalData(Instrument instrument)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeHotlist(Hotlist hotlist)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeMarketData(Instrument instrument)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeMarketDepth(Instrument instrument)
              {
                  throw new NotImplementedException();
              }
      
              void IAdapter.UnsubscribeNews()
              {
                  throw new NotImplementedException();
              }
      
              public void Dispose()
              {
                  throw new NotImplementedException();
              }
          }

      Comment


        #4
        Hello everyone,

        each int number of a provider seems to refer to different connection providers with its settings:

        base.Provider = (Provider)1000;

        Is that correct, that this is a fixed list of connections? Or am I able to define an own custom connection name?

        Thanks in advance.

        Comment


          #5
          From my brief knowledge of this I believe its mostly just the label of the provider and the actual code is then referenced in the class and overridable functions you have here.

          -Chad
          Last edited by NinjaTrader_PatrickG; 07-06-2021, 06:24 AM.
          chadnash
          NinjaTrader Ecosystem Vendor - Nash Technologies

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by Waxavi, Today, 02:10 AM
          1 response
          17 views
          0 likes
          Last Post NinjaTrader_LuisH  
          Started by Kaledus, Today, 01:29 PM
          5 responses
          13 views
          0 likes
          Last Post NinjaTrader_Jesse  
          Started by Waxavi, Today, 02:00 AM
          1 response
          12 views
          0 likes
          Last Post NinjaTrader_LuisH  
          Started by alifarahani, Today, 09:40 AM
          5 responses
          23 views
          0 likes
          Last Post NinjaTrader_Jesse  
          Started by gentlebenthebear, Today, 01:30 AM
          3 responses
          17 views
          0 likes
          Last Post NinjaTrader_Jesse  
          Working...
          X