MetaTrader 4 platform update build 1400: Improved Market security - page 2

 

Don't waste your time.

MT4/mql4 is NOT developed any more.

ONLY critical BUGS are fixed.

Critical BUGS are platform crashes, or security issues.

 
Trinh Dat #:
do you ever use  OrderModify with expiration >0  ? 

If I set expiration, I do it using OrderSend() (when I open an order). In OrderModify() I always pass what OrderExpiration() returned.

If I set the expiration in OrderSend(), then OrderExpiration() will return a value other than zero. So here's a direct answer to your question: yes, sometimes I used OrderModify with expiration > 0

 
Vladislav Boyko #:
If I set the expiration in OrderSend(), then OrderExpiration() will return a value other than zero. So here's a direct answer to your question: yes, sometimes I used OrderModify with expiration > 0

I sure you not understand problem. Let see code and result


#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int ticket = OrderSend(_Symbol,OP_BUYLIMIT,1, Ask - 500*_Point,50,0,0,"TEST ORDER",0, TimeCurrent() + 60*60);
   Print("order opened ", ticket);
   if(OrderSelect(ticket,SELECT_BY_TICKET))
     {
      double price = OrderOpenPrice(), sl = OrderStopLoss(), tp = price + 500*_Point;
      bool modify = OrderModify(OrderTicket(),price,sl,tp,OrderExpiration(),clrNONE);
      if(!modify)
         Print("modify ERROR ", GetLastError());
     }
  }
//+------------------------------------------------------------------+



 
Trinh Dat #:

I sure you not understand problem. Let see code and result

I have run your code on Metaquotes Demo:

(several re-runs did not produce an error)


 
Alain Verleyen #: Don't waste your time. MT4/mql4 is NOT developed any more. ONLY critical BUGS are fixed. Critical BUGS are platform crashes, or security issues.

Interesting that you say this.  Seeing that the size of both terminal.exe and metaeditor.exe doubled from b1380 to 1400, which is not that long ago.

What kind of critical bugs are we talking about here?

 
@AwarenessForex #Interesting that you say this.  Seeing that the size of both terminal.exe and metaeditor.exe doubled from b1380 to 1400, which is not that long ago. What kind of critical bugs are we talking about here?

That is absolutely false. Don't spread fake information. Here are the actual file sizes ...

build
1380
1400
1403
terminal.exe
25.3MB
27.6MB
27.7MB
metaeditor.exe
16.1MB
16.0MB
16.2MB
 
Fernando Carreiro #:

That is absolutely false. Don't spread fake information. Here are the actual file sizes ...

build
1380
1400
1403
terminal.exe
25.3MB
27.6MB
27.7MB
metaeditor.exe
16.1MB
16.0MB
16.2MB

You are correct in that I got the build numbers wrong. I apologize for this. The size nearly doubled closer to b1360.  I re-checked a b1353 build, which is

b1353 terminal.exe     13.8 MB

b1353 metaeditor.exe  9.5 MB

And so with the table you have provided, I will add b1353

build 1353 1360 1380 1400 1403
terminal.exe 13.8MB ? 25.3MB
27.6MB
27.7MB
 metaeditor.exe 9.5MB ? 16.1MB
16.0MB

16.2MB


Then I will do the math comparing the later versions from b1353

terminal.exe

build 1360 1380 1400 1403
terminal.exe    ? 25.3 27.6 27.7
terminal b1353 13.8 13.8 13.8 13.8
Difference   11.5 13.8 13.9
% increase   183% 200% 201%


build 1360 1380 1400 1403
 metaeditor.exe    ? 16.1 16 16.2
 metaeditor b1353 9.5 9.5 9.5 9.5
Difference   6.6 6.5 6.7
% increase   169% 168% 171%



So since b1353, the file sizes actually doubled for terminal.exe and then nearly 70% increase for metaeditor.exe.

I apologize for the clerical error in build #s.     Good to see people are keeping older builds for historical purposes though.


And the original question was:   What kind of critical bugs are we talking about here? [to cause such a large file increase in a program that does not have any new features]

 
@AwarenessForex #: So since b1353, the file sizes actually doubled for terminal.exe and then nearly 70% increase for metaeditor.exe. I apologize for the clerical error in build #s.     Good to see people are keeping older builds for historical purposes though. And the original question was:   What kind of critical bugs are we talking about here? [to cause such a large file increase in a program that does not have any new features]

The major file size change took place between the official release 1370 and 1380, but it was actually at beta build 1376 that I detected a major file size change.

I don't usually save the beta builds, so it could have been at another build that the change occurred.

However, I suspect that what changed was the packing size of the encryption used to protect the executable files, and not the actual functionality.

build
1370
1376
1380
terminal.exe
14.3MB
19.5MB
25.3MB
metaeditor.exe
9.8MB
(2402)
22.9MB
(2402)
16.1MB
(2403)

PS! That is not an error in the MetaEditor file size. It went from 9.8 to 22.9 to 16.1.

EDIT: Also important to note is that MetaEditor for MT4 has a different build number, which I have added to the table above in parenthesis. This is also the reason I suspect a change in packing size as the MetaEditor build did not change between 1370 and 1376.

 

https://www.mql5.com/en/docs/basis/types/object_pointers

To quickly validate the pointer, you can also use operator "!" (LNOT) which checks it via an implicit call of the CheckPointer function.

Doesn't work for object that is deleted. Result of running the code from the documentation:

I understand that it is far from a fact that this should work in MT4. Just in case.

Files:
reproduce.mq4  1 kb
Reason: