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 dont take that
buy signal. If Stochastic is way oversold and crossing back
over then dont 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 |