Нет, надо поменять has на прошедшее время, так как это косвенная речь. То есть She said (that) she had been learning english for three years.
Всё, понял