1. A non-transitory computer readable medium storing software operable to perform steps comprising: (a) receiving electronic data describing a trading order for a market-traded security; (b) checking said data describing said trading order against one or more sets of conditions, and identifying one or more of said one or more sets of conditions that is satisfied; (c) based on said identified one or more of said one or more sets of conditions that is satisfied, identifying a class of trading algorithms appropriate for execution of said trading order; (d) selecting with a processing system one or more trading algorithms from said identified class of trading algorithms, for execution of said trading order; and (e) commencing with said processing system execution of said trading order via said selected one or more trading algorithms; wherein said processing system comprises one or more processors.