Zorro's Quality

Posted By: kujo

Zorro's Quality - 02/13/18 13:58

Hello JCL,

There is no need to say about numerous Zorro's advantages. We all know them. That's why we use this tool. However, I'd like to know what do you think about Zorro's quality? I'm pretty familiar with the software development process and quality metrics. So, it clear for me that bugs are an inevitable thing when it comes to softdev.

I wonder what's your opinion about this? Is the number of bugs within industry softdev standards? Or you believe that there is a room for improvement? In this case it would be interesting to know Zorro's roadmap regarding achieving higher quality standards.

Thank you!
Posted By: Hredot

Re: Zorro's Quality - 02/13/18 14:22

Excited to hear the response as well!

*drumroll*
Posted By: jcl

Re: Zorro's Quality - 02/14/18 07:42

Good topic, but possibly wrong question. To answer nevertheless, I believe we have less bugs than Microsoft, and because we're continously working on improving our QM, there's apparently always room for it.

The right questions about software quality would be probably how we measure quality, are we ISO certified, how support is organized, etc.
Posted By: Hredot

Re: Zorro's Quality - 02/14/18 14:04

jcl,

How do you measure quality?
Are you ISO certified?
How do you organize support?
Posted By: jcl

Re: Zorro's Quality - 02/14/18 16:03

I like it when my advice is heeded. For measuring software quality there are key performance indicators, of which we have about 20. Examples of KPIs are: bugs per code found in internal tests, bugs per code found by users, average time to fix a bug, average time to answer a support question.

The Gamestudio development process is ISO 9001 certified, the Zorro development process is not.

Support is done by the freelancers who write Zorro scripts for clients and know Zorro in and out. They take turns.
Posted By: Hredot

Re: Zorro's Quality - 02/14/18 18:51

I see, thank you for the answers!
Any plans to obtain ISO 9001 certification for the Zorro development process in the near future?
Posted By: jcl

Re: Zorro's Quality - 02/15/18 10:11

If clients need it and are willing to pay, then yes. An ISO 9001 audit with proper preparation is in the 10,000 dollars range.
Posted By: kujo

Re: Zorro's Quality - 02/15/18 12:37

Thank you!

About support:
Sometimes support experience is great, sometimes it's quite painful. When I write a detailed report and receive a reply "What's wrong?", I think about 2 options: A - support didn't read my message, B - support doesn't bother to look into details. Anyways I need to write again and again to receive a meaningful answer. It's not only mine problem. Nowdays, it's essential to put a client in the center of the room and listen if you want to be successful. Taking these into account, do you have plans to measure customer satisfaction score related to support? This practice became a standard today.

About testing: I wonder how the testing process is organised? By whom the testing is done? What's the number of FTE involved in developing the Zorro's engine? What's the developers:testers ratio? What's the ratio of bugs found in Test compared to Prod (found by users)? Is your testing automated or manual? If you have automated what's the coverage? What's the percentage of code covered be unit testing?
Are the bugs posted on the What's new page tested? Sounds like a silly question but unfortunately not, because I tested some of my bugs and reported them back as not fixed. It was enough not fixed bugs to think that they are not tested
Do you conduct regression and smoke testing before uploading the release version in public (I found critical bugs in Z strategies in the release version)?
Posted By: Hredot

Re: Zorro's Quality - 02/15/18 13:41

