In this case, what tense I should use?
I have usually learned English for three hours before going to bed since 3 years ago.
Or
I have usually been learning English for three hours before going to bed since 3 years ago.
In this case, what tense I should use?
I have usually learned English for three hours before going to bed since 3 years ago.
Or
I have usually been learning English for three hours before going to bed since 3 years ago.
You are making it hard by trying to combine three time periods "three hours", "before bed", and "three years".
If you are finding that tense is confusing, then probably you need to rephrase:
For the last three years, I have spent three hours before bed each evening learning English.
The introduction of the verb "spend" (as "have spent") means that we can use perfect for this verb, and put the verb "learn" into a participle phrase, which doesn't have tense. It is still a little confusing because there are so many "time phrases". So more splitting up is possible
Every evening I spend three hours learning English. I do this before bed and I have done so for the last three years.
Now I have three clauses in two sentences. Each clause gives a bit more information, and I don't try and pack too much into one sentence.