You say ammonia is "OK" but you specify numerical values for the rest. IMO
ammonia is only ok if it can not be detected. Thus can you detect ammonia and if so what is the acutal numerical value?
As far as the PH goes it could be due to a lack of oxygen in the tank. Do you have or can you get your alkinity tested. Alkinity and PH go hand in hand with eachother.
To check to see if its due to oxygen levels being to low take some tank water and put it in a jar. Put an airstone in this jar for a few hours and then check the PH in that jar. If the oxygen levels in the tank are keeping the PH low then the PH in the jar after a few hours with an airstone should be higher than the PH in your tank.