Trading System Design
by Howard Arrington

This issue of the Trading Tips newsletter will focus on Trading Systems.   Let's begin by discussing principles that should be considered in designing a successful trading system. 

Emotion:  Mechanical systems do not have emotion or intuition, which can be both an advantage and a penalty.  Perhaps emotion control is the primary reason traders want to find a successful trading system.  How many times have you found yourself mentally chiding yourself for not trading a signal or formation when it was seen?  The mental tug-of-war between fear and greed can be debilitating.  You find yourself willing to concede 'pulling the trigger' to make the trade to the computer.

Emotion and intuition cannot be quantified mathematically, and mathematics is all a trading system has to work with.  So the first and most fundamental principle in designing a trading system is that every rule or reason for entering and exiting  a trade must be defined by mathematics.

Complexity:  The second principle is the KISS approach.  (KISS means 'keep it stupid simple', or 'keep it simple, stupid', which ever fits best.)   A natural tendency is to make the trading system too complex.  A system that initially started with a few rules, too often becomes too complex when more rules are added to include or exclude special situations.  You need to be able to mentally understand and remember the rules.   If you cannot remember all the rules, and immediately recognize the reason for the signal, then the system is too complex.

Trading systems grow in complexity with the addition of rules to consider more study values, blocking out certain times of the day, skipping future signals based on recent bad performance, and tweaking the system to handle special situations more favorably.  As a rule of thumb, I think the threshold for having too many rules is around six.

Committee:  The third principle is that a trading system cannot be designed by a committee.  Using a committee sounds like an advantage, but it isn't.   A committee will never arrive at a consensus of opinion.  The debate about the appropriateness of every rule or parameter will continue for months (probably without significant progress).   One reason for this is that every trader has what I call a different 'risk avoidance threshold'.   The risk I personally am willing to take, and how long I am willing to endure adversity, is completely different than the next person.   Everyone has a different financial situation, personality, expectation, patience level and state of health.  If your last trade was a real winner, you might be overly confident and greedy.  If your last trade was a sizeable loss, you might be dealing with fear and lack of confidence.  Some traders want to scalp and have lots of quick action.  Others take a longer view of trends.  Some are unwilling to keep positions overnight, while others are uncomfortable day trading.

So, in designing a trading system, design it to fit you.   Design it to make you a better trader and to overcome your personal weaknesses.  You will create a useful trading system sooner and better by putting on blinders to the opinions, suggestions, and 'wisdom' of all those who would tell you what needs to be different about your system design to make them happier.

Back Test:  It is an absolute necessity that you maintain a library of data sets that you can test your trading system against.  This library becomes a benchmark against which every adjustment to your system can be measured.   New ideas will naturally happen during your design process, and each new idea needs to be tested.   You are trying to answer the question of whether a new idea or rule is beneficial.  It goes without saying that the library must include examples of all types of market conditions.  It would unwise to have a test library that is biased towards choppy markets, or towards trending markets.  

You want a trading system that thrives in the market conditions it is designed for, and survives in all others.  Not every day will profitable.  A successful system is one that holds its own with minor losses offset by minor gains, and puts the occasional great trades in the bank.  If you expect a system to be right all the time, or profitable every day, then you will never find it, and probably abandon lots of ideas that had good merit.

Optimization:  Now let me offer a word of caution about optimization.  I was designing trading systems back in 1987 when the markets experienced the October crash call 'Black Monday'.   Optimization would have had any system heavily short prior to the crash, ride it down, and then found a signal that would have exited those short positions near the bottom.  Be very careful about optimizing for a special situation.  

I am not saying Black Monday should not have been included in the library the system is tested against.  What I am saying is that it would be wrong to optimize a system to excel in a Black Monday market, when that type of market movement only happens a few times in one's life time.   I really doubt any system designed for Black Monday in 1987 was still being traded in 2001 to benefit from the crash following the terrorist attack on the United States.  So, understand thoroughly what is being optimized and how dependent the results are to special situations.   Special situations include large ranges, lock limit moves, gap opens, and spikes.

