Skip to Main Content
Back to website
Indicator Disclaimer | Report this indicator

Compares a security’s price to the S&P 500, showing if it’s outperforming or underperforming the market.

describe_indicator('Dorsey Relative Strength', 'lower', { decimals: 3, shortName: 'RSD'});

const indexSymbol = input.symbol('Index');

// Convert current resolution to a higher one that contains at least double the amount of candles
const higherResolution = { 1: '2', 2: '4', 3: '6', 4: '10', 5: '10', 6: '12', 10: '30', 12: '30',	15: '30', 30: '60', 45: '90', 60: '120', 65: '240', 90: '240', 120: '240', 240: '1440', 1440: 'D',	D: 'W', W: 'M', M: 'Q', Q: 'Y', Y: 'Y' }[constants.resolution];

const indexData = await request.history(indexSymbol, higherResolution, {	ext_session: constants.session.lengthMinutes == constants.ext_session.lengthMinutes});

const indexClose = land_points_onto_series(indexData.time, indexData.close, time, 'ge');

const rsd = mult(div(close, interpolate_sparse_series(indexClose, 'constant')), 100);

paint(rsd, { name: 'Line', color: 'grey', thickness: 5 });