Errors, bugs, questions - page 2678

 
Vladimir Karputov:

MetaTrader 5 (for the terminal's built-in virtual hosting lease) requires a 64-bit operating system.

Thanks for the reply, guessed it ...
 
Igor Makanu:

on Win 10 does anyone connect local agents?

Tried connecting 2 PCs, remote agent is constantly ready-connect-ready-connecting... no jobs.

i had a look in the firewall i think there is a checkmark for Metatrader Agent , export - import agent via file sees ports and name of pc also

I have a hunch that ports need to be forwarded somewhere else?

it was the ports

Googled how to open the ports from the command line in Win10, ran a PowerShell on the PC which will distribute resources with commands to open the 3000 and 3001 port:

netsh advfirewall firewall add rule name="mtferm" protocol="TCP" localport=3000 action=allow dir=IN
netsh advfirewall firewall add rule name="mtferm" protocol="TCP" localport=3001 action=allow dir=IN

Immediately the agents started getting jobs

 
I'm a little off-topic but has anyone used VSIsoShell.exe (Visual Studio 2010 Shell (Isolated)) what is it for ?
 
Sergey Dzyublik:
The MT5 bug (build 2345) in base class constructor cannot perform explicit typecast on casting pointer to object of base class to pointer to parent class.


It turns out that to implement "pattern" emulation of virtual template functions it is necessary to pull the direct value of the pointer to the parent class into the base class besides the type inheritance, which is not good...

In MQL, you cannot cast a pointer in an ancestor constructor to a descendant, the descendant has not yet been constructed.

The dynamic_cast is an optimization, T* is cast to T* - the compiler simply deletes this instruction, it is not "free".

 
Sergey Dzyublik:
MT5 bug (build 2363) Mismatching execution priorities of template functions in MQL compared to template functions in C++(online:https://onlinegdb.com/HkNqBDZ88).
The problem
occurs when the first "test" function contains a fullyspecialized template base class as an argument,
and the second "test" function overloads the first, is a template function and contains a non-specialized template base class as an argument.

Thanks for the addition, fixed

 
Anna Rich:
Thanks for the reply, I guessed it ...
Installed MT5 on 64 bit, migration passed, account details are in the account column, but no signals icon, i.e. i cannot watch signals and connect to them
 
Anna Rich:
I updated my MT5 to 64 bit, migration was successful, the account details are in the account column, but I don't see the signals icon

You probably meant to say: there is no "Signals" tab in the "Tools" window?

If so, the following options are possible:

  1. The server where you have your account turned off the "Signals" tab. How to check: open a demo account (or login if you already have a demo account) on MetaQuotes-Demo server.
  2. An old version of Internet Exlorer. How to cure: uninstall IE and install the latest version (11)
 
Vladimir Karputov:

You probably meant to say: there is no "Signals" tab in the "Tools" window?

If so, the following options are possible:

  1. The server where you have your account turned off the "Signals" tab. How to check: open a demo account (or login if you already have a demo account) on MetaQuotes-Demo server.
  2. An old version of Internet Exlorer. How to fix it: Remove IE and install the latest version (11)
Yes , I checked , there is no signals tab on the demo account
I also have 7, maybe I already have 10
P.s. Yes , it turned out to be the winds , installed winds 10 and everything is ok , thanks !
 
Ilyas:

Thanks for the addendum, fixed

2365 - the code was sprinkled with errors. Had no time to figure it out yet. I rolled back to 2361 - it was ok. Same situation in mq4.

 
Bug MT5 (build 2365) Compilation error on implicit constructor call to class using assignment operator, when pointer passing by reference is used as constructor argument.
If pointer passing by reference is replaced by value passing, everything works.

class C{};

struct B{
   char data;
public:
   B(long &src){}
   B(C* &src){}   
};

   
void OnStart(){  
   long value_long  = 0;
   C* value_c = NULL;
   
   B b_long = value_long;   // Ok
   B b_ptr_0(value_c);      // Ok
   B b_ptr_1 = value_c;     // cannot convert type ' *' to reference of type 'C *'
}