The non-stationary feature of financial time series makes the prediction of future stock price harder. However, predicting stock price correctly is not the only way to get return from investing. The trend of stock price is easier to control, which means predicting trading signals is likely to put to practice. As long as investor is able to time the market perfectly and make the right trading decision, making profit is no longer difficult. In our study, we apply technical trading indicators and investors sentiment indicator to logistic regression algorithm to build a machine learning model in order to predict trading signals. We intend to improve the model ability of timing market via importing different features. Furthermore, we discuss about the performance of different strategies and if they lower down the investment risk when facing bear market. We also talk about the performance of different strategies by capturing momentum of different time horizons in further discussion.