We build an agent-based model to study how the interplay between low- and high-frequency trading affects asset price dynamics. Our main goal is to investigate whether high-frequency trading exacerbates market volatility and generates flash crashes. In the model, low-frequency agents adopt trading rules based on chronological time and can switch between fundamentalist and chartist strategies. On the contrary, high-frequency traders activation is event-driven and depends on price fluctuations. High-frequency traders use directional strategies to exploit market information produced by low-frequency traders. Monte-Carlo simulations reveal that the model replicates the main stylized facts of financial markets. Furthermore, we find that the presence of high-frequency trading increases market volatility and plays a fundamental role in the generation of flash crashes. The emergence of flash crashes is explained by two salient characteristics of high-frequency traders, i.e. their ability to i) generate high bid-ask spreads and ii) synchronize on the sell side of the limit order book. Finally, we find that higher rates of order cancellation by high-frequency traders increase the incidence of flash crashes but reduce their duration.