There can be a lot of reasons why a trade doesn't open. Let's start with the simple things.
Autotrading/Algotrading is turned off. Make sure it's turned on.
Markets are closed.
You are trying to take a provider order as a market order. If the market price is on the wrong side of either the SL or the TP, some brokers will reject the order completely. See this article for more info.
Broker requotes/no prices. This happens on market orders during thin or fast moving markets. It usually results in a code 10004, 10014, 10018, or 10021.
The signal contains symbols that do not match the EA's internal symbol map (symbol not found). Remember, forex pairs are mapped internally by the EA unless the format is unusual (like #EURJPY or EUR/JPY for example). Gold, indexes and crypto must be mapped manually, in the EA settings. See here.
You are trying to take a trade with a lot size that is smaller than your broker's minimum lot size. Many brokers have minimum lot sizes, especially for gold, indexes, crypto, and oil.
Now let's talk about some of the more advanced reasons.
TelegramFXCopier is built to handle a wide variety of use cases. There are times, though, that you will need to make adjustments to the way it submits orders.
In some cases, the trade will be rejected by the broker, at the server level. Some brokers will provide feedback for the rejection. Other brokers don't provide much feedback, and it's difficult to know the exact reason for the rejection.
If it's a broker rejection, there is a class of server rejection codes that can help you understand why your trade was rejected. Here is a partial list of them. The most frequent ones we see are 10004, 10016, 10017, 10018, 10019, and 10027. Some of these are obvious, but others may require you to contact your broker. Good luck there...
Tracking the EA's Behavior In the Log Files.
MetaTrader requires every EA to leave a footprint for any action it takes. This means, if there is an error, there will be a record of that error in the Journal tab and the Experts tab. Each records different aspects of the EA behavior.
Records in the Journal tab will look like this:
Notice how the record contains all of the prices from the trade, as they get submitted to the broker? You can use this to check against the Telegram signal if there's a submission error.
Records in the Experts tab look like this:
These records are not as verbose. You can right click on any entry, and open it in Notepad to get more information.
Finally, there is the log that the copier creates. This shows a record of every trade as it comes through the copier, passes to the EA, and gets submitted to the broker.
You can navigate here to locate it:
C:\Users\(your computer's name)\AppData\Roaming\MetaQuotes\Terminal\(your metatrader installation)\MQL or MQL5\Files\TelegramFXCopier_Report_V11.txt
Once you locate and open the log file, you will see records of when the EA was connected, and trades that passed through the system.
Here is what the log of a successful trade looks like:
If the trade gets rejected because the EA misinterprets the signal and passes it to the broker, you'll see a -1.0 code. Here's an extreme example, taken from one of our debugging processes during testing of a new (not released) version of the EA:
In this particular case, you can see the EA is mishandling the SL and misinterpreting it as a TP. This is typically not something you'll run into, but if you get a -1.0 error code, you can simply change the detection style of the EA and that will solve the issue. Follow the instructions here.
Hopefully this helps you better understand how the copier works. Feel free to open a live support chat or email if needed.