Invalid EX5 file (8) - MT5/MQL5 BUG - page 2

 

Can anyone recommend a good C# wrapper for MT5?

 
Marco vd Heijden:

I am not having a bad day and i was being serious.

With your experience i am sure you can do better then the available.

When are you going to decide to stop using it if it isn't satisfying your needs ?


Sorry, misunderstood this as ironic. 

 
Doerk Hilger: Can anyone recommend a good C# wrapper for MT5?

I don't think there will ever be a good wrapper for MT4/5, be it in C# or any other. MT4/5 is just not designed that way to facilitate that. What is needed is a real API, but that will never happen with MetaQuotes!

 

When you pick the right API then the graphical part becomes peanuts.


It might be a lot easier then you expect.

 
Marco vd Heijden: When you pick the right API then the graphical part becomes peanuts. It might be a lot easier then you expect.
There are several open APIs that some brokers use, such as FIX (Financial Information Exchange) API, but the minimum Deposit and Transaction minimums to be able to open such accounts, are on the most part, beyond what most retail traders are able to comply with!
 
Fernando Carreiro:
There are several open APIs that some brokers use, such as FIX (Financial Information Exchange) API, but the minimum Deposit and Transaction minimums to be able to open such accounts, are on the most part, beyond what most retail traders are able to comply with!

I was referring to the Graphical Charts part.

 

Update: Project compiles and is usable when I compile seprately and drag it on the chart. It´s not working when I try to use the EX5 file which is generated by the debugger and pressing the Play-button. 

 
Doerk Hilger:

I we would collect the best developers here, I am sure we could. But for one person its simply too much work. Dont underestimate the graphical part with charts and all that drawing stuff, all the indicators, the data-sycn and last but not least the API. But what I already think about is replacing the chart-drawing. This XOR drawing (SetRop2) instead of mixing colors (and non-flexible scaling) drives me crazy ... you always have colors on the chart that you never wanted.  

I would be curious to see the "best developers" here to work together on something for more than 2 weeks

Who will finance such project ?

 

There is no additional information from MT5 and the project compiles without any errors or warnings in strict-mode

Probably not important, but there is no strict mode for mql5.

Another one is: "Pure virtual function call", this I get in the MT4 version under a specific circumtance, of course also no additional information, and the debugger is just stopping and not leading me to the root of the problem. But MT4 is dead, since MQ is not willing to fix bugs anymore (I bother them since 9 months with videos and source code where I´ve been proven bugs, and the answer was: "The behaviour is as it is, MT4 is not editable". Great stuff!)

See documentation :

If the constructor for an abstract class calls a pure virtual function (either directly or indirectly), the result is undefined.

About MT4 no more supported : No one can say it's a surprise.

Doerk Hilger:

Update: Project compiles and is usable when I compile seprately and drag it on the chart. It´s not working when I try to use the EX5 file which is generated by the debugger and pressing the Play-button

It's unclear. Compile what separately ?

The ex5 file is produced when you press the "Play button", so not sure what you mean.

 

Thanx Alain

1. Best developers ... yes you´re right ;)

2. Strict ... really? I simply have this #property strict as standard in the header of each file anyway

3. Pure virtual ... yes, figured it out, was due to a change. But it´s funny to see that I can debug the code of a function of an object which is already deleted :D ... it was like (not tested, just typed ..)

class CAny
   {
   public:
   void anyfunc()
      {
      killer.Kill(GetPointer(this));
      //----
      Print("I am still alive");
      //----
      anotherfunc();
      }

   void anotherfunc()
      {
      //--- Never reached
      }
   };  

class CKiller
   {
    public:
    void Kill(CAny *ptr)
        {
        delete ptr;
        }
   }; 

CKiller killer;

CAny *any = new CAny();

any.anyfunc();

4. Compile - When I press the Start-button to start the debugger, it creates an EX5. This does not work. When I press the Compile-button which only creates the EX5, that one works. 

Reason: