Discussion of article "Applying OLAP in trading (part 4): Quantitative and visual analysis of tester reports" - page 2

 

Here it is.

Files:
 
Szabo Bence #:

Here it is.

MQL5 may change over time, from build to build. Sometimes such changes break compatibility with existing sources.

Two first errors in your error list comes from outdated MT5 build (you should update to more recent version).

As for the errors in TypeToBytes library, I should note that this is not my library. This is a 3-rd party stuff, and as with any 3-rd party dependencies you should check updates for them from corresponding authors.

Currently I'm attaching the latest version of TypeToBytes.

Files:
TypeToBytes.mqh  21 kb
 
Stanislav Korotky #:

MQL5 may change over time, from build to build. Sometimes such changes break compatibility with existing sources.

Two first errors in your error list comes from outdated MT5 build (you should update to more recent version).

As for the errors in TypeToBytes library, I should note that this is not my library. This is a 3-rd party stuff, and as with any 3-rd party dependencies you should check updates for them from corresponding authors.

Currently I'm attaching the latest version of TypeToBytes.

Thank you for the updated library. It's working.

Although the two first errors still come up. I have the 2981 build (latest).

 
Szabo Bence #:

Thank you for the updated library. It's working.

Although the two first errors still come up. I have the 2981 build (latest).

Yes, there is the bug in it. You may install latest beta-version (say, 3042, 3061) or add casting to (Selector<E> *) and (Filter<E> *) in the 2 corresponding lines. According to the error wording, the compiler ignores const modifer mistakenly. Apparently the source code is correct. The suggested change is just a temporary workaround.

 
Stanislav Korotky #:

Yes, there is the bug in it. You may install latest beta-version (say, 3042, 3061) or add casting to (Selector<E> *) and (Filter<E> *) in the 2 corresponding lines. According to the error wording, the compiler ignores const modifer mistakenly. Apparently the source code is correct. The suggested change is just a temporary workaround.

Okay I see. With your suggested code modification it is working.

Thanks.

 

I publish updated source of OLAPCommon.mqh file, which stopped compiling due to changes in the compiler. Also need TypeName.mqh - typename behaviour has also changed.

PS. Library from fxsaber TesterCache.mqh also needs to be updated.

Files:
OLAPCommon.mqh  47 kb
TypeName.mqh  2 kb
 

Stanislav, please tell me what could be the matter. I have updated all the files. But the compiler still fails.



Maybe this is the right way? Then the error disappears:

TypeSelector(): TradeSelector(FIELD_TYPE)
  {
// _typename = typename(this); // fail
   _typename(typename(this));   // OK
  }


 
Denis Kirichenko #:

Stanislav, please tell me what could be the matter. I have updated all the files. But the compiler still fails.

Maybe this is the right way? Then the error disappears:

Something was changed in MQL5, so you need to patch OLAPTrades.mqh by analogy with OLAPCommon.mqh (which has already been done earlier).

      _typename_ = TYPENAME(this);

I attach the corrected file.

Files:
OLAPTrades.mqh  15 kb
 
Thank you very much! It worked ))