After some times running live account with coded expert advisor, i notice some problem faced. Below are some that i found and have corrected.
1) Using the write/read file provided by the MT to store your open trade information (ticket, openprice, opentime, etc). this is usefull when you have to reload the EA or have to restart MT4 or restart the PC. By store the order ticket information and retrieve it when the EA load is going to put your trade still available and monitor by your EA. Else when you restart, you have to manually close those open trade.
2) using modifyorder command when you encounter error #129, #130, etc from closeorder(). Due to the server and the refreshdata command, sometimes it does not update latest bid and when you call closeorder, is will not execute and provide an error #129, #130, etc. By substitute closeorder with modifyorder, you suffer some pips lose but your EA still can close the order ticket that you want.
3) cancel order when your order go another direction or after a certain timeout. As most trade executed is either technical analysis or fundamental analysis which has assume it to go up (Buy Low, Sell High) or go down (Sell High, Buy Low). So if the trade goes in opposite direction or sideways for some timeout, it is advisable to cancel this order and move on to look for other trades.
Above are problem that surfaced when run Live using EA via MT4. Hope it useful. Thanks
Expert Advisor Programming: Creating Automated Trading Systems in MQL for MetaTrader 4. Click here to see 19 customer reviews and choose from 14 suppliers
Algorithmic Trading and DMA: An introduction to direct access trading strategies.
Click here to see 26 customer reviews and choose from 17 suppliers
Getting Started in Currency Trading: Winning in Today's Forex Market Click here to see 4 customer reviews and choose from 39 suppliers