For MQL5, this is the code. Unfortunately, there seems to be an error with FXDreema or something for the MQL5 version. You'll have to save it as a MQ5 (the source code) and delete the semicolons on the global variables (includes/defines). For whatever reason when trying to compile, it's putting semicolons which makes it returns an error when trying to compile. I did test it and it works.
// Global Variables, includes
#include <WinAPI/winapi.mqh>
#include <WinAPI/winuser.mqh>
#define MT_WMCMD_EXPERTS 32851
#define WM_COMMAND 0x0111
#define GA_ROOT 2
// Main Code
if (TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)){
HANDLE hchart = ChartGetInteger(ChartID(), CHART_WINDOW_HANDLE);
HANDLE hmt = GetAncestor(hchart, GA_ROOT);
PostMessageW(hmt, WM_COMMAND, MT_WMCMD_EXPERTS, 0);
}
When you export the MQ5 from FXDreema, you need to remove these semicolons:

Sorry there isn't an easier way, not sure why it's randomly putting semicolons.