Not in Mql4 afaik.
Mql5 has this functionality built in.
google site:mql4.com remove EA and you'ld find https://www.mql5.com/en/forum/120736
see #define's for known commands that can be used for PostMessageA()
google site:mql4.com remove EA and you'ld find https://www.mql5.com/en/forum/120736
see #define's for known commands that can be used for PostMessageA()
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
WHEN ALL ELSE FAILS, READ THE INSTRUCTIONS...
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 "http://www.metaquotes.net" #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); #import // 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 hWnd=WindowHandle(Symbol(),0); lpText="Your subscription has expired, so I will now remove the Expert from the Chart"; lpCaption="Subscription Expired "+WindowExpertName(); uType=MB_OK; mydefine=MT4_WMCMD_REMOVE_EXPERT; MessageBoxA(hWnd,lpText,lpCaption,uType); // display removing Expert message with only "OK" button PostMessageA(hWnd, WM_COMMAND, mydefine, 0); // drop from chart } // end start

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi:
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