Disclaimer: I am not posting this at the behest of the developers of Zorro, nor do I receive any form of payment or commission for this post. I felt that I should relay this experience because it was an example of customer service that went way above and beyond the call of duty in terms of its promptness and professionalism. Credit where credit is due.
I have been using the Zorro platform for trading systems research for almost two years now. I continue to use it because it combines simplicity, flexibility and power with an integrated development and implementation environment, which also makes it very convenient. It facilitates robust strategy development by providing powerful optimization tools that are designed against curve-fitting. Data-snooping is, for all intents and purposes, completely designed out of the platform. Providing a direct connection to R enables the user to leverage its extensive array of packages that cover machine learning, econometrics, statistics, time series analysis, and a host of other fields of study. In addition to its research and development functions, Zorro is also an implementation engine, enabling direct connection to a number of brokerages via API, including Interactive Brokers.
Clearly, there’s a lot to like, and like it I do.
Recently, I was exposed to another side of Zorro that I previously had little to do with: their technical support team. To cut a long story short, I had been engaged by a client to optimize and automate their trading strategy and we agreed to use Zorro for the task. Development proceeded quickly and we were live within a few days. The only problem was that we were seeing some odd trades being triggered. Needless to say, we very quickly stopped the strategy and I investigated, fearing my professional pride was on the line.
I eventually came to the conclusion that there was something buggy in the way Zorro was receiving price ticks from the broker feed. Every so often, Zorro would report a price quote whose magnitude was clearly erroneous – for example twice or three times as large as the previous tick. This was throwing some of the script’s internal calculations into disarray and occasionally an unintended trade was the result.
In this case, real-time market data was being handled and trades executed via a DLL that provides the functionality for Zorro to communicate with the MetaTrader 4 terminal. It was logical that this was the likely source of the problem, since the bad ticks never showed up in the MetaTrader terminal.
I contacted Zorro support that very day (a Thursday) and explained what was happening and what I thought the issue might have been. Within a couple of hours, Zorro tech support had responded with a temporary workaround (a script to suppress outlying ticks) and a promise to investigate the issue.
Having provided the temporary workaround, the team then issued a call on the Zorro user forum for other users to try to reproduce the issue. There were a few responses. This was on Friday. Come Monday, the Zorro team had identified a bug in the recently updated MetaTrader bridge and released a new version in the which the bug was fixed. Happy days.
Only…my problem persisted, but now instead of getting high ticks, I was getting erroneous prices on the downside. Of course, I raised this issue with tech support and they diligently began looking for another bug.
By now, I imagine the Zorro support team were getting a little sick of me. I certainly would have been, if I were them. If you look at the forum thread where I was communicating with Zorro’s chief engineer, you can see that I was pestering him every couple of hours. Anyway, he patiently looked into my script in more detail and found that I was coming up against a limitation (related to referencing multiple price sampling frequencies) of one of the indicators in the open source Technical Analysis Library that Zorro uses. He then provided me with a new version of the indicator that he’d written himself that would not be subject to these limitations. Amazing!
70 forum posts, a dozen emails and one week later, both problems had been investigated and were solved.
Zorro’s support team, including the chief engineer, provided a prompt, professional, systematic and objective solution to the problems I was experiencing. At all times they took what I said seriously and kept me informed with regular and honest progress updates. When a bug was found, a solution was released within a matter of hours.
Zorro gets a massive vote of confidence from me because of this experience. I have no hesitation in utilizing Zorro heavily as my trading business grows. If you haven’t checked it out yet, my experience with tech support is one more reason to do so.