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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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