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)
I'm in the process of selecting a platform for strategy development, backtesting, automated trading, and tracking, but unlike many/most I don't use charting at all, and it feels a bit awkward looking at all these systems that mainly seem to be designed around charts.
What I'm looking for is a platform that preferably can be used in the cloud as I'm permanently travelling and that can be completely run through scripts. Think querying external files and databases (for instance for parameters, external signals, ETF universe restrictions, synthetically extended hstorical data, etc), use functions, integrate real-time data plus built-in and custom indicators, create reports, send out trade notifications, etcetera.
I'm currently at the point that I start wondering whether this is possible at all using an existing trading platform. However, I've been reading up on a great many systems and so far have short-listed the following:
Related is that I would prefer to run at least the automated trading and tracking parts on a colocated server, VPS, in the cloud, whatever, and that I would be okay with developing and modifying my strategies on a tablet or laptop instead if necessary.
I wonder if there's any members in the community that have enough scripting experience to put me in the right direction. Your thoughts would be highly appreciated!
It depends on your programming skills.
TS and MC are using EasyLanguage which is good for "normal" people but hard, IMHO, for people with a coding background.
Compared to MC TS is less stable and tends to crash qui often.
MC .Net is using C# and VB, which are both powerful. But I find programming with MC .Net more tricky than with NinjaTrader, a bit more confusing and less easy to read.
You didn't mention Ninja but I think it's a good option (stable and no real technical limits).
I can't say for QuantConnect, AmiBroker and Backtrader.
I agree with Sam about EasyLanguage. I have a coding background and found it very hard to understand why it did things the way it did. It basically drove me nuts, and so did the way that it positively encouraged spaghetti code (unstructured coding.) I think it was really designed to be "easy" for non-programmers, and I suppose it succeeds at this, but I would want something else, myself. Things may have changed since I looked at it years ago, but I would be unwilling to code anything critical in it, based on my experience at the time.
There are experienced traders right here on this forum who use it a lot for automated systems and who would dispute everything I just said, by the way....
Thanks for the responses so far - really appreciated...
Although I'm not a programmer I've been working in IT for 3 decades, often with databases and SQL, so at least I should have SOME potential to pick up a major language. Since I might use what I learn for over a decade it may be a good investment in time. Like most I prefer an easier language over a more difficult one but I want to choose based on the viability of the technical solution.
The strategy I'm using and that I want to rebuild and expand uses a limited ETF universe and has fixed rules. It only has to check whether the rules (all coded) currently apply or not, and act based on that. It should be able to communicate with the outside world to receive input like parameters and send out trading signals. As such I would only need a script on a remote server, start it, go on holiday for a month, and after a month see if it's still going strong.
Obviously this is a bit exaggerated but I DO want to set up a system that would make this possible in theory, so that there is NO NEED to "do something" at a screen. If this is possible with any of the platforms mentioned then I'm all ears.
I've been reading up for a couple of weeks now and found too many technical problems for some systems not mentioned on my list. For sure I've read plenty of rave reviews for the exact same software! But since I won't be anywhere near the pc, server, instance, or whatever, I want to limit technical risks as much as possible. Heck, I often don't have web access for a week!
Had I chosen a different kind of life I could see myself invest blood, sweat, and tears in for instance NinjaTrader, or make Zorro take the next leap (after removing the max gain restriction), etcetera, as there's many systems to be enthusiastic about. But for me it's mostly about reducing risk - twofold: First, that I select the right platform for me to avoid 6-12-18 months of investing in a language that in the end can't do what I want, and second, that the solution is stable enough that I can let it run for weeks on auto-pilot if I wanted to.
I hope this adds a useful background. Thanks again and please keep 'em coming!
Actually @bobwest , I totally agree about TradeStation and EasyLanguage. The IDE is terrible, has no version control, and has a host of other problems. The benefit of EasyLanguage is being able to get up and running quickly with trading ideas. I use EasyLanguage and PowerLanguage because it works for what I'm doing right now. However, there are ideas I want to develop that are exceptionally difficult to code in EasyLanguage, even with OOEL, GlobalVariables, EL Collections, etc. My website/blog on system trading is launching very soon and the idea around development is to be platform agnostic and focus on the process.
With that being said, my dear wife just finished a couple of Python courses specifically for building trading systems, and she raves about the simplicity, elegance, and power of Python (Spyder IDE). She has no formal training in software/application development, aside from what she learned with EasyLanguage in TradeStation, so that is interesting to me.
@trendisyourfriend , I took a look at Zorro at the suggestion of @SMCJB , and it looks compelling. I would love to explore this platform more sometime in the future.
@drftr , I too find charting to sometimes be an awkward thing and can deceive, potentially creating a bias (John Ehler's website has a section of optical illusions that demonstrates this point for traders). Petra Zacek, who trained with @kevinkdog and is also a World Trading Cup champion, stated that she does not like working with charts because she is not a visual person ( Better System Trader podcast, episode 154).
Thanks for sharing the Spyder IDE(a). Looks cool and I might look into it further should I take the Python route.
Any thoughts on whether MultiCharts.NET would be able to do what I need or is your experience restricted to EasyLanguage / PowerLanguage? If I interpret you correctly that might not be the best choice? I have also sent out emails to the companies in question and MultiCharts support is doing their very best to answer my questions, I have to say. But where they focus on what PowerLanguage CAN do I'm trying to make clear that I'm currently more interested in what it CAN'T do. Hmm... Sounds like I've been in IT too long... ;-)
A retail charting/trading package is just a visual representation of an array of aggregated market data which to build a trading system you need. So I wouldn't get hung up on that but,
They are mostly optimised to run on desktop computers and are very much bloated with the aim of offering many things to many people. While a cloud based server, if you are talking AWS kinda thing are not exactly optimised for running pc based software. Of course you can do it, I run systems on google cloud using Sierra Charts. Just be careful of testing a system on a pc with 4 cores/8 threads and a gpu then thinking you will have the same function on a cloud server with 2 threads no real gpu.
What trading time frame are you talking? If its EOD or only a few trades a day on larger type time frame, say hourly, a simple python system would be perfect for a server. If it is more active down in the minute or less data sampling and multiple instruments then what retail platforms do well is data collection and curation in a fast and reliable way.
In my own experience I wouldn't get too hung up on the final solution before you actually went about testing and proving something works. There is a lot to be learnt between the initial idea generation and the final implementation. What experience do you have with any programming language? I would use whatever makes it easy to get started.
Point is I HAVE something that works in Excel and Access but it can hardly be maintained and expanding it will cause an instant nightmare. I don't want to go from one hobby project to the next so I either keep what I have while feeling defeated, or I set up something much more professional that can be expanded later. I have too much experience with work arounds is what I'm saying really and when there's money involved I don't consider that a good thing. Especially when it's MY money ;-)
Your cloud-related comments are very interesting and confirm what I have previously read. Will have to look into that much further. For the reasons you mention I have kept very different animals like Python (no pun intended) and QuantConnect on my short-list for now as they offer a completely different solution. On the other hand they seem to be run as hobby projects as for the first I can't even sign up while the second never responds. So there's added risk in that too. I've also learned AmiBroker as an organization is extremely small. They all have SOME big problem that would disqualify them but if I take them all off the short-list I'm back at square 1.