Though many options are available, the most common methods of automating trading systems are:

      Direct API

      Writing directly to the API of the order routing engine in order to allow for the most advanced and customizable order entry, modification and reporting. This method is the most difficult to implement requiring advanced knowledge of various programming languages including C++ and C#. Typically reserved for more experienced system developers, this method usually provides the lowest latency while allowing for complex order handling and order types.

      Systems writing directly to the API are eligible to have their systems hosted in the data center allowing for greater reliability and speed when milliseconds matter most.

      Sample Uses:

      • Building the system using NinjaTrader’s strategy builder templates or C# programming environment
      • When running a system natively in NinjaTrader, the system communicates directly with the API of the order routing engine and can accommodate more advanced order handling while decreasing latency and errors.
        Writing directly to the order routing engine utilizing custom built computers running either the Linux or UNIX operating system. Possibly the most difficult means of implementing automation, though often the fastest and most reliable means of automating the execution of advanced algorithms and trading strategies.


      DLL Integration

      DLLs can be used to communicate directly with the order routing software allowing for more advanced order handling options though requiring more experience with coding.


      SMTP Messaging

      SMTP automation uses an existing 3rd party software package to pull in data and calculate signals that are then sent to an order routing engine via the SMTP protocol. Quick and easy to setup and test, the use of SMTP has been the choice of system traders for years.

      The speed of the system is only as fast as the 3rd party software that is generating the signals but a great solution for systems that do not rely on millisecond fills or advanced order entry types. No advanced programming knowledge or experience is required when using the ATI features built into the NinjaTrader platform.

      Sample Uses:

      • TradeStation Integration
      • Using the SMTP function to communicate between TradeStation and NinjaTrader, strategies built in Easylanguage can be setup and tested in minutes. Some initial setup is required to customize synchronization and other options to help keep the system in line with actual fills. Writing directly to the order routing engine utilizing custom built computers running either the Linux or UNIX operating system. Possibly the most difficult means of implementing automation, though often the fastest and most reliable means of automating the execution of advanced algorithms and trading strategies.

      OIF (Order Instruction Files)

      Similar to SMTP using 3rd party applications to generate the buy or sell signals, OIF’s facilitate automation by instantly creating instruction files on the hard drive of the computer automating the execution.

      Copyright © 2017 - NinjaTrader™. All rights reserved. NinjaTrader™ is a Registered Trademark of NinjaTrader™, LLC.

      Futures, foreign currency and options trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing ones financial security or lifestyle. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results. View Full Risk Disclosure.

      Risk Disclosure | Privacy Policy