The smartest algo's are using relationships between markets.
Stuff like the differential of a higher beta portfolio vs a lower beta portfolio, treasury market interest rate differentials, sector spreads, differentials of indexes, correlation weighted differentials, intermarket and calendar spreads, statistical measures of divergence, liquidy bias, momentum ranking, or things like spreading baskets, vol replication, etc....
If you have an algo that is based on things like momentum, trend, relative volatility, historical levels, or "characteristics" of assets or instruments, then it is going to be somewhat disadvantaged.
Algorithms from the first group feed on the inefficiency of the simpler algo's. Big fish eat little fish. So, your algo may not be competitive.
As for backtesting, I have a degree in math so I know a little about statistics.
I can create a random process that looks similar to market prices just by combining and mixing distributions.
An example would be a gaussian process, but with varying variance and mean. It can be made more complex by having algo's and functions of the realized process contributing to the variance and mean at any given time during the process evolution.
Markets are non-stationary. This means that attempts to derive summary statistics of their behavior are difficult, and may even be impossible.
The errors of models derived under the assumption the behavior is stationary may prove to be unpredictable, both in magnitude and frequency.