Here is an amended version of my notebook, which addresses your concerns.
The results look much better.
You could define your random function in advance if the variance were constant
or could be calculated before calling NDSolve. In your case, the variance depends
on q[t], which is one of the functions you are trying to solve. So you have a
different random function each time, not just a different random number.
Attachment: StochasticDE.nb, URL: ,