I would like to point out that Zorro is currently in the price range of programs such as Mathematica (where you can get a permanent license for just a couple hundred bucks under certain conditions). Functionality density and stability of Zorro compared to Mathematica is night and day. The least a developer could do is have the program development process certified with an official industry standard if they want users to dish out this amount of money for it. - Or, drastically reduce the program cost to emphasize that it is just a "hobbyist, freelancer" effort. (And note that I'm not asking for myself, since I already dished out over 700 bucks for Zorro S.)
Posted By: MatPed

Re: Zorro's Quality - 02/15/18 14:15

Kujo, I understand your fears,
My understanding is that oP group Germany GmbH is not a big company at all. I am not able to find any financial data on Hoovers and I spent some time making research before deciding to invest my time in learning Zorro.

My conclusion was simple: oP group is closer to a one man show than a 20 FTE company, but they (or he, if you prefer), have developed the most advanced piece of software for algorithmic traders available at this price level (0-400€).

There are many other weakness: the community is small, real small. No marketing, Ugly product name (sorry jcl), old style web site and forum,... we can talk about this for hours, but (and is a big BUT) I did not find any platform better than Zorro. Did you?

Finally I decided to buy Zorro S, learn it, find bugs, supporting (little to be honest) the community,...

ciao
Posted By: MatPed

Re: Zorro's Quality - 02/15/18 14:25

Matematica has been developed for 30+ years for a wide community of data analyzers and mathematics.
Zorro has been developed from 2012 for the niche of algorithmic traders. Come on...
Posted By: jcl

Re: Zorro's Quality - 02/15/18 14:28

To answer the question about company size: We have about 15 developers, of which 4 are working on Zorro. Most are freelancers.
Posted By: kujo

Re: Zorro's Quality - 02/15/18 14:44

Could you please answer other questions as well? I wonder if you have dedicated software testers?
Posted By: jcl

Re: Zorro's Quality - 02/15/18 14:52

Sure. Testing is the job of one of the developers who had no code contribution to that version. More often than I like, that's me.
Posted By: kujo

Re: Zorro's Quality - 02/15/18 15:03

Originally Posted By: jcl
Sure. Testing is the job of one of the developers who had no code contribution to that version. More often than I like, that's me.


Oh man, it's frustrating to hear... In case you need a tester-freelancer, contact me.
Posted By: Hredot

Re: Zorro's Quality - 02/15/18 19:42

Originally Posted By: MatPed
Matematica has been developed for 30+ years for a wide community of data analyzers and mathematics.
Zorro has been developed from 2012 for the niche of algorithmic traders. Come on...


All the more reason not to set the Price of Zorro at the same level as Mathematica.
Posted By: jcl

Re: Zorro's Quality - 02/16/18 09:04

Believe it or not - there's software that's even cheaper than Mathematica, and still has more code than Zorro! laugh
Posted By: firecrest

Re: Zorro's Quality - 02/16/18 09:19

Originally Posted By: jcl
Believe it or not - there's software that's even cheaper than Mathematica, and still has more code than Zorro! laugh


Are you referring to R or Python?
Posted By: AndrewAMD

Re: Zorro's Quality - 02/16/18 12:27

How about Microsoft Windows? It has more code than Mathematica, and it's cheaper than all of the above. laugh

Should we compare more apples to oranges in this thread? wink
Posted By: Zheka

Re: Zorro's Quality - 02/16/18 13:19


Finding the right "orange" is a game of self-justification; beside the point.

Complains are very specific - attitude of/to support and QA.

Both are quite easy to fix, IF there is a recognition and will.
Posted By: Zheka

Re: Zorro's Quality - 02/25/18 13:24

I just tested the latest beta with the "fixed" MT4 bridge.

Timestamps of data downloaded from MT4 do not make sense at all:
they seem to reflect "local time" for a time zone with the shift of 13hrs to UTC (a "leftover" by the developer from Asia?).

QA?

Attached picture Zorro_MT4_zoneshift_13_hist.PNG
Attached picture Zorro_MT4_zoneshift_13.PNG
Posted By: kujo

Re: Zorro's Quality - 02/25/18 14:15

Zheka, I don't see this bug with Global Prime and the latest MT4 bridge. Maybe MT4 server glitch? Can you try another MT4 broker?

Also, as I remember, messages starting with ! mark are from a broker. So, it's likely the broker's issue...
Posted By: Zheka

Re: Zorro's Quality - 02/25/18 16:01

I just re-downloaded the data again - both into Zorro and into MT4 terminal database (see pic).

Interestingly:
- as time passed from my first post, Zorro's time zone offset changed as well from 13 to 16 hrs to UTC! MT4 timestamps are as they should.
- prices in Zorro (Ask) and MT4 database(Bid) are the same!?
- what does Zorro request from MT4 for Volume? These 2 columns are completely different between MT4 and Zorro..

P.s: i just redownloaded again: there was no !message on time zone shift this time, but the data are still getting timestamped at +16hrs to UTC.


Attached picture Zorro_MT4_zoneshift_16_hist.PNG
Posted By: kujo

Re: Zorro's Quality - 02/25/18 16:08

- I've seen once that broker changed the time zone from 2 to 3 without any reason. Then returned back. Have no explanation of this.

- Correct. Zorro uses MT4 Bid prices as Ask prices. Support confirmed this.

- Noticed as well. Have no idea
Posted By: Zheka

Re: Zorro's Quality - 02/25/18 17:17

Re-tested with Gain/Forex.com: same story.

This time, when downloading data into MT4 History center, I had been warned that historical data would be coming from the MetaQuotes server, not Gain server.

Quote:
Correct. Zorro uses MT4 Bid prices as Ask prices
WOW. I rechecked and it is true!
Quote:
The Metatrader client terminal displays prices as Bid prices, while Zorro always uses Ask prices. So you'll see different prices on the Metatrader chart and in the Zorro window
So, these statements in the manual are not true for historical data?

And historical data MUST NOT be pre-loaded/backfilled from MT4 before turning on Live trading?
How is one supposed to handle this in practice?

Do prices get adjusted/used correctly in Live trading with MT4?





Attached picture Gain_MT4_zoneshift_19_hist.PNG
Posted By: Zheka

Re: Zorro's Quality - 02/26/18 13:35

I tried to re-download the data from both Alpari and Gain right now, and the bars now have correct timestamps.
No weird time zone shift.
Is this a typical behavior of MT4 broker servers over the weekend?

Still, the questions about Bid treated as Ask remain.
Posted By: AndrewAMD

Re: Zorro's Quality - 02/26/18 14:44

Disclosure: I am an MQL5.com vendor.

Here's a possible explanation: If you program in MQL language and request the time, MT4 only gives you the latest timestamp of the latest tick in the market for a given asset. This means that after-hours and weekends will mess with the value. There's not much a plugin writer can do about it, other than complain to MetaQuotes.
Posted By: Zheka

Re: Zorro's Quality - 02/26/18 15:45

OK, thank you!
I get that it is unreliable outside market hours.
But out of curiosity: can you give an example of how exactly does time get reported/adjusted by MT4 over the weekends?
Posted By: AndrewAMD

Re: Zorro's Quality - 02/26/18 16:46

Quote:
can you give an example of how exactly does time get reported/adjusted by MT4 over the weekends?
Server time comes from the TimeCurrent function:
https://docs.mql4.com/dateandtime/timecurrent

Zorro's API uses BrokerTime to verify that the clocks are synchronized. The plugin is supposed to forward the server clock.
Posted By: Zheka

Re: Zorro's Quality - 02/27/18 16:39

Thanks, Andrew.
Dug a little deeper to see how it actually works.

1) From what I could read, historical data requests in MT4 return UTC time. This is also confirmed by downloading data into MT4 itself.
Whether to adjust them during "synchronization" in BrokerTime is up to the plug-in implementation. Behavior can differ for historical requests vs rt updates.

