Hi @Michelle,
What i do for my own personal trading (long only in selected stocks) is quite different to what i do for the Quantopian contest (market-neutral LongShort) and i keep these strategies separate because the constraints are quite different. My suggestion would be for you also to work on 2 separate versions, one being the way you describe: long 100% otherwise 50% long and 50% short, or perhaps you could even consider using long 100% in bull-market conditions and short 100% (or use inverse ETFs) in bear-market conditions for your own personal use, and a separate version suitable for entry in the Quantopian contest (assuming you also want to do that) which will be market-neutral with equal long and short positions at all times.
In the personal version, your goal presumably is simply to maximize your ratio of return to DD, irrespective of correlation with the overall market (i.e. beta) and to use a relatively small number of equities. Stopping drawdowns as you have done, is a great place to start.
In the version for Q however, it is important that beta remains as small as possible and that you use a large number of equities. The returns in this case will be smaller, but that's OK. As long as beta is small, alpha & Sharpe are large, and DD is very small, then Q can leverage it up as they want to achieve their desired portfolio objectives. The EquityLongShort version i provided does those things very well.
In both cases now, the goal is to find the stocks with the best potential to rise in price (i.e. those with the BEST fundamental value relative to current price) for going long, and to find the stocks with the best potential to fall in value (i.e. those with the WORST fundamental value relative to current price) for going short. The easiest way is just to rank the stocks and then take the top of the list for Longs and the bottom of the list for Shorts. Anything else (e.g. MktCap, trading volume, etc) can go in as filters. Of course you also want to do the same sort of ranking with regard to momentum as well, but my suggestion is to simplify the problem by working on the momentum part and the fundamentals parts separately. You can definitely improve the momentum part by using (and combining) some different timeframes in addition to the one you are already using.
The fundamentals part is somewhat more difficult and will probably involve a lot of trial & error, with only small improvements at each step. Whether you use my "Fundamentals ... python... help" NoteBook or some other method, i think it helps a lot to be able to visualize what the Fundamental data actually looks like over time and how the changing fundamentals correlate with price gains.