New MetaTrader 5 Platform Build 2190 - page 3

 
Alain Verleyen:

Why this compilation error ? Resizing an array of pointers should not invoke the constructor, is it ?

Thank you for your message.

Fixed.

Please wait for updates.

 

beta build 2197: Fatal error in the tester.

Breakpoints in the main program are not found and cause a crash.
This problem does not occur in included .mqh files.


 
MetaQuotes Software Corp.:

The MetaTrader 5 platform update will be released on Friday, October the 18th, 2019. The update provides improvements and fixes implemented based on the feedback that we received after the previous MetaTrader 5 build 2170 major update:

  1. Terminal: Fixed the display order of MQL5 programs in the Navigator.
  2. MQL5: Fixed compilation errors connected with the use of local static variables in programs having input group declarations.
  3. VPS: Fixed requesting of Hosting journals.
  4. Tester: Improved display of three-dimensional optimization charts.
  5. Tester: Fixed reception of frames during forward optimization. Now, all frames from the main and forward optimizations are available in the OnTesterDeinit function.
  6. Tester: Fixed formation of a tree of symbols in Strategy Tester settings.
  7. Added user interface translation into Punjabi (India).
  8. Documentation has been updated.
  9. Fixes based on crash logs.

The update will be available through the Live Update system.


Question.

I noticed after 4 Oct update that

if project is created I can compile the "full project" only from main (top)file  (*.mq5)  ...if I'm working on included file (in my case *.mqh) and press F7 then only the file I'm in is compiled and this results with some  errors  because not everything is included there . Is this permanent change, or I just missed a checkbox I have to click, or is this a bub ???                    (I spread my project into multiple files because is becoming very).   ... before this update, I could compile from any file and the compiler was executing "the job " like from the main file.

Regards.

 
Marcin Rutkowski:


Question.

I noticed after 4 Oct update that

if project is created I can compile the "full project" only from main (top)file  (*.mq5)  ...if I'm working on included file (in my case *.mqh) and press F7 then only the file I'm in is compiled and this results with some  errors  because not everything is included there . Is this permanent change, or I just missed a checkbox I have to click, or is this a bub ???                    (I spread my project into multiple files because is becoming very).   ... before this update, I could compile from any file and the compiler was executing "the job " like from the main file.

Regards.

Check the architect of the application.
I am using a modular system with many interchangeable modules and have no problems with it. But it took me a long time to develop this.
Modules can refer to each other.
Classes are best instantiated in the modules.
Each module has its own unique input vars.
#defines are protected with #ifndef.

//+------------------------------------------------------------------+
//| abbreviations & definitions                                      |
//+------------------------------------------------------------------+
#define CHK(chk    ) CheckErr(__FILE__,__LINE__,__FUNCSIG__,(chk)      )  // a parametric macro for errorcheck 
#define CHT(chk,txt) CheckMsg(__FILE__,__LINE__,__FUNCSIG__,(chk),(txt))  // a parametric macro for errorcheck with text

#ifndef SPACER  #define SPACER "—————————————————————"   \ #endif    // a predefine definition for old sections in input dialogs, group is used now
#ifndef METHOD  #define METHOD  ENUM_MA_METHOD           \ #endif    // abbreviation for ENUM_MA_METHOD
#ifndef APRICE  #define APRICE  ENUM_APPLIED_PRICE       \ #endif    // abbreviation for ENUM_APPLIED_PRICE
#ifndef TIMEFR  #define TIMEFR  ENUM_TIMEFRAMES          \ #endif    // abbreviation for ENUM_TIMEFRAMES
#ifndef POSTYPE #define POSTYPE ENUM_POSITION_TYPE       \ #endif    // abbreviation for ENUM_POSITION_TYPE
#ifndef ORDTYPE #define ORDTYPE ENUM_ORDER_TYPE          \ #endif    // abbreviation for ENUM_ORDER_TYPE
#ifndef RETCODE #define RETCODE ENUM_INIT_RETCODE        \ #endif    // abbreviation for ENUM_INIT_RETCODE
#ifndef SPRICE  #define SPRICE  ENUM_STO_PRICE           \ #endif    // abbreviation for ENUM_STO_PRICE
 

Hi,


It is the second time you make a new build and it changes everything so that we now have compilation errors on our program, and we don't have them if we don't make the update.

Please can you tell me what are the changes you made about compilation. It seems that you have changed the grammar.

Last year we had the same problem, the function Print or PrintFormat would not work the same anymore after updating to your new build.

This is not pro ...

Where are we informed of your changes ??

 

Hi,

This code :

class obj1{
      int att1;
   public:
      void obj1(int catt1){att1=catt1;}
};

class clbug{
      obj1 *obj1instance;
   public:
      void clbug(){}
      void clbug(obj1 &constParamObj1){obj1instance=constParamObj1;}
};

int OnInit(){
  obj1 occurenceobj1(18);
  clbug clbug1=new clbug(occurenceobj1);// bugged line 31
  return(INIT_SUCCEEDED);
}


generates the error :

'clbug' - parameter passed as reference, variable expected    testbugpointer.mq5    31    20


if we write :

clbug *clbug1=new clbug(occurenceobj1);// line 31 not bugged anymore

It now compiles.

MetaQuotes seems to miss coherence when dealing with pointers. It doesn't work like C++ at all !!! and sometimes you are trying to make as if it did, but just trying ...

 
AzurForall:

Hi,

This code :

...

Forum on trading, automated trading systems and testing trading strategies


When you post code please use the CODE button (Alt-S)!

Use the CODE button

 

https://www.mql5.com/en/forum/325929

In addition to the comments I made in the original post I have made a fresh install and even on creating the stub of a new expert advisor I am unable to hit a break point before MT5 bombs out.

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                                    Copyright 2019, Robert Baptie |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, Robert Baptie"
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  Comment("started a tick");
//---
   
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   
  }
//+------------------------------------------------------------------+

How / where  do I get hold of a build that is stable?

I can zip the whole system and allow you to access it on a remote server for analysis or you can remote into my machine to check out the issue?

Please advise.

application crash - will no longer enter debug mode and hit a break point
application crash - will no longer enter debug mode and hit a break point
  • 2019.11.06
  • www.mql5.com
My code started giving me a error seen in the screen shot below. 1/. I rebooted - same problem 2...
 
rob:

https://www.mql5.com/en/forum/325929

In addition to the comments I made in the original post I have made a fresh install and even on creating the stub of a new expert advisor I am unable to hit a break point before MT5 bombs out.

How / where  do I get hold of a build that is stable?

I can zip the whole system and allow you to access it on a remote server for analysis or you can remote into my machine to check out the issue?

Please advise.

Can't be reproduced.


 

I rolled back to a previous version build 2160 27th Sept I had archived away. This works beautifully with my new code - Seems I am not as mad as I thought I was hehe.

Ok -> Only problem I have is, of course, mt5 downloads and installs updates?  It always updates me to the build I reference in the initial contact above and this fails for me at this time.

Is MetaEditor version 5 build 2197 31st October the latest production release?

I am currently trying to stop mt5 downloading automatically updates on the  linux box - not sure if its possible yet but will advise. If you have any clues where to look - please let me know - I seem to recall that in some post you referenced not connecting to Metaquotes servers so I will start here.