Both sets of sentences are correct, the difference between them is the meaning.
Now this difference is a little hard to explain, but I will do my best.
The verb 'to have' conjugates in the present as 'have' or 'has':
- I, you, we, they, you all = Have
- he, she, it = Has
In the past, it conjugates as 'had' for everyone.
Now when it comes to questions starting with 'to have', asking if someone has done something, they are asking about one of two situations, each with it's own meaning.
When you use 'had' (past tense), then you are asking about any time up to a specific moment in the past.
Had you run a marathon?
Meaning "At any time up until that moment in the past, did you run a marathon?", or "Did you run a marathon by then?"
When you use 'have' or 'have', you're asking about any moment up until right now.
Have you run a marathon?
Meaning "At any time up until now, did you run a marathon?", or "Did you run a marathon by now?"
The difference between the two is the limit of the time asked about. When you ask using the past tense of 'to have', then the limit is referring to a specific moment in the past. When you ask using the present tense of 'to have', then the limit is this very moment, now.
- Have, has = "up until now"
- Had = "up until then"
I hope that helps!
Both "My car is running well" and "My car has been running well" are grammatical and idiomatic, but they have slightly different meanings. The first says that the car is running well at the current instant, but is silent on whether it was running well yesterday, last week, last month, or last year. It has a more limited meaning than the second sentence, which means that the car is not only running well at the current instant but has been doing so since some definite but unspecified time in the past.
Once we add "so far" to the sentences, the sentence that technically refers only to the current instant becomes somewhat contradictory in terms of logic because "so far" clearly implies durations rather than instances. Lack of logic does not make a sentence ungrammatical or unidiomatic. A careful speaker would avoid "My car is running well so far" and would use instead "My car has been running well so far," but the first of those would be interpreted by a native speaker as meaning the second without even noticing the technical lapse in logic.
Particularly in speech, speakers do not have time to choose their words with perfect forethought, and listeners constantly make unconscious corrections to get the intended meaning.
Best Answer
"From now on" requires present or future tense, as it refers to something that starts now and continues.
If grandpa Peter tells that story to his grandchildren, he could say "From that day on, I have been suspended from school".