Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
If this question was directed at me.... I have no idea. My experience is limited to EL/PL. If you know C#, then you can do just about everything in MC.NET. If you don't, then you probably need to decide what direction to take. For me, the next thing to learn is Python, based on my wife's experience with it and recommendation. Not for nothing, but Python is most likely to become the dominant language in the future of quantitative/algo/systematic trading, from what I am seeing. That is only my opinion, though.
C#/.Net is powerful on a Windows machine. If it can be done, it can be done in .Net. However, Python should also be able to do what you need.
Doing it in Ninja/Multi.Net will be faster/easier than coding from scratch in Python.
Should you later want to get into machine learning, Python is the leader.
Will you be using intraday data and trading frequently each day?
Will NinjaTrader work with your broker? If not, would you switch to NT's broker?
If not, I'd go with MultiCharts.Net, assuming it works with your broker.
Does your broker have a python api?
NT's support forums are much more active than MC's ... from what I've seen. Some members know more than the support staff!
People complain about NT crashing/locking up. From what I've seen, and based on what you've said about your strategy, I doubt you'd have those problems.
My current broker is TradeStation and since I'm from the EU that's about the only US broker that allows me to trade US ETFs (I got dumped from TDA and IB because of this and could only stay for trading derivatives - I have passed for the honour).
I have requested API info plus a code from TradeStation to look into the possibilities but you're probably aware that customer support is not something that's very high on their list so I guess I'll wait a bit longer then.
In nearly all reviews I've read about NT I see that their focus is futures, options, and forex. Most reviews mention ETFs can't be used outright, which I know is nonsense, but it does show a trend that makes me a bit wary. As such I would have to assume there's far less development in that direction for pre-fab indicators and stuff. In that regard MultiCharts.NET would seem to be a safer bet but that's just an expectation.
Thanks and yes, that is the page where I applied for the necessary code... :-)
NT remains a head scratcher though. Of course I gave it another look as positive reactions were coming in, but geez... there's a lot of negativity about stability and related stuff ESPECIALLY from what seem to be well-respected regulars. I will still keep NT in mind should I find no other solution but to be honest I'm not warming up just yet - sorry! This is not to say the other platforms don't have their own problems but I've read so many now about TradeStation and NinjaTrader that I'm ending up sweating by the thought I would have to go through all of that myself while, say, travelling in Mauritania!
There's more head scratching going on though as MultiCharts support tells me everything I want can be done using PowerLanguage. While... I just saw a comparison that for .NET stated:
Access to the status of orders, positions, accounts, logs from the script
Access all data from scripts for instruments that are not even charted
Access to the list of symbols in the database from studies
Ability to use the third-party databases (SQL Server, Mongo DB)
This totally fits into my ideas and from my (incorrect?) interpretation suggests that if .NET HAS these possibilities the PowerLanguage version DOES NOT, otherwise it's not a difference. Now I admit I may not be the smartest guy on this forum but would you interpret this differently??
NT will tax your machine. I have a new machine that I just installed NT on. During optimizations, it would nearly max out my CPU, right before the BSOD. I troubleshoot for a couple of months before discovering that the solution was to increase voltage to the CPU. As a precaution, I also maxed the CPU out at a few percentage points below 100.
Second cause was NT using all of the memory, causing freezes/crashes.
For this one, I had to optimize fewer parameters and fewer indicators at a time. Since I really don't use 'indicators' anymore, I don't see that problem anymore. Seems to be an issue with memory not being freed up fast enough.
2. Genetic Optimizer
Not many seem to have this issue, but the GO would not work when trying to optimize more than a certain number of parameters. Found a fix via modifying the optimizer's code. Has to be re-applied whenever NT is been updated.
3. Quotes
Optimizer/Backtester seemed to use stale quotes if NT hadn't been restarted in days. I restart it daily now.
She purrs like a kitten now.
I agree with your interpretation. But if we are correct, the non-dotNet version would appear to be very limited.?
But, I suspect most scripting languages will offer sufficient capabilities. DotNET will make a difference when you desire capabilities outside of the platform, i.e., when you want to interact with the operating system, or another application.
Microsoft makes windows. MS makes .NET. It stands to reason that .NET will offer the most capabilities in a windows environment.
Also, dotNet is a compiled language, and is likely to be much faster than other languages.
Have you considered MotiveWave? It is based on Java, another professional, powerful, and fast language.
Also, with C# and Java, your knowledge of either of these languages can be applied to general programming interests. IOW, you could develop real applications that have nothing to do with trading, or your trading platform.