Complex trading strategies

Discussion in 'Programming' started by MechTrading, Jan 26, 2012.

  1. Hi All,

    What trading platform offers the most flexibility in terms of programming strategies. The 2 platforms im predominantly looking at currently are Amibroker and NinjaTrader. If there are others that you think are better please let me know.

    NinjaTrader I like because from what i've read it uses Ninjascript which is based on C# (im a Java programmer by the way so C# is very similar). Therefore in my mind your strategy/algorithm can be as complex as is needed because Ninjascript is based on a full blown programming language.

    Amibroker I like because you can call dll's. The language it uses to code (AFL) seems fine for developing your own indicators but im not sure it is suited to building complex algorithms/strategies. Correct me if im wrong?

    Essentially my requirement in deciding on a platform is that I dont want my trading strategies to be limited by the coding language provided. I dont want to get to a point where I have this amazing idea but the platform doesn't offer me the ability to code it (either directly or by calling something that i've coded externally). Because of this, im leaning towards Ninjatrader.

    It seems that Tradestation is quite a popular option but it seems extremely expensive compared to Amibroker and Ninjatrader so im not considering it.

    Any advice will be helpful.

  2. I would recommend that you take a look at NeoTicker. It allows you to use the programming language of your choice and is a very powerful platform. Of course, it really depends on what you're trying to accomplish. The main reason I chose to use NeoTicker a long time ago is that it allowed me to develop, test and trade systems for large portfolios of stocks. As far as I know that still isn't easy to accomplish with most other platforms. Good luck.
  3. Thanks for the suggestion. I've never heard of that platform before but will check it out now. Thanks!

    Anyone else?
  4. rosy2


    the most flexibility comes with a good API. what happens is that you may start thinking that a certain packaged application will do everything but it doesnt. IB offers an ok api to get data and place orders but you have to know how to program to use it. Anyone who offers FIX connectivity is fine; TT's XTAPI is crappy; IB's api works but not for performance. :p
  5. Don't forget Sierra Chart which provides a C++ based dll interface and a huge amount of flexibility. Plus one of the most responsive programming teams out there if you come up with something useful that isn't already there.

    I think you'll find its memory / cpu efficiency superior to some that you're considering especially if you chose the non-NET/CLR option.

    Might well have more options on the broker/data side of things as well.
  6. assamese


    As somebody else has already pointed out, the completeness of API is the main issue.
    1. You cannot use the IB API for micro-managing your trades/positions.
    2. NinjaTrader provides a decent UI, but Bracket-Trader provides a broader feature-set (however, Bracket-trader only works with IB's brokerage)
    3. Nobody provides trade-management with respect to Technical Indicators. For example, you cannot 'trail' based on EMA.

    - Sanjay