With twenty years of experience in searching for the 'Holy Grail' of trading systems, I think I have probably 'been there and done that'.  I have not found the perfect system yet, and my failure is not for a lack of trying or being a mental lightweight.  My final tip is to paper trade your system for six months.   If it holds up to your expectations over a period of time, in all types of markets, then you can begin trading it with real money.  If your system didn't work out as expected, then all you have lost is your time, but not your money.  I hope the experience shared in this article helps you in your efforts to become a better trader and design a trading system that works for you.


Research Tip:
Triangle Trading Program
Developed by: James Baumann

Howard Arrington has stated before that there is no Holy Grail.  However, utilizing the power of ESPL and the programming skills of Mike Lamont, I have developed a program that has produced excellent trading results.  This program has just recently been completed after two years of development.  The live trade results have been nothing less then spectacular.  Back testing data from 1999 to the present, the program produced a very high success rate on both a percentage basis and on a per trade basis trading both sides of the market.

This multifaceted program serves as an irreplaceable trading tool in all time frames.  With the ease of the click of the user study button the program will highlight buy and sell setups in a visually easy way to recognize on any open chart in any time frame.  I can unequivocally state that the sell indicator has saved me many times when no other studies would have helped warn of impending doom.  That function alone makes it a valuable tool.  This is just one of many benefits of the program.  I will not disclose the variables that identify the trading setups.  That is proprietary information.  What I can do is give a brief explanation of the capabilities of the program.

There are two major tools to be utilized by the trader.  The first is a scanning tool and the second is a back testing tool.  These tools can be used on individual charts that you have open or you can use them on entire quote pages.

To scan an individual chart you click on the studies window and click (1) for buy signals and click (2) for sell signals. Once a trader is familiar with the patterns you will recognize safe trades setups and uncertain setups.  Get familiar with the price action around these setups.  It repeats itself over and over again.  The scan makes it easy to find the setups and sets the price alert for you.  The individual trader needs to learn the normal nuances of stock price movements when the setup formations occur.  It is good to get a confirmation of the setup signal with the use of your regular studies.

Setup Signal Description

When the Triangle Study is loaded on a chart it will color the various buy and sell signals with five bars.  For SHORT signals the (A) green bar, the (B) blue bar, the (C) fuchsia bar and two white confirmation bars.  A short sell signal is generated when prices trade below the low of the blue bar.  The trader can be aggressive and enter when prices first trade below the signal or you can wait for prices to stop making new lows.  Watch the subsequent rally for 3 to 7 bars and wait for a bar to close counter to the rally.  That is a safe short entry point.  Review the examples shown in the next two charts.

SHORT SIGNAL EXAMPLE ON THE $INDU INDEX DAILY CHART

When tracking large numbers of stock symbols the quote page scan tool is irreplaceable.  You enter the name of the quote page you want to search and the timeframe to search for the signals.  The program then scans all the symbols on the quote page for buy and sell signals.  You can also perform back testing on quote pages.  While scanning quote pages the user has the option of having the program set a price alert or no alert.  This allows you to run the SCAN on the daily charts with the alert activated.  Alerts would then be set for any daily signals.  Next, when trading intra-day you can turn the alert off.  That allows you to use the scan tool on intra-day charts without disturbing your daily alerts.

Once a buy or sell setup is found the individual stock symbol is loaded into a new quote page named NEWBUYS or NEWSHORTS for easy review without disturbing the custom quote page that was scanned.  When you run the scan the next time, if it finds a new setup, it will load only the new stock symbol into the NEWBUYS or NEWSHORTS quote page.  At the same time, the program saves all the quotes already reviewed from the previous scan into another quote page named BUYS or SHORTS.  When tracking lots of stocks this is an extremely helpful tool function.

Once the scan tool has located and loaded for review a buy or sell signal you drop the study right on the chart with the click of the studies button.  The program will then highlight the setup.

The program gives the user a buy or sell signal, then the human variable enters the equation.  There are some signal formations that are better than others.  This is a good setup.

 

Here is how I would trade this short signal on the QQQ daily chart above.

The program will highlight some signals that meet the coded search however when you view the formation it is not a good formation to trade.  If the A-B-C bars are spread out over a large area or have several very long bars then be cautious trading the setup.

It pays to review the charts setups to get a feel for what is a good setup and what is a weak signal.  The program does not know the current trend.  If the market is weak look more at the short signals.  Use the EMA (Exponential Moving Average) to filter trade setups.

EXAMPLE OF A WEAK SIGNAL

