There are now standard software testing packages available, which permit developers to ship "grey box" systems to clients. The internal rules and algorithms are hidden, but the externally adjustable parameters are exposed and the client can change them at will. You can feed in whatever data you like (including phony data if it makes you happy) and test the trading system. You can vary the parameters and learn whether the system is robust. You can create a new data series equal to (100 - price) which effectively "flips the chart upside down" and run the system on that. It'll tell you whether the system can make as much money going short as going long. You can do any darn test you can imagine. But you can't see the system rules.