What would you improve on the MT4?

 

Hey guys,

 

If you could change/improve anything on the MT4, what would you do?

 

I'll start :)

I would love to see the MT4 to provide a margin calculator from within the platform so I can calculate my used margin before I open a position. 

 

Looking forward to hearing your opinions!

 

I would like to see the strategy tester in Visual mode have a sensible speed control

As it is 32 is way too fast and 31 painfully slow usually. I don't know what use 30 and below are! 

 
GumRai:

I would like to see the strategy tester in Visual mode have a sensible speed control

As it is 32 is way too fast and 31 painfully slow usually. I don't know what use 30 and below are! 

Very true.

As a workaround, I set speed to 32 and then build in a loop to do some pointless processing each tick. I control speed by the length of the loop. 

It really shouldn't be necessary! 

 
honest_knave: As a workaround, I set speed to 32 and then build in a loop to do some pointless processing each tick. I control speed by the length of the loop. 
I run at 32 and have it pause, when something happens (like open/or close)
//{                                  PauseTest
// https://forum.mql4.com/35112
// Each chart consists of two windows (i.e. two hWnds): the drawing area (WH,)
// and a container (GA.) There is then a standard MDI container which holds all
// the chart windows (GA1.) And that sits inside the main MT4 window (GA2.)
//}
#include <WinUser32.mqh>
#import "user32.dll"
   int      GetAncestor(int, int);
#import
void     PauseTest(){
   datetime now = TimeCurrent();    static datetime oncePerTick;
   if(oncePerTick != now)if( IsTesting() )if( IsVisualMode() )if(
      IsDllsAllowed() ){   oncePerTick = now;               #define GA_ROOT 2
      for(int i=0; i<200000; i++){     // Delay required for speed=32 (max)
         if(IsStopped())   break;      // https://forum.mql4.com/32837 WH-DL
         int      main = GetAncestor(WindowHandle(_Symbol, _Period), GA_ROOT);
         if(i==0) PostMessageA(main, WM_COMMAND, 0x57a, 0); // 1402. Pause
      // TBD replace loop/postmessage with sendmessage
   }  }
   //{The PostMessage above sends the command to the main terminal. Thus it
   // only affects the active chart window. To maximize a window for example
   // must activate it first. https://forum.mql4.com/35336#538848
   //}See also SetForgroundWindow(h) https://www.mql5.com/en/code/mt4
}
 

I think that MQ announced with Build 600 that they will port the MQL5 Standard Library to MQL4.

This set of classes will make development easyer and faster and as a result we get ex4 in higher quality.


And yes, speed control sucks  ;-)

 
I would like to see a native Linux version of Metatrader 4. Maybe crossplatform by porting it to Qt.
 

- Events for orders like on MT5 -> OnTransaction

- Less tricky handling of bitmaps

Reason: