Generating Signals from RSI
RSI signals that are not derived from overbought or oversold
Ever wondered how you can generate signals from RSI apart from the
usual overbought and oversold levels? It can be done although
personally I wouldn't trade on signals that do not include an input
from price. Let's face it RSI can be very frustrating when it fails to
reach overbought or oversold for long periods of time. Well, let's just
consider what RSI is telling us and whether we can use that concept in
another way.
In fact RSI is calculated by measuring the sum of the higher closes
and also the sum of the lower closes and normalizing the ratio of the
result within a band of zero to 100. Clearly, when price rises then the
sum of the positive close movement is larger than that of the negative
close movement and thus RSI moves higher. The opposite is also
obviously true.
Therefore RSI is reacting to sustained directional moves in one
direction. What we need try and obtain from that information is when
the RSI moves sufficiently in one direction is there risk of
follow-through. We actually do this type of thing with price by placing
Bollinger Bands around price and looking for breaks of the upper or
lower bands. It is possible to do just that with RSI. It will look like
this:
The bands are based on a 9 period average with a standard deviation
of +/- 1. The idea I am investigating is whether breaks of either band
by the RSI constitutes a valid signal. However, without even looking at
price I can see that the number of occurrences where the band is broken
but does not sustain a movement in that direction is quite frequent.
One of the most important factors, in my opinion, when trading is to
match a signal generated by a technical indicator with price. Too often
the movement in price that generates a break in an indicator fails to
follow through. Because of that I like buying breaks of resistance or
selling breaks of support. Therefore I can include both conditions in
my trading.
In this way, when RSI breaks above the Bollinger high then I will
only trade if price also breaks above resistance. What I tend to look
at are swing bars - that is where a peak is formed and has at least 1
or 2 lower highs surrounding it (and vice verse for a trough.) So when
RSI breaks above the upper band I will want to buy at the level of the
swing high. If RSI breaks below the lower band I will want to sell at
the level of the swing low.
The following shows how this may look:
Let's look at what we can generate from these combined signals one
by one. I have marked swing highs and lows with a small red horizontal
line:
- RSI dips below the lower Bollinger Lower Band. However, by
the time it has confirmed this (at the close of the bar) price has
already dipped below the swing low - it is too late to trade.
- RSI breaks above the Bollinger Higher Band. However, price fails to follow through above the swing high. No trade is seen.
- RSI
breaks above the Bollinger Higher Band and on the next bar price
confirms this move by penetrating the swing high. We buy at the swing
high level. Price continues higher and then pulls back. In order to
provide a trailing stop I have also entered a fairly fast SAR/Parabolic
and we square on the 9th bar of the trade at the Parabolic level for a
modest profit.
- RSI breaks below the Bollinger Lower Band. However, price does not break below the swing low. No trade.
- RSI once again breaks below the Bollinger Lower Band. However, price does not break below the swing low. No trade.
- RSI
breaks above the Bollinger Higher Band and on the next bar price
confirms this move by penetrating the swing high. We buy at the swing
high level. Price continues to rally and to the right of the chart the
position is still open having remains above the Parabolic.
Quite clearly the benefit of combining a signal from an indicator
and from price appears to be working well, filtering out the bad
indicator signals.
It is quite easy to have Bollinger Bands plotted on the RSI by
writing a new indicator in the Chart Studio using CTL. To do this open
up your Chart Studio and then in the system modules (click on the tab
at the bottom left of the screen) and then scroll down to find
“Relative Strength” and double click on it. This will open the coding
for the RSI which is shown below. You will need to make some minor
changes or just copy and paste the following into a new page:
indicator RSIandBollingerBands;
input price = close, period = 14, SD = 1, BollPeriod = 9 ;
draw line("RSI"), BBhigh("Bollhigh"), BBlow("BollLow");
vars i(number), u(series), d(series), au(series), ad(series), dif(number), f(number),RS(series);
begin
f := front(price);
u[f] := 0;
d[f] := 0;
for i := f + 1 to back(price) do begin
dif := price[i] - price[i - 1];
if dif > 0 then begin
u[i] := dif;
d[i] := 0;
end else begin
u[i] := 0;
d[i] := -dif;
end;
end;
au := mma(u, period);
ad := mma(d, period);
RS := 100 * au / (au + ad);
line := RS ;
BBhigh := SMA(RS,7) + SD * stddev(RS, Bollperiod) ;
BBlow := SMA(RS,7) - SD * stddev(RS, Bollperiod) ;
end.
- From the menu bar select “Build” and then “Verify Module.”
- You will be prompted to save the file. Name this “RSI and Bollinger Bands”
- Against select “Build” and then “Verify Module.”
- Finally once again select “Build” but this time “Install Module.”
You should find that the indicator appears in the “User Modules”
window at the left of the screen. When you go back to your charting
area and insert an indicator you will find “RSI and Bollinger Bands”
will be available to insert into the chart.
Ian Copsey
Global Forex Trading
http://www.gftforex.com |