C# is pretty easy to pick up. I've done a few weeks of research and if you have straight-forward algorithms... it sounds like Ninja Trader is the way to go. The only reason I am not going that route is that my Algorithms are complicated (they change over time) and re-coding to Ninja Trader is as much work as porting to another API. Top of my list of APIs to port to is Rythmic, Interactive Broker and RealTick... but I believe given what you said, Ninja Trader would be your right choice. Note their restricted set of supported brokers though. -Ed
I do know some basic C++ (though I don't like it much ), and I will check Ninja Trader out again (barely used it in the past). Do they allow you to load historical data and do anything you want to it directly on it with your own code? And can you test strategies live on there as well, without using a live account (basically a paper account with your code on it)? Or do you need a funded account to gain access?
Have you tried Quantopian? Otherwise, I suggest playing around with beginner's tutorials for several different languages and see which one jives with you. Include a functional language in there (maybe F#) just for complete coverage.
Yes to all questions. Ninja is fantastic. I have all my strategies coded in it. One of the main advantages to me is that Ninja is broker neutral. Just develop once, and then connect to any broker (well the list is a bit smaller than it used to be). Ninja is free until you needs to trade live, you can paper trade all you want. Plus, Ninja has a very powerful replay tool for testing strategies "live".(with X speed to save you time). Their strategy managed approach takes lots of headaches away when you get partial fills on decent size. Many other benefits.
Rithmic or if needed Rival Systems for bare metal. I've tested live into TT with 1 lots...it meets my needs. Goodluck
Quick note: Trading Technologies has been very responsive and is apparently now supporting a sim environment with a live market feed. They have gone above-and-beyond (in my opinion) in trying to resolve this issue. I may post again once I confirm it's working