We prove convergence and quasi-optimal complexity of an adaptive finite element algorithm on triangular meshes with standard mesh refinement. Our algorithm is based on an adaptive marking strategy. In each iteration, a simple edge estimator is compared to an oscillation term and the marking of cells for refinement is done according to the dominant contribution only. In addition, we introduce an adaptive stopping criterion for iterative solution which compares an estimator for the iteration error with the estimator for the discretization error.