Fraud detection using machine learning
should we write our own algorithms by specifying the conditions? 


If you know the exact conditions that result in fraud, you can implement a decision tree for that. But, I believe it is going to be really difficult to come up with that set of conditions that can give clear decision boundary. The data you have created makes the problem look easier than it actually would be. Someone who did a transaction of low amount quite a few times might not be a fraud.


  Or can we use any existing algorithms?


Yes.

This is a classification problem which can be handled through machine learning techniques like logistic regression, support vector machines, neural networks (Multilayer perceptron), Random forest etc.

You can also try Naive Bayes Classifier, which can outperform complex techniques like support vector machines, neural networks.