Well-known member
@markos I showed the buys and sells in the other thread on Ultimate RSI. You could copy those here if you wish. Edit them if you think it is necessary. Definitely short term trading to stack very small profits up. You will be in and out most likely for a profit but will miss any long trend. I think it is only practical for an auto trading system.


Well-known member
@horserider I would tend to agree with you about the practicality. I don't use it but others might. If not careful, one could blow up an account quick.

I created this thread because it was mentioned elsewhere and we, as a group, need to try and not deviate within a thread as I have done in the past. Then good ideas can get lost.
My CPU is fried, my only ToS is on mobile. I won't have my laptop back from repair for 1-2 weeks. :cry:

Please feel free and post your Connors RSI(2) here when you can.
If you do, please post it according to the rules laid out above, for the purists. ;)


New member
I downloaded the ConnorRSI for the charts.
How can I convert it to use it in the Scan setting?


@markos and @horserider

Do you guys have any idea how I could use the connor RSI into a scan. Here is the script if you don't have it:
# ConnorsRSI Indicator
declare lower;
input Price_RSI_Period = 3;
input Streak_RSI_Period = 2;
input Rank_Lookback = 100;
# Component 1: the RSI of closing price
def priceRSI = reference RSI("price" = close, "length" = Price_RSI_Period);
# Component 2: the RSI of the streak
def upDay = if close > close[1] then 1 else 0;
def downDay = if close < close[1] then -1 else 0;
def upStreak = if upDay != 0 then upStreak[1] + upDay else 0;
def downStreak = if downDay != 0 then downStreak[1] + downDay else 0;
def streak = upStreak + downStreak;
def streakRSI = reference RSI("price" = streak, "length" = Streak_RSI_Period);
# Component 3: The percent rank of the current return
def ROC1 = close / close[1] - 1;
def rank = fold i = 1 to Rank_Lookback + 1 with r = 0 do
r + (GetValue(ROC1, i, Rank_Lookback) < ROC1) ;
def pctRank = (rank / Rank_Lookback) * 100 ;
# The final ConnorsRSI calculation, combining the three components
plot ConnorsRSI = (priceRSI + streakRSI + pctRank) / 3;

When I try to use the condition wizard I get "error script execution timeout"

The scan would be for an RSI lower than 5


New member
Hey all i am a newby trying to find my adult job. I have been in the army since the day after 9/11. I retire from 20 years. I am an infantryman and know my body is broke and won't be able to do physical labor when I am older. haha. I am somewhat new to the market and really enjoy all the coding and charting. I don't know how to code or strategy. I am doing the thinkorswim education on it. I find it very helpful.
I found a strategy that I would like to try
I will do try. I am trying to find away to code this strat For tos And trading view.

Cm rsi 2 lower strat
Money flow index
Together and have a buy indicator
Cm under 3
Mfi under 20
Rsi 30 or less

Also I am trying to find a way to find support when these criteria are met.

Can someone point me in the right direction


@Matthew.w.mickey This will color your candles cyan if all 3 conditions are met.

declare upper;

input length = 14;
input over_Bought = 70;
input over_Sold = 30;
input length_connor = 2;
input overbought_connor = 90;
input oversold_connor = 3;
input price = close;
input averageType = AverageType.WILDERS;
input overSold_MFI = 20;
input overBought_MFI = 80;
input length_MFI = 14;
input movingAvgLength_MFI = 1;

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);

def NetChgAvg_connor = MovingAverage(averageType, price - price[1], length_connor);
def TotChgAvg_connor = MovingAverage(averageType, AbsValue(price - price[1]), length_connor);
def ChgRatio_connor = if TotChgAvg_connor != 0 then NetChgAvg_connor / TotChgAvg_connor else 0;

def RSI_connor = 50 * (ChgRatio_connor + 1);

def MoneyFlowIndex = Average(moneyflow(high, close, low, volume, length_MFI), movingAvgLength_MFI);

AssignPriceColor(if RSI < over_Sold and RSI_connor < oversold_connor and MoneyFlowIndex < overSold_MFI then color.CYAN else color.CURRENT);

Similar threads