Replace magnesium supplements with K2 MK-7 (far more important co-factor for Vitamin D3).
Magnesium will rise on its own as your Vitamin D levels rise (and I suspect other vitamins will too).
As for Iron... to my knowledge, Iron helps carry oxygen in the blood which in turn oxygenates the cells and body in general.
This is a good thing since it heavily impacts the immune system in a positive way (numerous bacteria - such as gram negative ones - cannot survive in oxygenated environment at all... so I would surmise this could be of great benefit keeping the body disease free, plus Iron deficiency is a recognized problem in the world - which of course doesn't mean you should overdo with it - I suggest that 18mg once per day, or every other day for a month [if you are deficient] would be enough to bring levels back up in the healthy range).
I suggest you check this study:
http://www.coaching-for-health.net/eisenzentrum/AM3_e.pdf
Also... ferrous fumarate seems to be one of the best forms of Iron in terms of absorption and being gentle on the stomach (its recommended to apparently take it 1 hour prior to meals).
But if you are taking an antibiotic, then suggested waiting time for ingesting supplements would be about 2 or 3 hours BEFORE OR AFTER you have taken the antibiotic.
Ive been takin fish oil , vitamin d , vitamin c &magnesium
If you're taking an antibiotic then don't take an iron supplement until 2 hours later.
Too much iron can cause serious health problems. You may want to take iron-free vitamins, you don't want excess iron to be stored in organs such as the liver and heart. To much Iron can cause chronic fatigue, abdominal and joint pain, hair loss, decreased libido or impotence, depression and skin that's look bronze in color. Iron overload can lead to disease of the liver, diabetes, heart attack, osteoarthritis, osteoporosis and problems with adrenal functioning. Most men don't need to take an iron supplement unless you're iron deficient!