es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo seleccionar aleatoriamente un elemento de una lista en pinescript?

Soy nuevo en programación, así que…

¿Cómo podemos seleccionar aleatoriamente un elemento de una lista en PineScript?

Quiero generar símbolos al azar para la función de seguridad.

Tengo una lista de símbolos como BINANCE:BTCUSDT, BINANCE:ETHUSDT, BINANCE:ATOMUSDT, etc.

¿Qué debo hacer para convertirlo en un array, generar un valor aleatorio de él y poner este valor en la función de seguridad (supongo que al recargar la página obtendré un gráfico generado aleatoriamente con un símbolo nuevo cada vez)?

Lo que tengo ahora es:

var symbols = array.new_string(5)

array.set(symbols, 0, 'BINANCE:BTCUSDT')
array.set(symbols, 1, 'BINANCE:ETHUSDT')
array.set(symbols, 2, 'BINANCE:ATOMUSDT')
array.set(symbols, 3, 'BINANCE:SOLUSDT')
array.set(symbols, 4, 'BINANCE:AXSUSDT')


sec = request.security(str.tostring(array.get(symbols,0)), 'D', close)
plot(sec)

pero no funciona.

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para seleccionar aleatoriamente un elemento de una lista en PineScript, puedes usar la función randint() para generar un índice aleatorio dentro del rango del array. Luego puedes utilizar este índice para obtener el valor correspondiente del array usando array.get(). Aquí tienes un ejemplo de código:

    var symbols = array.new_string(5)
    
    array.set(symbols, 0, "BINANCE:BTCUSDT")
    array.set(symbols, 1, "BINANCE:ETHUSDT")
    array.set(symbols, 2, "BINANCE:ATOMUSDT")
    array.set(symbols, 3, "BINANCE:SOLUSDT")
    array.set(symbols, 4, "BINANCE:AXSUSDT")
    
    random_index = randint(0, array.size(symbols)-1)
    random_symbol = array.get(symbols, random_index)
    
    sec = request.security(str.tostring(random_symbol), "D", close)
    plot(sec)
    

    En este código, primero definimos un array symbols con la lista de símbolos. Luego generamos un índice aleatorio utilizando la función randint() y obtenemos el símbolo correspondiente utilizando array.get(). Finalmente, utilizamos request.security() con el símbolo seleccionado aleatoriamente para generar la función de seguridad y trazarla.

    Ten en cuenta que restamos 1 a la función array.size() para asegurarnos de que el índice aleatorio esté dentro del rango de los índices del array.

Comments are closed.