The stability of the algorithm depends on the oracle. In order to let the smart contract on the chain know whether the value of DAI is 0.005 ETH or 0.0005 ETH, it needs some mechanisms to learn the price of ETH/USD (outside the chain) information.