MT4:Â
//--- importing required dll files #include <WinUser32.mqh> #import "user32.dll" int GetAncestor(int, int); #define MT4_WMCMD_EXPERTS  33020 #import //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void SetAlgoTradingTo(bool trueFalse) {     //--- getting the current status     bool currentStatus = IsTradeAllowed();     //--- if the current status is equal to input trueFalse then, no need to toggle auto-trading     if(currentStatus != trueFalse) {         //--- Toggle Auto-Trading         int main = GetAncestor(WindowHandle(Symbol(), Period()), 2/*GA_ROOT*/);         PostMessageA(main, WM_COMMAND,  MT4_WMCMD_EXPERTS, 0 );//Toggle Expert Advisor button     } }
MT5:Â
//--- importing required dll files #define MT_WMCMD_EXPERTS  32851 #define WM_COMMAND 0x0111 #define GA_ROOT    2 #include <WinAPIwinapi.mqh> //+------------------------------------------------------------------+ //| Toggle auto-trading button                                      | //+------------------------------------------------------------------+ void AlgoTradingStatus(bool newStatus_True_Or_False) {     //--- getting the current status     bool currentStatus = (bool) TerminalInfoInteger(TERMINAL_TRADE_ALLOWED);     //--- if the current status is equal to input trueFalse then, no need to toggle auto-trading     if(trueFalse != newStatus_True_Or_False) {         //--- Toggle Auto-Trading         HANDLE hChart = (HANDLE) ChartGetInteger(ChartID(), CHART_WINDOW_HANDLE);         PostMessageW(GetAncestor(hChart, GA_ROOT), WM_COMMAND, MT_WMCMD_EXPERTS, 0);     } } //+------------------------------------------------------------------+