Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
ConnorsRSI Upgraded for Amibroker (AFL)
The ConnorsRSI indicator was created by Larry Connors of Connors Research. It combines three equally weighted constituents, representing price momentum, duration of up/down trend, and relative magnitude of price change:
Price momentum is measured by fast 3-period RSI
Duration of up/down trend is the sensitive 2-period RSI of closing price’s streaks. Streaks are recorded in an oscillating manner: for example, 2 consecutive closes up give a reading of 2, 3 consecutive declining closes give a -3, and an unchanged price is 0.
Relative magnitude of price change compares the most-recent bar’s price change to previous price changes using the PercentRank function, or a percentile. We will use 1-day change of close price.
The three components of ConnorsRSI are averaged into the new indicator as follows:
ConnorsRSI(3,2,100) = [ RSI + RSI + PercentRank(100) ] / 3
- New: ConnorsRSI Average;
- New: Plot Closing Range;
- Added: Backtest.
Screenshots
Similar Indicators / Formulas
Indicator / Formula
paramLenRSI = Param("RSI Closes Length", 3, 2, 100, 1);
paramLenUD = Param("RSI UpClose Length", 2, 2, 100, 1);
paramLenRank = Param("PercentRank Length", 100, 10, 252, 1);
paramAverage = Param("Average", 5, 1, 100, 1);
function ConnorsRSI(lenRSI, lenUD, lenROC)
{
upDays = BarsSince(C <= Ref(C,-1));
downDays = BarsSince(C >= Ref(C,-1));
updownDays = IIf(upDays > 0, upDays, IIf(downDays > 0, -downDays, 0));
crsi = ( PercentRank(ROC(C,1), lenROC) + RSIa(updownDays,lenUD) +
RSI(lenRSI))/3;
return crsi;
}
function ClosingRange() {
return ((C - L) / (H - L)) * 100;
}
Plot( ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank)
, "ConnorsRSI("+paramLenRSI+","+paramLenUD+","+paramLenRank+")"
, colorBrightGreen, styleLine, 0, 100);
Plot(ClosingRange(), "Closing Range", colorRed, styleDashed);
Plot( MA(ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank), paramAverage)
, "Average("+paramAverage+")"
, colorLightBlue, styleLine, 0, 100);
PlotGrid(85, colorGold);
PlotGrid(15, colorGold);
SetTradeDelays(0,0,0,0);
BuyPrice = C;
SellPrice = C;
NumberPositions = 10;
SetOption("MaxOpenPositions", NumberPositions);
PositionSize = -100 / NumberPositions;
Buy = ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank) < 15 AND ClosingRange() < 25;
Sell = ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank) > 70;
Short = ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank) > 85 AND ClosingRange() > 75;
Cover = ConnorsRSI(paramLenRSI,paramLenUD,paramLenRank) < 30;
Lookback = 5;
PositionScore = -ROC(C,Lookback);2 comments
Leave Comment
Please login here to leave a comment.
Back
Hi,
Ideally if this should have accompanied the buy and sell signal or arrow it would have been ideal. Thanks,
thanks