Curso Gratuito - Trading IA

Extraer de forma automática la lista de tickers (Código)

luis
luis 414 puntos

Hola,

Para que no tengáis que copiar la lista de tickers que os dejo en el foro o pasaros media hora copiando tickers, os dejo esta pequeña herramienta.

¿Para quién es útil?

Para aquellos que utilicéis los scanners en tradingview como hago yo.

Índices

El primer paso es elegir el índice del que quieres extraer los tickers.

Lista de todos los índices

Las economías más grandea

Mis preferidos

SP500

Euro Stoxx 50

Dónde ejecutarlo

Una vez dentro de la página cuando habéis listado todos los componentes del índice y los habéis ordenado por capitalización de mayor a menor, os aparecen primero los más capitalizados.

En Google Chrome os vais a Click derecho → Inspeccionar elemento → Console.

Código

Ahora solo copiar este código, pegarlo en la consola y pulsar enter para ejecutarlo.

var i = 0;
var inicio = 0; // Por si queréis ir a por los siguientes 40
var max_items = 40;
var tickers = []; function analiza_lista(){
for (a of document.getElementsByClassName("table-Ngq2xrcG")[1].getElementsByTagName("tbody")[0].getElementsByTagName("tr")){ // Cada fila de la tabla
i = i+1;
if(i <= inicio)
continue; var ticker = a.getElementsByClassName("tickerName-GrtoTeat")[0].href.split("/")[4].replace("-", ":");
tickers.push(ticker);

//
if (i >= inicio + max_items)
break;
}

// Creando el texto a copiar en nuestro script de pine
var txt = '';
var j = 0;

// Mínimo 40

tickers.forEach((element) => {
j = j+1;
txt = txt + 't' + (j < 10? '0' + j : j) + ' = "' + tickers[j-1] + "\"\n";
});

console.log(txt); } analiza_lista();

Simplemente copiar y pegar la lista de tickers en vuestro scanner y ya la tenéis actualizada.

Rápido. :)

Comentarios

  • trader89
    trader89 190 puntos
    editado julio 2024

    ¡Gracias!

    Pruebo:

    Para SP500

    t01 = "NASDAQ:MSFT"
    t02 = "NASDAQ:AAPL"
    t03 = "NASDAQ:NVDA"
    t04 = "NASDAQ:GOOG"
    t05 = "NASDAQ:GOOGL"
    t06 = "NASDAQ:AMZN"
    t07 = "NASDAQ:META"
    t08 = "NYSE:BRK.B"
    t09 = "NYSE:LLY"
    t10 = "NASDAQ:AVGO"
    t11 = "NASDAQ:TSLA"
    t12 = "NYSE:JPM"
    t13 = "NYSE:WMT"
    t14 = "NYSE:V"
    t15 = "NYSE:XOM"
    t16 = "NYSE:UNH"
    t17 = "NYSE:MA"
    t18 = "NYSE:ORCL"
    t19 = "NYSE:PG"
    t20 = "NASDAQ:COST"
    t21 = "NYSE:JNJ"
    t22 = "NYSE:HD"
    t23 = "NYSE:MRK"
    t24 = "NYSE:BAC"
    t25 = "NASDAQ:NFLX"
    t26 = "NYSE:ABBV"
    t27 = "NYSE:CVX"
    t28 = "NASDAQ:AMD"
    t29 = "NYSE:KO"
    t30 = "NYSE:CRM"
    t31 = "NASDAQ:ADBE"
    t32 = "NASDAQ:QCOM"
    t33 = "NASDAQ:PEP"
    t34 = "NASDAQ:LIN"
    t35 = "NASDAQ:TMUS"
    t36 = "NYSE:WFC"
    t37 = "NYSE:TMO"
    t38 = "NASDAQ:AMAT"
    t39 = "NYSE:ACN"
    t40 = "NASDAQ:CSCO"

    Para EuroStoxx

    t01 = "EURONEXT:ASML"
    t02 = "EURONEXT:MC"
    t03 = "EURONEXT:RMS"
    t04 = "XETR:SAP"
    t05 = "EURONEXT:OR"
    t06 = "EURONEXT:TTE"
    t07 = "BME:ITX"
    t08 = "XETR:SIE"
    t09 = "EURONEXT:SU"
    t10 = "XETR:DTE"
    t11 = "EURONEXT:SAN"
    t12 = "EURONEXT:ABI"
    t13 = "EURONEXT:AIR"
    t14 = "XETR:ALV"
    t15 = "MIL:RACE"
    t16 = "EURONEXT:AI"
    t17 = "EURONEXT:EL"
    t18 = "EURONEXT:SAF"
    t19 = "EURONEXT:PRX"
    t20 = "BME:IBE"
    t21 = "EURONEXT:BNP"
    t22 = "EURONEXT:CS"
    t23 = "XETR:MBG"
    t24 = "BME:SAN"
    t25 = "MIL:ENEL"
    t26 = "MIL:ISP"
    t27 = "XETR:MUV2"
    t28 = "EURONEXT:DG"
    t29 = "MIL:UCG"
    t30 = "XETR:BMW"
    t31 = "BME:BBVA"
    t32 = "XETR:VOW3"
    t33 = "EURONEXT:INGA"
    t34 = "MIL:STLAM"
    t35 = "MIL:ENI"
    t36 = "XETR:IFX"
    t37 = "XETR:DHL"
    t38 = "EURONEXT:KER"
    t39 = "XETR:BAS"
    t40 = "OMXHEX:NDA_FI"

    😋

    🇪🇦

  • luis
    luis 414 puntos
    editado diciembre 2024

    Excluir acciones que ya tenemos en cartera

    Añado una modificación para que puedas excluir de las tablas que se generan las acciones que ya tengas en cartera.

    En este caso excluiría MCD y TSLA

    var tickers_excluidos = [
    "NYSE:MCD",
    "NASDAQ:TSLA",
    ]; var j = 0;
    function analiza_listas(num_listas){
    for (j = 0; j<num_listas; j++){
    console.log("********************** LISTA " + j + "*********************");
    analiza_lista(0 + j40, 40);
    }
    } //var tickers_excluidos =[];
    function analiza_lista(inicio, max_items){
    var i = 0;
    var tickers = [];
    for (a of document.getElementsByClassName("table-Ngq2xrcG")[1].getElementsByTagName("tbody")[0].getElementsByTagName("tr")){ // Cada fila de la tabla var ticker = a.getElementsByClassName("tickerName-GrtoTeat")[0].href.split("/")[4].replace("-", ":");

    // Saltar si es un excluido
    if (tickers_excluidos.includes(ticker))
    continue;

    i = i+1;
    if(i <= inicio)
    continue;

    tickers.push(ticker);

    //
    if (i >= inicio + max_items)
    break;
    }

    // Creando el texto a copiar en nuestro script de pine
    var txt = '';
    var j = 0;

    // Mínimo 40

    tickers.forEach((element) => {
    j = j+1;
    txt = txt + 't' + (j < 10? '0' + j : j) + ' = "' + tickers[j-1] + "\"\n";
    });
    // terminar hasta 40

    console.log(txt); } analiza_listas(5);

    Genera múltiples tablas a la vez

    Además, genera 5 tablas de 40 elementos en una ejecución.

    Podéis poner más o menos editando el último "5".

    analiza_listas(5);
    

    Recuerda tener cargados suficientes elementos en TradingView para que se generen las tablas correctamente. ;)

    Un saludo!