"Do you speak English?" means "Are you able to speak English?" or "Do you know the English language well enough to converse in it?"
"Did you speak English?" refers to a past event. It could be used, for example, if someone had been to a language exchange where one of the languages used was English. The person might speak more than one language and you want to know if they spoke English at that event.
"Are you speaking English?" is an odd question. If someone is speaking directly to you, you probably recognise the language they are speaking. It could be used sarcasally. If someone is using very complicated language or technical language and you don't really understand what they're talking about, you could jokingly say "Are you speaking English?" The meaning would be similar to "I speak English. The words you are saying sound English but I can't fathom what you're talking about. It seems you're speaking a foreign language!"