Ultimate RSI Indicator for ThinkorSwim

C

chillc15

New member
A double RSI indicator with standard deviation bands of the RSI. The very important RSI 50 line and coloring of the RSI lines for strength and weakness with a could to show when the two RSI lines separate. This would indicate a stronger move.

The Midline of the RSI bands works the same as the Market Mover with crossover of the RSI and Midline giving the signals.

The bands and 80 / 20 lines will show when RSI is very strong in one direction or the other. It can be traded the same as BBs by trading from top to bottom band and vice versa, that would be for the most adventurous trader.

The cross of the RSI and Midline would be the next step down in risk for a trade, while that same cross along with a cross of the 50 line would be the conservative trade entry or exit.

The RSI is not an oversold/overbought indicator, it is a strength indicator. So when RSI is high it is telling you the trend is strong, low shows trend is weak. So even when high and falling if it does not break the 50 line the up trend is most likely to continue. So always keep in mind the importance of the 50 line.

I will put up two versions one for scalping types which will match Market Mover signals (without scaling problems and zooming) and one for swing trading types.

Any feedback or questions are welcome.

Short term
Long term
Skeleton of RSI and SMA short term



Short term
http://tos.mx/N6WBa1

Long term
http://tos.mx/lpvzpv
@horserider I have tried several ways but keep getting errors by extracting just the midline and using in an upper study. Suggestions?

Thanks
 
H

horserider

Well-known member
VIP
Warehouse
@chillc15 Not sure what you are trying to accomplish making it an upper study. The midline is moving average of the RSI. The midline thus cannot be extracted as it requires the RSI for calculation of the midline values. I do not believe it can be done. Maybe someone has the solution. Sorry I do not.
 
C

chillc15

New member
@chillc15 Not sure what you are trying to accomplish making it an upper study. The midline is moving average of the RSI. The midline thus cannot be extracted as it requires the RSI for calculation of the midline values. I do not believe it can be done. Maybe someone has the solution. Sorry I do not.
@horserider I get that thank you.

One other question. I'am familiar with assign price color but is it possible to assign a price color based on a defined color of "Positive and Up"

RSI2.DefineColor("Positive and Up", Color.GREEN);
RSI2.DefineColor("Positive and Down", Color.DARK_GREEN);
RSI2.DefineColor("Negative and Down", Color.RED);
RSI2.DefineColor("Negative and Up", Color.DARK_RED);
RSI2.AssignValueColor(if RSI2 >= 50 then if RSI2 > RSI2[1] then RSI2.Color("Positive and Up") else RSI2.Color("Positive and Down") else if RSI2 < RSI2[1] then RSI2.Color("Negative and Down") else RSI2.Color("Negative and Up"));

example - I would like to assign the price color based on the following:

When the RSI2 is ("Positive and Up", Color.GREEN); and obviously the reverse price color with RSI2.DefineColor("Negative and Down", Color.RED);

So of course this does not work and looking for some help.
AssignPriceColor(if RSI2 is ("Positive and Up") then Color.GREEN else if RSI2 ("Negative and Down") then Color.RED else Color.YELLOW);

Thanks
 
H

horserider

Well-known member
VIP
Warehouse
@chillc15 Here is first request. Make sure left axis is checked. Guess it is possible.

Code:
# Ultimate RSI stripped down to plot the midline  of the average of the RSI.
# Make sure Left Axis is checked in study settings.
# Horserider 1/7/2019 On request from chillc15 after learning use of left axis.

#RSI
input length = 5;

input price = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

def RSI = 50 * (ChgRatio + 1);

#plot RSI avg;

input AverageTypeBB = {default SMA, EMA, HMA};
input displaceBB = 0;
input lengthBB = 5;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;

plot midline ;

switch (AverageTypeBB) {
case SMA:   
    midline   = reference BollingerBands(RSI, displaceBB, lengthBB, Num_Dev_Dn, Num_Dev_up).Midline;
case EMA:   
    midline   = reference BollingerBands(RSI, displaceBB, lengthBB, Num_Dev_Dn, Num_Dev_up, averageType = AverageType.EXPONENTIAL).Midline;
case HMA: 
    midline   = reference BollingerBands(RSI, displaceBB, lengthBB, Num_Dev_Dn, Num_Dev_up, averageType = AverageType.EXPONENTIAL).Midline;
}

midline.setdefaultColor(getColor(3));
 
D

danushman

New member
Hello Horserider, I have a question about this indicator and wanted to see if we could DM somehow so I could ask you privately. Can I message you somehow or DM you?
 
H

horserider

Well-known member
VIP
Warehouse
@danushman No idea if that is possible here. If it is I do not mind you doing it. Maybe ask BenTen if it is possible.
You cannot ask in this thread?
If you are in the discord I believe you can private message there.
 
D

danushman

New member
Would prefer to keep it private if that is OK. On Discord, username is 'dan#1279'. Can also drop me a email if you like - dan-at-nichetheory-dot-com.
 
H

horserider

Well-known member
VIP
Warehouse
Did not see that username in The Syndicate discord. Sorry. If you are in that discord message me.
 
D

danushman

New member
I'll just ask here. Basically, I run a charting company and we are building a new charting platform. A customer of mine asked if we could implement your indicator in it and I wanted to ask your permission.
 
H

horserider

Well-known member
VIP
Warehouse
Which one? Just curious. I am fine with you using the indicator. My only hope is you are not charging people for the use of the indicator. If so I would frown a bit.
 
D

danushman

New member
Platform is called TrendSpider. We would not charge anyone to use your indicator and we would give credit if you like as well in platform and documentation.
 
H

horserider

Well-known member
VIP
Warehouse
Great. Hahaha make me famous.
Seems I looked at Trendspider at some point in the past. Maybe this evening I will look it up again.
 
D

danushman

New member
Awesome! We'll give it a whirl then - if you don't mind drop me a note with how you want attribution displayed if you like. Otherwise, we'll have to say 'by Horserider' which is fine but could look weird. dan-at-trendspider-dot-com works.
 
G

gilda

New member
@horserider @danushman TrendSpider cheapest plan is $14/month. Technically the indicator is only free if you're a paid member :unsure:
 
D

diazlaz

Well-known member
VIP
Warehouse
@horserider @danushman TrendSpider cheapest plan is $14/month. Technically the indicator is only free if you're a paid member :unsure:
It's a good service, I been a member for over a year, have paid for a second and really haven't used it at all or as much, it has evolved quickly.

Dan I will be in touch 😊. I going to have to block sometime to it again soon.
 

Top