New and improved strength heatmap for the top 100 volume leaders in the S&P. Coded in a workaround to the 40 request.security limitation that currently exists in Pine. Added the ability to input the number of columns (time frames) you wish to display.
For 3 time frame analysis, add the indicator to your chart 3 times. Change the number of columns to 3 for each of these indicators. Specify the column and time frame for each one (example, 5 minute for column 1, 1 hour for column 2 and Daily chart for column 3). It will automatically resize the columns/tables to properly display the output. This provides a sort of "Strength Heatmap" for the top 100 stocks in the S&P. To achieve this, make a copy of the indicator and substitute lines 68-105 with the following premade watchlists :
Make a copy 1 - FIrst 38 volume leaders in the S&P
s01 = input.symbol('AAPL', group = 'Symbols', inline = 's01')
s02 = input.symbol('ABBV', group = 'Symbols', inline = 's02')
s03 = input.symbol('ABT', group = 'Symbols', inline = 's03')
s04 = input.symbol('ACN', group = 'Symbols', inline = 's04')
s05 = input.symbol('AEP', group = 'Symbols', inline = 's05')
s06 = input.symbol('AIG', group = 'Symbols', inline = 's06')
s07 = input.symbol('AMAT', group = 'Symbols', inline = 's07')
s08 = input.symbol('AMD', group = 'Symbols', inline = 's08')
s09 = input.symbol('APA', group = 'Symbols', inline = 's09')
s10 = input.symbol('ATVI', group = 'Symbols', inline = 's10')
s11 = input.symbol('AXP', group = 'Symbols', inline = 's11')
s12 = input.symbol('BA', group = 'Symbols', inline = 's12')
s13 = input.symbol('BBWI', group = 'Symbols', inline = 's13')
s14 = input.symbol('BBY', group = 'Symbols', inline = 's14')
s15 = input.symbol('BK', group = 'Symbols', inline = 's15')
s16 = input.symbol('BMY', group = 'Symbols', inline = 's16')
s17 = input.symbol('BRK.B', group = 'Symbols', inline = 's17')
s18 = input.symbol('C', group = 'Symbols', inline = 's18')
s19 = input.symbol('CAT', group = 'Symbols', inline = 's19')
s20 = input.symbol('CCL', group = 'Symbols', inline = 's20')
s21 = input.symbol('CFG', group = 'Symbols', inline = 's21')
s22 = input.symbol('CL', group = 'Symbols', inline = 's22')
s23 = input.symbol('CNC', group = 'Symbols', inline = 's23')
s24 = input.symbol('COF', group = 'Symbols', inline = 's24')
s25 = input.symbol('COP', group = 'Symbols', inline = 's25')
s26 = input.symbol('COST', group = 'Symbols', inline = 's26')
s27 = input.symbol('CRM', group = 'Symbols', inline = 's27')
s28 = input.symbol('CVS', group = 'Symbols', inline = 's28')
s29 = input.symbol('CVX', group = 'Symbols', inline = 's29')
s30 = input.symbol('DAL', group = 'Symbols', inline = 's30')
s31 = input.symbol('DIS', group = 'Symbols', inline = 's31')
s32 = input.symbol('DISCA', group = 'Symbols', inline = 's32')
s33 = input.symbol('DISCK', group = 'Symbols', inline = 's33')
s34 = input.symbol('DISH', group = 'Symbols', inline = 's34')
s35 = input.symbol('DLTR', group = 'Symbols', inline = 's35')
s36 = input.symbol('DOW', group = 'Symbols', inline = 's36')
s37 = input.symbol('DVN', group = 'Symbols', inline = 's37')
s38 = input.symbol('EBAY', group = 'Symbols', inline = 's38')
Make a copy 2 - Tickers 39 to 76
s01 = input.symbol('EOG', group = 'Symbols', inline = 's01')
s02 = input.symbol('F', group = 'Symbols', inline = 's02')
s03 = input.symbol('FB', group = 'Symbols', inline = 's03')
s04 = input.symbol('FCX', group = 'Symbols', inline = 's04')
s05 = input.symbol('FIS', group = 'Symbols', inline = 's05')
s06 = input.symbol('GE', group = 'Symbols', inline = 's06')
s07 = input.symbol('GIS', group = 'Symbols', inline = 's07')
s08 = input.symbol('GM', group = 'Symbols', inline = 's08')
s09 = input.symbol('GS', group = 'Symbols', inline = 's09')
s10 = input.symbol('HD', group = 'Symbols', inline = 's10')
s11 = input.symbol('IBM', group = 'Symbols', inline = 's11')
s12 = input.symbol('INTC', group = 'Symbols', inline = 's12')
s13 = input.symbol('JNJ', group = 'Symbols', inline = 's13')
s14 = input.symbol('JPM', group = 'Symbols', inline = 's14')
s15 = input.symbol('KR', group = 'Symbols', inline = 's15')
s16 = input.symbol('LUV', group = 'Symbols', inline = 's16')
s17 = input.symbol('LVS', group = 'Symbols', inline = 's17')
s18 = input.symbol('MA', group = 'Symbols', inline = 's18')
s19 = input.symbol('MCD', group = 'Symbols', inline = 's19')
s20 = input.symbol('MCHP', group = 'Symbols', inline = 's20')
s21 = input.symbol('MDT', group = 'Symbols', inline = 's21')
s22 = input.symbol('MET', group = 'Symbols', inline = 's22')
s23 = input.symbol('MGM', group = 'Symbols', inline = 's23')
s24 = input.symbol('MOS', group = 'Symbols', inline = 's24')
s25 = input.symbol('MPC', group = 'Symbols', inline = 's25')
s26 = input.symbol('MRK', group = 'Symbols', inline = 's26')
s27 = input.symbol('MRNA', group = 'Symbols', inline = 's27')
s28 = input.symbol('MS', group = 'Symbols', inline = 's28')
s29 = input.symbol('MSFT', group = 'Symbols', inline = 's29')
s30 = input.symbol('MU', group = 'Symbols', inline = 's30')
s31 = input.symbol('NCLH', group = 'Symbols', inline = 's31')
s32 = input.symbol('NEE', group = 'Symbols', inline = 's32')
s33 = input.symbol('NEM', group = 'Symbols', inline = 's33')
s34 = input.symbol('NFLX', group = 'Symbols', inline = 's34')
s35 = input.symbol('NKE', group = 'Symbols', inline = 's35')
s36 = input.symbol('NVDA', group = 'Symbols', inline = 's36')
s37 = input.symbol('ORCL', group = 'Symbols', inline = 's37')
s38 = input.symbol('OXY', group = 'Symbols', inline = 's38')
Make a copy 3 - tickers 77 to 114
s01 = input.symbol('PENN', group = 'Symbols', inline = 's01')
s02 = input.symbol('PEP', group = 'Symbols', inline = 's02')
s03 = input.symbol('PFE', group = 'Symbols', inline = 's03')
s04 = input.symbol('PG', group = 'Symbols', inline = 's04')
s05 = input.symbol('PM', group = 'Symbols', inline = 's05')
s06 = input.symbol('PYPL', group = 'Symbols', inline = 's06')
s07 = input.symbol('QCOM', group = 'Symbols', inline = 's07')
s08 = input.symbol('RTX', group = 'Symbols', inline = 's08')
s09 = input.symbol('SBUX', group = 'Symbols', inline = 's09')
s10 = input.symbol('SCHW', group = 'Symbols', inline = 's10')
s11 = input.symbol('SLB', group = 'Symbols', inline = 's11')
s12 = input.symbol('SYF', group = 'Symbols', inline = 's12')
s13 = input.symbol('T', group = 'Symbols', inline = 's13')
s14 = input.symbol('TFC', group = 'Symbols', inline = 's14')
s15 = input.symbol('TGT', group = 'Symbols', inline = 's15')
s16 = input.symbol('TJX', group = 'Symbols', inline = 's16')
s17 = input.symbol('TMUS', group = 'Symbols', inline = 's17')
s18 = input.symbol('TSLA', group = 'Symbols', inline = 's18')
s19 = input.symbol('TWTR', group = 'Symbols', inline = 's19')
s20 = input.symbol('TXN', group = 'Symbols', inline = 's20')
s21 = input.symbol('UAL', group = 'Symbols', inline = 's21')
s22 = input.symbol('UNH', group = 'Symbols', inline = 's22')
s23 = input.symbol('V', group = 'Symbols', inline = 's23')
s24 = input.symbol('VIAC', group = 'Symbols', inline = 's24')
s25 = input.symbol('WBA', group = 'Symbols', inline = 's25')
s26 = input.symbol('WFC', group = 'Symbols', inline = 's26')
s27 = input.symbol('WMT', group = 'Symbols', inline = 's27')
s28 = input.symbol('WYNN', group = 'Symbols', inline = 's28')
s29 = input.symbol('XOM', group = 'Symbols', inline = 's29')
s30 = input.symbol('SPY', group = 'Symbols', inline = 's30')
s31 = input.symbol('SPY', group = 'Symbols', inline = 's31')
s32 = input.symbol('SPY', group = 'Symbols', inline = 's32')
s33 = input.symbol('SPY', group = 'Symbols', inline = 's33')
s34 = input.symbol('SPY', group = 'Symbols', inline = 's34')
s35 = input.symbol('SPY', group = 'Symbols', inline = 's35')
s36 = input.symbol('SPY', group = 'Symbols', inline = 's36')
s37 = input.symbol('SPY', group = 'Symbols', inline = 's37')
s38 = input.symbol('SPY', group = 'Symbols', inline = 's38')