To keep them from moving, you need to provide enough light and current. Also you may wan to isolate them on an tall column with flat top rock. In order to move off that island, he will have to move down to lower light and current. I have a lot of luck setting up Magnifica like this.
If you have him situated like this, he won't move unless condition is really bad. If this is the case, he just let go and follow the current.
I suspect that the condition you provide for him is sub optimal and he is moving, looking for better condition.