You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
I have re-tested with the latest version "4.9997" in cloud storage.
Still, the same issues with the above 2 examples in #54
Edit: another problem
New Beta update available in cloud-storage.
I addressed all issues you have reported and as far as I can see from early testing, it seems to be corrected now.
I addressd both issues, the if() - condition statement as well as un-braced if, for and while statements, and any other like that.
All but GetPointer are as far as I am aware of issues, currently addressed and should finally be persistent...
I will begin testing later, I need a break (and a new keyboard...)
I have re-tested with the latest version "4.9997" in cloud storage.
Still, the same issues with the above 2 examples in #54
Edit: another problem
You are making great progress, definitely! Now, it is a stable Beta that needs some refinements. I am always looking for some api-tracer for mql (even if not working 100%).
I added these overloads starting at line #1213 in header "lib_debug.mqh" to overcome compiler errors:
Now running this demo script (that considers many test cases) through your api-tracer works as expected. Great!
Un-resolved bug: for explicit cast, additional parenthesis must be added around the expression to be casted.
Edit:
I found errors in the display of double -> string.
Better to use string(dblValue) function instead of FormatString("%f", dblValue) because the string() function bug was fixed in build 3194 https://www.mql5.com/en/forum/367839/page3#comment_27477157
Here are the fixes:
Now, tracing this script displays accurate decimal strings, as the non-traced version.
You are making great progress, definitely! Now, it is a stable Beta that needs some refinements. I am always looking for some api-tracer for mql (even if not working 100%).
I added these overloads starting at line #1213 in header "lib_debug.mqh" to overcome compiler errors:
Now running this demo script (that considers many test cases) through your api-tracer works as expected. Great!
Un-resolved bug: for explicit cast, additional parenthesis must be added around the expression to be casted.
Edit:
I found errors in the display of double -> string.
Better to use string(dblValue) function instead of FormatString("%f", dblValue) because the string() function bug was fixed in build 3194 https://www.mql5.com/en/forum/367839/page3#comment_27477157
Here are the fixes:
Now, tracing this script displays accurate decimal strings, as the non-traced version.
Wow... That's great input.
As I was thinking about the cast operation and how to make valid code for it, I came up with a model that might even work in all cases.
It will use up another keyboard, but I am confident this approach will work in all cases.
The idea is to actively replace every API call with a custom function-scheme...
The idea is a variance of what I did with the functions Alert, Print, Comment...
In the end, there will be 2 consecutive function calls from the object "pass_through".
Something like this:
obj.msg().mql_api_func(... users parameters ...)
Thank you for the hint with the doubles, I will integrate that.
I think eventually the api-tracer need to over-ride all mql API functions with custom stubs, something similar to post #49, but I like more your idea of "method chaining" of the object "pass_through" for intercepting calls to mql "void" functions and redirecting them to your custom function stubs.
Now, the api-tracer macros will expand to one expression (as opposed to multiple statements). It will be tedious (but doable) to implement the same idea for other non-void functions. But, with the benefit that it will work with all operators in complex expressions.
I think eventually the api-tracer need to over-ride all mql API functions with custom stubs, something similar to post #49, but I like more your idea of "method chaining" of the object "pass_through" for intercepting calls to mql "void" functions and redirecting them to your custom function stubs.
Now, the api-tracer macros will expand to one expression (as opposed to multiple statements). It will be tedious (but doable) to implement the same idea for other non-void functions. But, with the benefit that it will work with all operators in complex expressions.
Yes, exactly.
I'll try a function router, so I might be able to reduce the amount of code a bit. - Excessive use of templating and let the compiler do the actual expansions.
Missing #endif at the end
Compilation fails: '_perf_calls_108' - undeclared identifier LibDebug_Performance.mq5 108 5
LibDebug_Performance.mq5
Compilation fails: '_perf_calls_108' - undeclared identifier LibDebug_Performance.mq5 108 5
LibDebug_Performance.mq5
Compilation fails: '_perf_calls_108' - undeclared identifier LibDebug_Performance.mq5 108 5