If you get a signal that is counter to the current trend use this as a warning that a trend reversal could be pending.  The next chart is RFMD daily showing the April reversal.

The BUY signal is highlighted on the chart.  Notice that you have three buys setups in a row at or near the bottom. When this happens it rings the bell that a trend reversal could be near.  The buy setup in the middle of the downtrend never has the price alert triggered.

Also, that setup should be filtered out from consideration by the falling EMA.

The BUY setup is colored A-RED, B-BLUE, C- FUCHSIA and two white confirmation bars.  The BUY price alert signal is when prices trade above the high of the B-BLUE bar.

When a signal is located with the trade going in the direction of the trend the signals give you great entry points before a move.  Use caution entering a trade counter to the existing trend even if a setup signal exists.  When a setup comes counter to the current trend wait for the trend reversal to be confirmed.  Confirmation of the reversal would come when the trading signal price trigger has been hit.  If it is a buy signal during a downtrend, after prices penetrate the price trigger, then wait for prices to stop making new highs.  After prices have retreated from this last high for three to seven bars enter a trade only if prices penetrate that last high price bar.  When a setup signal comes in the direction of the trend you can be way more aggressive with your entry.

The next step is to review the formation of the setup. If the ABC bars are far apart then avoid trading that formation.  If prices gap and trigger the price alert do not chase the stock.  When the signal is triggered stocks can and will pull back to Fibonacci support levels before resuming the move.  Other times the stock will hit the alert and be off to the races.  Your skill level and style of trading will determine your entry techniques using the setups.  The back testing program will allow you to experiment with an infinite combination of entry and exit criteria to match your trading style.

These trading setups consist of five colored bars being highlighted on the chart.  The description of each bar color is described in the program instructions.  The import bar is the BLUE bar. The blue bar is the signal bar for both buy and short signals.  In the buy formation the HIGH of the blue bar is the buy price trigger. In the short formation the LOW of the BLUE bar is the short entry price trigger.  It is most prudent to wait for prices to close above or below the price triggers.  Programming the effect of the human variables of trade setup interpretation and trade entry techniques is impossible.  Back testing uses the HIGH of the BLUE bar as the buy entry signal price and the LOW of the BLUE bar for the short signal trade results detail.  Not every trade that prints in the trade output widow would be entered in live trading, due to human interpretation of the trading environment.  However, back testing gives a very good idea of what you can expect to happen.

I like to trade buying options using the daily signals.  When the price alert has been triggered for a short trade I wait until prices stop making new lows.  After prices fail to make a new low I watch the rally counter to the short signal.  After prices rally for 3 to7 bars I look for a bar to close counter to the rally trend.  Look for this reversal at a Fibonacci support level.  The bar close counter to the rally trend is my signal to buy put options.  You can be more aggressive with your entry using the alert trigger price.  Use Stochastic as a filter.  If the Stochastic is reading overbought and crossing over then don’t take that buy signal.  If Stochastic is way oversold and crossing back over then don’t use that sell signal.  There are plenty of great trading opportunities the scan will find. Be patient and wait for a good formation in the direction of the trend with confirmation from additional studies.  The short signal is great in any time frame.  Look for a volume spike on the Blue bar when the signal is formed.  This usually indicates a good signal.

I would recommend that you study the charts and become familiar with the behavior of prices in relation to these setups. Back testing can give you a clear picture as to how each stock performs using these setups.  When reviewing the back test results look at any losing trades and make sure an error bar did not trigger it.

The time factor for watching a setup is controlled by the user.  Back testing results vary according to the time frame (number of bars) that one looks for prices to trigger the alert.

The default setting is to test the first ten bars after the trading setup is confirmed.  After ten bars, if prices have not penetrated the signal, then eliminate that setup.  The strongest moves seem to occur if prices penetrate the signal within three to four bars after the trading setup has been confirmed.  The back testing program allows you to experiment with the number of bars to review for trade entry.

In certain situations these trading setups will have price alerts set at prices that other traders are naturally watching including the Market Makers.  The program has a feature that allows you to offset your alert by an additional amount above or below the obvious trigger price.  Market makers will engineer runs of the standing orders at these points and then let prices reverse.  Wait for confirmation of the move.  No need to rush.  If you miss one there is another setup the click of a button away.