Though, correct me, if I am wrong.

2) MQL4 update introduced new data structs: MqlTick and MqlRates.
https://docs.mql4.com/constants/structures/mqlrates

Besides efficiency, MqlRates also provides historical Spreads.
This should allow Zorro to save all MT4 price data as Ask, be consistent and actually make historical MT4 data usable.

How are other users working around this now when auto-trading their systems?
Posted By: AndrewAMD

Re: Zorro's Quality - 02/27/18 19:22

Originally Posted By: Zheka
1) From what I could read, historical data requests in MT4 return UTC time. This is also confirmed by downloading data into MT4 itself.
You were likely testing this on a UTC server.

Script:
Code:
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("Current bar: ",iTime(NULL,0,0),", ",  iOpen(NULL,0,0),", ",
         iHigh(NULL,0,0),", ",  iLow(NULL,0,0),", ",
         iClose(NULL,0,0),", ", iVolume(NULL,0,0));
   
  }
//+------------------------------------------------------------------+



I tested this code on an Oanda -5 GMT server.



Attached picture capture.gif
Posted By: AndrewAMD

Re: Zorro's Quality - 02/27/18 20:19

Originally Posted By: Zheka
2) MQL4 update introduced new data structs: MqlTick and MqlRates.
https://docs.mql4.com/constants/structures/mqlrates

Besides efficiency, MqlRates also provides historical Spreads.
This should allow Zorro to save all MT4 price data as Ask, be consistent and actually make historical MT4 data usable.
Historical spread values are only used in MT5 and not MT4. (Just tested it... they read zero.) The Mqlrates struct was implemented for MQL5/MQL4 forwards(!) compatibility only.

I believe MqlTick structs are not available on a historical basis but only on a live-stream basis.
Posted By: Zheka

Re: Zorro's Quality - 02/27/18 22:19

Thank you!
Quote:
You were likely testing this on a UTC server.
I downloaded history into MT4's History Center on two servers - one in UTC (Alpari) and another in ET(Gain). Both had UTC timestamps.

Quote:
Historical spread values are only used in MT5 and not MT4
Yes, dug it out on MT's forum as well.

So, what's the solution?

Does Zorro save Asks or Bids when requesting historical data from MT5?
From experience, do spreads on MT5 demo accounts same as on live accounts?
Posted By: AndrewAMD

Re: Zorro's Quality - 02/27/18 22:36

Originally Posted By: Zheka
I downloaded history into MT4's History Center on two servers - one in UTC (Alpari) and another in ET(Gain). Both had UTC timestamps.
Your server hosts were kind enough to enforce UTC timestamping.

But to write a Zorro plugin that accounts for all servers (including the one in my screenshot, look closely...), it must enforce an offset based on time difference between reported server time and UTC.

MT4/MT5 is a sort of Plato's Cave, if you will. wink
Posted By: Zheka

Re: Zorro's Quality - 02/28/18 11:11


Quote:
Your server hosts were kind enough to enforce UTC timestamping.
What will be the timestamps of data downloaded into Oanda's MT4 terminal database?

Quote:
it must enforce an offset based on time difference between reported server time and UTC.
It just requires a more sophisticated logic; roughly, compare the last knownreported MT4 server time on Friday to 21:00/22:00 UTC on Friday (rather than to UTC at request).

Quote:
MT4/MT5 is a sort of Plato's Cave
Seems so.
Will getting data via MT5 work?
Posted By: AndrewAMD

Re: Zorro's Quality - 02/28/18 12:03

In MQL, bar = historical.

In the example I show, Oanda MT4 is 14:19 at 19:19 UTC, so it is off by five hours. The script output is in the log at the bottom.

I can hop to a UTC enforced MT4 server and the numbers will match.

MT5: You’re asking if historical spread is available? Very likely implemented in MT5 and not difficult to implement in the MT5 plugin. Ask nicely, and they might implement it. laugh
© 2024 lite-C Forums