We present an agent based model of a single asset financial market that is capable of replicating several non-trivial statistical properties observed in real financial markets, generically referred to as stylized facts. While previous models reported in the literature are also capable of replicating some of these statistical properties, in general, they tend to oversimplify either the trading mechanisms or the behavior of the agents. In our model, we strived to capture the most important characteristics of both aspects to create agents that employ strategies inspired on those used in real markets, and, at the same time, a more realistic trade mechanism based on a double auction order book. We study the role of the distinct types of trader on the return statistics: specifically, correlation properties (or lack thereof), volatilty clustering, heavy tails, and the degree to which the distribution can be described by a log-normal. Further, by introducing the practice of profit taking, our model is also capable of replicating the stylized fact related to an asymmetry in the distribution of losses and gains.