Ninjatrader can do all this and more. I actually just built a strategy very similar to this, but it currently only works to the downside. In my opinion, stocks and commodities fall faster and harder more often than they rise, so that's why I focused on the downside first, but adding the upside...