Jump to content

Latest decompiler?


Rio

Recommended Posts

There's one particular EA I'd like to educate, but 224 isn't decompiling it, saying it's "protected" or broken.

 

Mind you, I don't educate many EAs these days because most EAs are **** and are not equipped to understand how the market really moves - and therefore are not consistent. Neither is MT4 equipped with the right functions to enable an EA to accurately read the market like a human. Let me put it this way.... we'll see holy grail EAs when computers can defeat those damn "Captcha" boxes you often see on those file hoarding websites and forums.

 

The EA i want to break open simply hedges and martingales to handle anything thrown at it.

Link to comment
Share on other sites

I sent them the EA I want to compile a few horus ago,... and ... nothing.

Clearly that site do not have the latest decompiler either.

 

I tried my ex4 against the demo version fo the latest ex4tomq4-4.0.409 and it decompiled OK (aside from the ****** demo limitation which only produced one function in the code for me to view)

 

...so obviously we just need the latest version

Link to comment
Share on other sites

Here is version 225.1g; try it.

 

Here's the testing I did, FWIW.

 

V224.1 can't decompile Joury V2 and neither can v225.1g.

 

V224 can decompile Forex Combo 3.1, and so can v225 but with some differences.

 

The handling of "not" logic is changed --

 

v224: if (!IsTesting() && IsStopped()) return (0);

if (!IsTesting() && !IsTradeAllowed()) {

 

v225: if ((!IsTesting()) && IsStopped()) return (0);

if ((!IsTesting()) && !IsTradeAllowed()) {

 

I'm hoping this is fixing a problem, but I can't really tell without further research. The extra parentheses sure don't make the code easier to understand. Also, the second comparison on the second line seems inconsistent with the others.

 

Gluttons for punishment will appreciate this more convoluted statement:

 

V224: if (!(TimeHour(TimeCurrent()) != li_432 && TimeHour(TimeCurrent()) != li_436 && TimeHour(TimeCurrent()) != li_440 && TimeHour(TimeCurrent()) != li_444 && TimeHour(TimeCurrent()) != li_448 &&

TimeHour(TimeCurrent()) != li_452 && TimeHour(TimeCurrent()) != li_456 && TimeHour(TimeCurrent()) != li_460 && TimeHour(TimeCurrent()) != li_464 && TimeHour(TimeCurrent()) != li_468 && TimeHour(TimeCurrent()) != li_472) ||

!(TimeHour(TimeCurrent()) != li_476)) {

 

V225: if ((!(TimeHour(TimeCurrent()) != li_432 && TimeHour(TimeCurrent()) != li_436 && TimeHour(TimeCurrent()) != li_440 && TimeHour(TimeCurrent()) != li_444 && TimeHour(TimeCurrent()) != li_448 &&

TimeHour(TimeCurrent()) != li_452 && TimeHour(TimeCurrent()) != li_456 && TimeHour(TimeCurrent()) != li_460 && TimeHour(TimeCurrent()) != li_464 && TimeHour(TimeCurrent()) != li_468 && TimeHour(TimeCurrent()) != li_472)) ||

!(TimeHour(TimeCurrent()) != li_476)) {

 

 

Generated variable names were less informative in v225:

 

V224: double l_bid_544 = 0;

V225: double ld_544 = 0;

 

 

V225 seems slower starting up than v224. As for a virus, neither Avast nor Malewarebytes detected anything unusual.

 

So, I'll keep it in the arsenal. There might be something it can handle that v224 can't. Maybe all that extra grouping of the "not" logic is needed, but then I've always felt that using "not" logic is the hallmark of a poor programmer.

Edited by BobR
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...