Back Testing

The back test mode of this program was not created to optimize results to lure novice traders into buying an expensive program.  As many people are aware the programmer can optimize lots of back test programs to produce good results. Then when you try and trade the system it does not work in live trading.  I developed this back test program so that I could find the best way to increase MY odds of entering a successful trade.  It is a very functional tool not a black box.  With that in mind, remember that no two stocks or groups of stocks behave exactly the same.  Therefore, you must be able to alter your various entry and exit criteria to find what works best for that stock or group of stocks.  Different time frames require different criteria.  This program allows you the flexibility to test and develop the criteria that will match your own individual style of trading.  The back test program allows the trader to test many combinations of variables to find ones that work consistently.  Here are some of the variations you can use either individually or in any combination in conjunction with the setup signals.

ENTRY PRICE

1) You can use the Trigger Price set by the scan program.  That uses the high or low of the BLUE bar in the formation.

2) You can also use the Trigger Price set by the scan program but add or subtract an amount to simulate slippage.  Or patience.

3) You can test using the CLOSING price of the bar that triggered the price alert.

This can be used to make sure that an entry or exit would have been obtainable. However, it should be noted that lots of time the bar that breaks the price alert could be a bar, which makes a large move.  Therefore, using the close of that bar can give a distorted entry price.  You do not buy or sell at the close of a long bar.  These trades would be eliminated by the human factor but not by the back testing.  So when using the close in back testing what could have been a great signal can show up as a loss in the trade output window.  Review the trade results on the chart.

FILTERING THE TRADE FOR ENTRY

1) You can test the effect of using a Exponential Moving Average to filter out trades setup signals. The program uses whatever EMA you have set in the default settings.  We all know how many different EMA timeframes someone can test to find which works as the best filter.

If the 20 period moving average works for AMCC but the 67 period works for IBM you can see historically which worked the best.  You can use this filter independently or in any combination with the other filters and entry and exit criteria.

2) You can test the effects of using a Bollinger Band filter.

Note: The Stochastic is a great study to use when reviewing a setup signal.   It is not included as a back test filter because of the programming constraints.

EXITING THE TRADE

1) Exit using a regular dollar STOPLOSS that can be set to any amount.

2) Exit using a dollar GAINSTOP that can be set to any amount.

3) After you have entered the trade you can test exiting on the first bar that closes counter to the trade direction and below the low of the previous bar.  This filter can be used in conjunction with the STOPLOSS.

When back testing using this exit criteria variable you are able to adjust this exit variable in such a way as to avoid inaccurate results that can be caused by a narrow trading range before a large move.  This exit condition and condition 3 have a separate control on them that will void the exit if the trade would not lose a specific value.  This allows you to have the program test for exit if the bar closes below the low of the previous bar, but only exit if the trade would cause a loss greater than (example.50 cents).  This helps to eliminate narrow range bars from causing unnecessary exits.

4) After you have entered a trade you can test exiting after two bars close counter to the trend, which you are trading.  This exit strategy is also controlled by the dollar control as described in # 3.  These can be used individually or together in any combination.

Back Test Trade Report Details

The trade output window provides a quick and efficient viewing of each individual trade

In addition to the normal totals output information. The individual trade detail allows the trader to quickly view the following information on each trade.

Entry = trade entry price.
Low = the lowest low price traded after you have entered a long position until the trade is Exited
Pain = the point value reflecting the difference from your entry price to the lowest low incurred before the trade was exited.  If "none" prints then no prices lower than the entry price were incurred before exiting the trade.
Exit = The trade exit price.
Profit = The trade profit or loss.
EntryDate = Trade entry date.
ExitDate = Trade exit date.

These are examples of the information provided in the back test output.  These are BUY back test results using the signal price trigger for entry.  No filters.  StopLoss of 3 points and a GainStop of 3 points.

Note: Back testing results using the Buy or Short price triggers while using NO stoploss, produces trade results of 100% on both the Long and Short side.  That is correct, 100%.  Not just on these 3 stocks listed below.

Note: The output is listed in the following order:

Each individual trade detail
The number of signals tested and the number of those traded
The Symbol with the normal totals output window.
Number of shares tested = 1
ABC Triangle Buys Trade Report
Custom Quote Page:  c:\Ensign\test.quo
Write Trade Report:  True


