An Expert Advisor is a piece of software written specifically for the MetaTrader Platform. An Expert Advisor can just advise traders which trades to make or can be programmed to automatically execute the trades on a live account.
Expert Advisors are very flexible pieces of software that can take any information into account that is available on the metatrader platform.
They are written in their own proprietary programming language called MetaQuotes Language Version 4.