This post is about problems on mql5.com site to subscribe signals. I will also introduce how to solve these problems

MT4 Terminal requires Signal Search Feature

There are around 2000 Signals in mql5.com Signal Database for MT4. Imagine you have found a “good” signal and want to subscribe to it from your terminal. You can click to Subscribe button on web and your browser will open MT4 Terminal with request to subscribe. But imagine if you have multiple MT4 Terminals installed (most of us have done) then your browser will open always same browser (usually first of last installed Terminal).

You may try to search the signal from Signals Tab inside MT4 Terminal. The problem here is that you cannot find your signal easly among thousands of signals! Metatrader4 definetly needs a search signal feature.

SignalOnMt4

I have also tried to Subscribe to Signals with MQL Script. Since Build > 620 they have introduced “Trade Signal Commands”, they look very promising at first sight. I have tried following code:

void OnStart()
  {
  int total=SignalBaseTotal();
  long signalid = 74156;
//--- process all signals
   for(int i=0;i<total;i++)
     {
      //--- select the signal by index
      if(SignalBaseSelect(i))
        {
         //--- get signal properties
         long   id    =SignalBaseGetInteger(SIGNAL_BASE_ID);          // signal id
         long   pips  =SignalBaseGetInteger(SIGNAL_BASE_PIPS);        // profit in pips
         long   subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // number of subscribers
         string name  =SignalBaseGetString(SIGNAL_BASE_NAME);         // signal name
         double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE);        // signal price
         //--- print all profitable free signals with subscribers
         if(price==0.0 && pips>0 && subscr>0)
            PrintFormat("id=%d, name=\"%s\", pips=%d, subscribers=%d",id,name,pips,subscr);
        }
      else PrintFormat("Error in call of SignalBaseSelect. Error code=%d",GetLastError());
     }
  ResetLastError();
  if (SignalSubscribe(signalid))
  {
   Print("Success");
  }
  else 
  {
   Print("Error : "+GetLastError());
  }
  }

Result: it throw me around 120 signals out of 2000 available. Different brokers deliver different signals. Moreover SignalSubscribe() command fails with 4060 error if you run it as Script(Operation not permitted). For more details about this problem i have opened a forum thread. Update: Signalsubscribe seems to work as Expert Advisor but i think its too insecure to be able to subscribe to signals from an Expert Advisor. To subscribe to any signal you would need to enter SignalID as external parameter and EA would subscribe for you.

Conclusion: It is not easy to subscribe in multi mt4 environment to pre-choosen signal providers feed without external tools. I really hope that Metaquotes implements search functionality into MT4.

Find SignalID

SignalID is an unique identified which is assigned to every unique signal at mql5.com site. SignalID is usually carried in URL to load signals. For example; the Signal ‘Lol’ has SignalID 47702, we can read this from url https://www.mql5.com/en/signals/47702. Of course you could use Signal Enumerating functions to find your Signal and use

long   id    =SignalBaseGetInteger(SIGNAL_BASE_ID);

to search the Identified, but as i mentioned this function is not working properly (probably not yet)

Manual Approach

You can initiate a subscription with Parameters sent to MT4 Terminal easly. Here is how:

  1. Make sure your MT4 Terminal you want to start subscription is logged in with your mql5.com credentials & has enough credit on account, deposit more, if you don´t
  2. You open Command Line Interface (cmd.exe)
  3. Go into the folder with cd command
  4. type
    terminal.exe "mql4buy://signal/subscribe/12345.fx1"

    and press Enter. You replace 12345 with your favorite SignalID.
    subscribemanual

  5. Wait several seconds, your terminal will popup with Subscribe confirmation dialog

Automatic: SignalSubscriber

I have written small utility for myself you can type SignalID and select Terminal to subscribe and it will start subscription dialog with Terminal automatically. This tool does not automate all process, you still need to confirm subscription with your mql5.com login. You will also need a Terminal which supports Signals and enough credit.
autosubscribe
You can download this tool here

I am using SignalSubscriber tool myself and so far very nice tool, it helps me to subscribe signals rapidly.

Hope to have helped to save you guys time & money