Powered by Jitbit Asp.Net Forum free trial version.
home recent topics recent posts search faq  

MicroTrends NinjaTrader Forum



register | lost password   open id
Messages in this topic - RSS

Home » NinjaTrader Mechanical Trading for Forex, Futures and Equities » creating a trading system

NinjaTrader Strategies - Mechanical Trading General Discussions - Ask general questions, post charts and videos - backtesting, optmisation and strategy anlyasis
08/01/2011 23:24:30

forum
forum
Administrator
Posts: 387
AS WANG on mechanical trading:

Let’s talk about creating a trading system.
What are the steps a trader should go
through to do so?
There are three main steps a trader should
follow. The first step is selecting a principle
that is fundamental and universal, which
must follow the natural law. For example,
between trend-following and antitrend following
methods, I’ll choose to use the
trend-following method. Because of this, I
eliminate the need to pick tops or bottoms.
I also think it is impossible to pick tops and
bottoms.
But even in nontrending markets, couldn’t
there be short-term trends that a trader
could trade?
Yes, but I prefer not to catch the top or
bottom. What I look at is a series of trends
and label them trend 1, trend 2, trend 3,
and so on. I prefer to use trend 2 and see
if price trades at the stop level. If price
does not penetrate the stop, it would be
a retracement. This means we can take a
chance. So if the trend has already started
and prices pull back close to the stop level
I have set, I can take a chance on entering
the trade because from there, I will know
in a short time if I am right or wrong.
So what is the second step?
The second step is based on the idea
that “less means more.” You should focus
on two key pieces of information — the
market direction and the key support and
resistance levels. You want to know if the
trend is up or down and where the support
and resistance levels are. I just concentrate
on these two parts and try to get that
right.
And what is the third step?
The third step is to build in backtesting
and forward-testing, and paper-trade your
modules to test the idea. Generally speaking,
when developing a trading system, only
20% of the job should involve developing
the trading system itself — developing
formulas, designing indicators, and so
on. Now, 80% of the job should involve
validating the trading system, proving
that the signals it provides lead to profitable
trading decisions. Backtesting using
historical data and forward-testing should
be part of the validation process of any
trading system. Think of it as parallel to
developing laser-guided missiles where the
testing, calibration, and global positioning
systems have the same importance as the
laser guidance system itself.
Why is backtesting important?
Backtesting is the first and easiest way
to validate the signal algorithm. How
can anyone trust colored bars or lights or
whatever indications you are using if you
have not validated it by backtesting? If you
blindly follow unproven signals, you are
just shooting in the dark. It will be costly.
So make sure that whatever trading software
you are using offers backtesting capabilities.
You can validate the signals and
strategies before you risk any hard-earned
money. Trading with proven strategies is
the best way humanly possible to trade in
the market.
What is the importance of forward-testing
and paper-trading?
Backtesting involves looking at data
from the past and analyzing the performance
results. Forward-testing should
really be called historical forward-testing.
It doesn’t mean testing from here on out.
Assume we are looking at data from six
years ago. Since we are now in 2009, it
would mean going back to 2003, at which
time we set the parameters of the program.
So we test the system in 2004 and see how
it worked.
Then we run the program again at the
end of 2004, fix the parameters, and then
test it to see how it performs during 2005.
So you keep forward-testing in this way.
The advantage of doing this is it gives more
realistic results.
What about virtual paper-trading?
When you are paper-trading — that is,
trading your system without risking any
capital — you will buy and sell based on
the buy or sell signals on the chart. The
program will log in all your buys and sells.
So you let the program go back, say one
year, and then test it. This is a great way
of testing to see if your system gives you
the desired results.
When you test and analyze a trading
system, what kind of variable do you
consider?
For starters, we suggest you not change
anything in your trading system when you
are trading it virtually. If you do, the entire
program will change so you don’t know if
it will work. So when paper-trading, just
keep your parameters fixed. Let the program
go back one year and let it run so you can
see how the program works. You may see
that half your trades win and half lose. But
as long as your losses are small and your
wins are big, you could end up having four
to five good trades a month. This is why
trend-following works.
What are the disadvantages of curvefitting?
Curve-fitting tests how well the model is
working for the past data. It has nothing to
do with the future. Since we are trading the
current and future markets, in most cases,
curve-fitting parameters may not work for
future markets. The more input parameters
you use, the better the fitting can be. But
since you are using more parameters, it
becomes much more difficult to fit future
market conditions. This is why we only
allow two input parameters to vary in
AbleTrend. The key is finding out the basic
market movement rules, not curve-fit the
past specific historical data.
If a trading system is designed for a
particular market, with a particular time
interval, the programmer can curve-fit
the historical data and come up with an
unrealistic, overly optimized program.
Beware of programs designed to trade
only one particular market with a particular
time interval — for instance, a system that
only trades the emini S&P two-minute
chart.
Why is that?
Because it is very likely that the program
is curve-fitting the historical data. A program
based on curve-fitting is worthless
because financial markets are dynamic
and constantly changing. An algorithm
based only on historical data ideally would
work well only during that historical period.
Only algorithms based on timeless
and universal market principles work in
today’s markets — in all the markets, all
the time.

Incorporating risk management into
a trading system is important and is
something you have done. Why is risk
management so critical?
Risk management in a trading system
means knowing where to place your stops.
It deals with intratrade management.
There is another level called money management,
which deals with intertrade trading size —
that is, the number of futures contracts or
stock shares. You need to have both. One of
the main reasons most traders lose money
is that most traders cannot cut losses short,
or it takes them too long to determine if
being in a position is right or wrong.
Last question. Why is it necessary to have
an objective trading system that takes all
the emotions out of trading?
I believe that a combination of the following
four elements is the foundation
on which we can build success in trading.
It is necessary for traders to have all four
elements working together. These four
elements are:
• A profitable trading system/method
• Adequate capitalization
• Money management strategy, and
• Discipline or a winning trading
psychology.
A profitable trading system is your
foundation. Emotionless trading is a
long-term training process that is based on
the feedback of the performance of your
trading system. Another important thing
to keep in mind is to only risk the amount
of money you can afford.
Thanks, John.
Suggested reading
Wang, John, and Grace Wang [2010].
AbleTrend: Identifying And Analyzing
Market Trends For Trading Success,
John Wiley & Sons.

Reprinted from Technical Analysis of Stocks & Commodities magazine. © 2009 Technical Analysis Inc., (800) 832-4642, http://www.traders.com
edited by forum on 08/01/2011
0 permalink




Powered by AspNetForum 7.0.1.0 © 2006-2011 Jitbit Software