This is such an open ended question. It depends on many factors, for example can you code, or would you prefer to buy a pre-packaged solution, how much trading experience do you have. And most of all, how much time are you willing to invest in it. To me, it's pretty much the same as a second job.