Entry - Low   =   Pain    Exit Profit EntryDate  ExitDate
 1838 – 1564  =   2.73   16.00  -2.38  10/04/99  10/27/99
 2550 - 2586  = NoPain   31.00   5.50  11/16/99  11/17/99
 4594 - 4684  = NoPain   59.06  13.13   1/14/00   1/18/00
10397 – 10594 = NoPain  109.16   5.19   3/06/00   3/08/00
 6550 - 6100  =   4.50   61.12  -4.38   4/25/00   4/26/00
 7375 - 7138  =   2.37   78.12   4.37   6/02/00   6/07/00
 8900 - 9000  = NoPain   94.56   5.56   7/12/00   7/13/00
 9488 - 9362  =   1.26  100.00   5.12   8/21/00   8/23/00
11950 – 12200 = NoPain  129.88  10.38   9/18/00   9/19/00
12450 – 12600 = NoPain  145.38  20.88  10/16/00  10/19/00
 1781 - 1944  = NoPain   23.55   5.74   4/18/01   4/20/01

Tested: 16
Traded: 11

NTAP  Profit Trades Average Ratio
Wins   75.86    9     8.43  81.82
Loss    6.76    2     3.38  18.18
Total  69.11   11     6.28  11.23


Entry - Low   =   Pain    Exit Profit EntryDate  ExitDate
 9750 - 9800  = NoPain  103.94   6.44  11/18/99  11/19/99
10600 – 11188 = NoPain  116.00  10.00  12/03/99  12/06/99
11106 – 11088 =   0.19  112.06   1.00   1/03/00   1/04/00
10925 – 10638 =   2.88  106.50  -2.75   5/24/00   5/25/00
11100 - 11125 = NoPain  121.00  10.00   6/05/00   6/07/00
11781 - 11788 = NoPain  123.25   5.44   8/08/00   8/14/00
10262 - 9850  =   4.13   98.50  -4.13  11/20/00  11/21/00
 8956 - 9100  = NoPain  108.31  18.75   1/03/01   1/18/01
11675 - 11100 =   5.75  112.00  -4.75   2/07/01   2/09/01
10000 - 10650 = NoPain  114.47  14.47   4/18/01   4/19/01

Tested: 17
Traded: 10

IBM   Profit Trades Average Ratio
Wins   66.10    7     9.44  70.00
Loss   11.63    3     3.88  30.00
Total  54.47   10     5.45   5.69


Entry - Low   =   Pain    Exit Profit EntryDate  ExitDate
 4784 - 4250  =   5.34   44.75  -3.09  10/04/99  10/08/99
 4469 - 4525  = NoPain   53.34   8.66  10/29/99  11/10/99
10250 - 10194 =   0.56  109.63   7.13   2/01/00   2/02/00
17275 - 17300 = NoPain  178.75   6.00   2/25/00   2/28/00
11000 - 11208 = NoPain  113.33   3.33   4/25/00   4/26/00
12825 - 12867 = NoPain  132.75   4.49   6/19/00   6/20/00
14308 - 14087 =   2.21  149.92   6.84   8/15/00   8/21/00
16167 - 15533 =   6.33  155.75  -5.92   9/01/00   9/05/00
14500 - 14541 = NoPain  152.67   7.67   9/19/00   9/20/00
 2312 – 2367  = NoPain   27.62   4.50   4/10/01   4/12/01

Tested: 14
Traded: 10

PMCS  Profit Trades Average Ratio
Wins   48.61    8     6.08  80.00
Loss    9.01    2     4.51  20.00
Total  39.60   10     3.96   5.39


The program provides you the flexibility to adapt trade parameters to your own style of trading.  Once you are comfortable with the back test results you can then scan looking for the setup with the filter parameters you have back tested.

In conclusion, the age-old question has to be asked.  If this trading program works so well then why is it for sale?  The answer is that it is not for sale.  I am not a company marketing Trading systems.  I am an individual trader who developed this for my own trading activities.  I do not have the time to offer a free demo and free support.  Individuals can lease the program on a monthly basis for a fee of $100.00 per month.  Anyone who leases the program will be provided with support and upgrades.  No long-term agreements.

Because everyone trades different stocks in different time frames there would not be a negative effect by multiple people using the same program