ADS Securities - FX and CFD Trading With the Middle East Brokerage of the Year

Remove an EA through MQL4 code

Back to topics list To post a new topic, please log in or register
gjrexach 2011.05.07 03:11


Does anybody know if there is a way to remove an active EA/INDICATOR programmatically(using MQL4 code), rather than manually(going to the EA/INDICATOR properties and removing it)?

Any responses will be appreciated

Gold slightly higher ahead of U.S. GDP, Jackson Hole meeting eyed
Gold futures were slightly higher on Thursday, as investors awaited the release of revised U.S. second quarter GDP later in the day for a fresh reading on the strength of the economy.
forexCoder 2011.05.07 03:15 #

Not in Mql4 afaik.

Mql5 has this functionality built in.

forexCoder 2011.05.08 04:18 #
Woop 0.o bloody nice.
gjrexach 2011.05.30 22:13 #

Sorry for late response. Didnt think anybody would answer it intelligently. Thank you VERY MUCH .. Havent tried it but will soon.

BTW... read your post on the link... I agree with you. Although I am a firm believer in "The only stupid question is the one you dont ask", as all rules go,"Every Rule has an exception,EXCEPT THIS ONE"

Thanks again


royclark 2013.08.13 04:55 #

Hi I have not seen any real answer to this question, now 2 years old. So I propose the solution in code form. Easy really when you know how.!

PS If you really like this code (only mt4 coding necessary) maybe you will put a couple of likes somewhere.

//|                                                 test.mq4         |
//| OPERATION:-                                                      |
//|  test  drop EA from chart                                        |
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      ""
#property show_inputs
#property stacksize 1024
#define MT4_WMCMD_REMOVE_EXPERT   33050 /* Remove expert advisor from chart */
#define MT4_WMCMD_EXPERT_INPUTS   33048 /* Open expert Inputs dialog */
#include <stderror.mqh>
#include <stdlib.mqh>
#include <WinUser32.mqh> // required for MessageBox()
// --- user32.dll is required for MessageBoxA and PostMessageA
#import "user32.dll"
   int    MessageBoxA(int hWnd, string lpText, string lpCaption, int uType);
//  MessageBoxA Parameters:
//  hWnd      -   Windowshandle() Chart symbol
//  lpText    -   Optional text that contains the message to be displayed. or NULL 
//  lpCaption -   Optional text to be displayed in the header of the dialog box. If NULL displays the expert name. 
//  uType     -   Optional flags that determine the type of buttons displayed as per flags in MessageBox().
//                eg. MB_OK MB_OKCANCEL MB_YESNO
//  return codes - As MessageBox() eg IDOK IDCANCEL IDABORT IDYES IDCONTINUE says these buttons were selected                  
//  PostMessageA Parameters:
//               PostMessageA(hWnd, WM_COMMAND, mydefine, 0);
//  hWnd      -   Windowshandle() Chart symbol
//  WM_COMMAND-   Windows Command instruction
//  mydefine  -   Any #define integer from aswincmds.mqh  
//---- input parameters . WinUser32 above is required for messagebox

// messageboxA and PostMessageA variables
int            hWnd, uType, mydefine;
string         lpText, lpCaption; 

//| program start function                                    |
int start()
  Print("Trying to drop expert from chart");
  // string name=WindowExpertName(); 
  // GlobalVariablesDeleteAll(name);
// remove the comment slashes above if you really want to delete Globals
  lpText="Your subscription has expired, so I will now remove the Expert from the Chart";
  lpCaption="Subscription Expired "+WindowExpertName();
  MessageBoxA(hWnd,lpText,lpCaption,uType); // display removing Expert message with only "OK" button
  PostMessageA(hWnd, WM_COMMAND, mydefine, 0); // drop from chart
  } // end start

WHRoeder 2013.08.13 16:47 #
royclark: I have not seen any real answer to this question, now 2 years old.
Why did you dig up a two year old post that already had the links to How do I close an Expert programmatically? - MQL4 forum and #define's for known commands that can be used for PostMessageA() - MQL4 forum and post exactly the same thing?

Back to topics list  

To add comments, please log in or register