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.