What makes a good trading system?

A good trading system has an edge in the market which allows it to make money when traded in real time. It is easy to design trading programs that look spectacular in historical simulations. Designing one that works in real time and does not break the moment it is exposed to unseen data (the future) is far less obvious.

Click here to download my FREE trading system development cheat sheet

A good trading system should:

  • Have a sound trading strategy underpinning it
  • Be simple and robust
  • Adapt to changes in market conditions
  • Have a small number of rules (~5 in total)
  • Be correctly optimized (not curve fitted)
  • Be profitable across related markets
  • Have high profitability relative to trading costs (slippage and commissions)
Characteristics of a good trading systemThe differences between a good and bad trading system can be hard to see at first glance.

Good trading systems should work almost as well on unseen
price data as it does on the historical test period

To further aid your understand how to design trading programs that work in real time (as opposed to only working in a historical simulation and breaking down when traded in real time), we have provided further detail about the difference between a poor system and a good trading system here.

You obviously need to understand what a good trading system, before you can find the Best Trading System...so once you have reviewed the difference between a poor and a good system, check out the best trading system!

Characteristics of a good trading system

 A good trading system that is likely continue working in the future has specific characteristics that different it from poor trading systems.

Unfortunately for new and uneducated traders, it is extremely easy to fall into the many traps that lead to development of poor trading systems.

The table below differentiates between robust trading systems and poor trading systems on multiple dimensions. Our intention here is to raise your understanding and help you avoid these traps. We also provide actions to incorporate as you build your trading system.


Poor Trading System

Good Trading System


Trading Strategy

  • No clear philosophy
  • Trading rules derived from trial and error or data-mining
  • Trader not able to explain the philosophy and trading strategy behind the system in a 30 second 'elevator pitch'.
  • Rules inconsistent with chosen trading strategy
  • Good trading systems are backed by a sound trading strategy / philosophy (Eg. Markets trend and entering a position in an established trend and holding till the trend changes has a positive expectancy)
  • Trading rules are hypothesis based and capture the essence of the trading strategy
  • Good trading system logic simple and easy to explain
  • Trading rules 100% consistent with trading strategy
  • Choose one of the major trading strategies that appeals to you and learn more about it.
  • Do not undertake any trading system development work until you have chosen a trading strategy
  • Develop your system to be 100% consistent you’re your trading strategy
  • Follow the correct trading system development process


  • Complex rules based on mathematical manipulations of price and volume data
  • Use highly specific market conditions as rules
  • Multiple rules or conditions required to enter or exit

  • Good trading systems have simple rules that are based on price and volume (and potentially other data) rather than complex derivations the raw data
  • Few conditions required to satisfy entry or exit criteria

  • Challenge yourself to express your trading strategy in the simplest way possible
  • Do not layer many conditions for your entries or exits to improve historical simulations – this results in curve fitting


  • Refer to absolute price levels or changes for entry or exit rules
  • Use percentage moves for profit targets or initial stop losses
  • Both of the above are poor practice because market character changes over time, so absolute levels or changes become irrelevant over time

  • Good trading system rules adjust for market volatility using calculations such as ATR or Standard Deviation
  • This takes into account the changing character of markets
  • This also makes systems transferrable across multiple instruments or markets

  • Avoid reference to absolute price or percentage changes as these lose relevance over time.
  • Express any movement in volatility adjusted terms using ATR or standard deviation. This helps system portability between instruments
  • If you want to refer to price, use a formula that adjusts to the recent price movement such as the Highest Close in the past 20 days, yesterday's close. todays open etc

Degrees of freedom / number of rules

  • Large number of rules specified
  • Criteria stacked on top of each other in a string of 'AND' statements to highly specify a conditions for action (especially entry signals)
  • More than ~10 rules required to specify the entire system

  • A good trading system has few rules specified. Ideally 6 or less across the entire system
  • Simple criteria for entry trigger

  • Set a budget of how many rules you will have in total and stick to it
  • Aim for 6 rules to specify the whole system and reduce further if possible
  • This can be difficult, but it will prevent rampant curve fitting and give your system more chance of working in the future


  • Many parameters are optimized to give the best hypothetical back test results

  • Correct optimization of a small number of parameters to ensure system performance is stable and robust

  • Understand and practice correct optimization to avoid curve fitting

Exit Specification

  • Exit rules poorly designed and unable to deal with all possible situations

  • Exit rules fully specified to ensure that there is always a clear exit point no matter what market conditions emerge

  • Perform a mental scenario review of all possible market movements once you get into a trade and ensure your exit rules account for all scenarios


  • Designed to be highly specific to a single market
  • Generates poor trading results in other related markets and losses in unrelated markets 

  • A good trading system which is robust and non-curve fitted system should work well across a wide variety of markets
  • For example, a simple trend following system can work well on stocks, futures and forex with no modifications at all

  • Avoid developing market specific systems if you are a new trader
  • Plan your optimization routine in advance and ensure you optimize correctly
  • Ensure your historical testing and optimization covers markets from all different conditions - volatile / quiet and up / down / sideways
  • Ensure testing generates enough historical trades to be sure of system performance (the more the better, but several hundred as a minimum)

(Return per dollar risked)

  • High variability (standard deviation) of trade outcomes relative to the average profit per trade
  • Large losing R-Multiple trades appear in the historical simulation which could wipe you out
  • Trading rules make it likely that a large R-Multiple losing trades may emerge in the future (e.g. Using extremely tight stops on volatile stocks)

  • Low variability (standard deviation) of trade outcomes relative to the average profit per trade
  • No Large (-10R or greater) losing trades found during simulation
  • Large losing trades are not likely based on the trading system logic

  • Generate an R-Multiple trade distribution for your system’s historical performance and ensure that there are no large losing R-Multiples
  • Perform mental scenario testing on your trading system logic to determine if extremely large loses could occur
  • Adjust logic if required to reduce this risk (e.g. widen stops)

Average profit per trade

  • Low relative to a realistic assessment or slippage and commissions
  • This leaves no room for error if slippage increases or if market character changes

  • Average profit per trade substantially higher than the cost of slippage and commissions
  • Allows for changes in slippage and market character without the system self destructing

  • Determine the average profit per trade excluding slippage and commissions based on historical backtests
  • Research the likely slippage and commissions for your chosen markets
  • Calculate average profit per trade including these costs
  • Ensure the system remains profitable and equity curve remains attractive including these assumptions 


  • The system generates so few trades that real time performance will be extremely lumpy


  • The system generates so many trades that it is impossible to take them all and there is no mechanism other than ‘discretion’ to select between trades

  • A good trading system generates a sufficiently large number of trades that there is ample profit opportunity over the year (greater than 100 trades is preferable)
  • If the system generates more trades than the portfolio can handle there are objective rules for how to prioritize trades

  • Measure how many trades your system generates each year and ensure it is large enough to make you money but not so large that you get swamped
  • Measure how many trades each rule you add to your system impacts. If a rule only impacts a small number of trades (say <30) then it is probably not statistically valid and should be removed

These are some of the key differences between a good trading system and a poor trading system. Our recommended actions in each category should help you avoid many of the common pitfalls of trading system development. 

Related Articles:

Main Page: What are stock trading systems and how do they work?

Return to top of Good Trading Systems

Return to Home Page
Looking for something else - Find it on the Sitemap