The most common reason is that incorrect prices have been referred to. You must refer to the bid prices to check whether the requested take profit price level on a buy trade has been reached or not. However, in the case of a sell trade, you must refer to the ask prices.
A standard account has a mark-up on the raw spreads. This spread mark-up does not appear in bid prices recorded on the chart by default.