Premium Market Analysis, Trader Education, Software, and Trading Strategies. Thirty Years Of Skin In The Game

Trading Strategies

Developing Trading Systems Based on a Large Number of Price Patterns

Suppose that you have a large number of price patterns that you have tested and decided to trade. How do you develop a trading system based on them?  Apparently, there are many ways of doing this that offer increased flexibility for risk management.

In the 1990s I developed a theory for the formation identification and trading of price patterns. This theory is detailed in my out-of-print books. I do not plan to write another book on price patterns because I believe there is no need to be repetitive.

Suppose by some means, manual or automated, you identified N price patterns that each generate Ki signals, as in PN(ki) in a period of time T, According to analysis performed the price patterns are robust and you would like to trade then.  There are two basic options to start with:

  • Treat each price pattern as a separate trading system
  • Combine the patterns into a trading system

I have seen people doing both. Treating each pattern as a separate system has some advantages, as follows:

  • System is easy to build and maintain
  • Performance of individual patterns can be easily tracked

One can easily implement this method in Tradestation and MultiCharts because that is done through user interface.

However, there are also some disadvantages to this method of treating each price pattern as a separate trading system:

  • Overall system historical performance is not known
  • Position and risk management is a little more complicated

Even if each pattern is profitable, it is possible that their signals interact in such as way as to produce a system with non desirable properties during some time t. This is especially the case during periods of whipsaw when long signals interact with short signals in ways that generate losses, instead of profits. Knowing the performance of a system of price patterns is desirable because one can get an estimate of expected drawdown and that is essential in determining starting capital. Then, position management is easier in the case of one big system because there is only one position at the time. However, in the case of treating multiple price patterns as individual trading systems there is flexibility in using advanced risk and money management based on Bayesian probability. For example, one could adjust positions depending on clustered, coincident or successive patterns.

On the other hand, there are many ways of combining price patterns into a single trading system:

  • Plain vanilla OR Boolean operator
  • Sub-grouping based on properties and then use of OR for sub-groups
  • Genetic algorithms

Combining with the OR operator is straight forward and can provide an initial indication of the performance of those patterns as a group. This was recently implemented in Price Action Lab for automatically generating Easylanguage and Amibroker Code for any number of price patterns. There are virtually unlimited ways of sub-grouping price patterns based on objectives.

Genetic algorithms can be used to group price patterns. I have not done this but some of my customers have and claim success. I believe this must be a real-time process that recombines patterns based on performance and it must also include rejections. I usually reject a pattern from a system when it generates a 20% drawdown based on its own equity curve. Genetic algorithms are good for this job because they implement selection. The questionable application of genetic algorithms is when they are used to find the patterns in the first place. Then, selection leads to curve-fitting to historical data an excessive data-mining bias. Here I am talking about using already developed price patterns and the job of the genetic algorithm is to optimize their grouping. Price Action Lab, for example, uses a deterministic algorithm to discover price patterns that generates the some results each time it runs with same data. This is absolutely necessary to insure that the process fits the standards of scientific analysis and testing. Random results lead to random conclusions regardless of any analysis done.

A short note on trading signal redundancy

Each language handles redundant signals differently. For example, a long and a short that are simultaneously generated for the next open are redundant signals. Some trading platforms count them as generated signals but with zero P/L, unless that is taken care of in advance. This can impact system performance parameters, such as win rate for example, and position size and risk management, if not taken into account in all cases.

Advanced price pattern systems

Probability of win may be increased with systems that check for a number of coincident signals as a condition for generating positions. For example:

If at least 5 patterns generate a long signal at the open of tomorrow then
buy tomorrow at the open


If at least 3 patterns generate today a long signal at the open of tomorrow while 2 patterns have already generated a long signal in the last 5 days then
buy tomorrow at the open

The possibilities are unlimited. This was one of my objectives when I developed Price Action Lab: To offer a tool that discovers simple, parameter-less price patterns in a deterministic way that yet allows for sophisticated ways in developing trading systems.

You can subscribe here to notifications of new posts by email.


Detailed technical and quantitative analysis of Dow-30 stocks and popular ETFs can be found in our Weekly Premium Report.

© 2015 Michael Harris. All Rights Reserved. We grant a revocable permission to create a hyperlink to this blog subject to certain terms and conditions. Any unauthorized copy, reproduction, distribution, publication, display, modification, or transmission of any part of this blog is strictly prohibited without prior written permission. 


  1. blank


    Thank you for the deep insight on the patterns logic Michael, and I agree with Alan, this is one of the few ways to scratch something out of the markets. I do something similar with overnight trading grouping patterns basing on the # of istances of each pattern at

  2. blank


    Michael, reading your book Short term Trading with Price Patterns a few years ago was a turning point in my trading carrier. Thank you for being so generous with distributing your knowledge. Price patterns with stop-loss and profit target is the only method that works for me and realizing that made tremendous difference. I looked at your software recently and I think it is remarkable. I hope I will be able to afford a license in the near future. I am still recovering past losses from applying losing methods,