It is much harder than just looking at the price/volume. You also need to consider size of bid/ask, speed of trade.
I don't consider it to be an especially difficult programming problem - particularly for someone with any sort of background in real time systems, data comms etc. Devising a system that will reliably make money is the genuinely difficult bit.