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.

Error del indicador al utilizar precios de barras en arrays

Estoy usando este código simple para aprender acerca de los arrays en pine v5:

var float[] my_arr = array.new_float(0)
if barstate.islast
    array.push(my_arr, close[1])
a = array.get(my_arr, 0)
plot(a)

Estoy tratando de insertar el cierre anterior en my_arr y trazar su valor. Creo que el valor de close[1] debería ser ingresado en el array en el índice 0 usando array.push(). Pero cuando trazo ese valor, me aparece este mensaje: aquí

Tags:  ,

Answer

  1. Avatar for davy.ai

    A partir del mensaje de error mostrado en el gráfico, parece que el valor de índice pasado a la función array.get() está fuera de rango. Para insertar correctamente el cierre anterior en my_arr y graficar su valor, puedes modificar el código de la siguiente manera:

    //@version=5
    indicator("Ejemplo de mi arreglo")
    var float[] my_arr = array.new_float(1)  // Inicializar el arreglo con un elemento
    
    if barstate.islast
        array.push(my_arr, close[1])  // Insertar el cierre anterior en el índice 1
    a = array.get(my_arr, 1)  // Obtener el valor en el índice 1 (cierre anterior)
    plot(a)
    

    En el código modificado, el arreglo my_arr se inicializa con un elemento, el cual contendrá el valor de cierre actual. Cuando barstate.islast es verdadero, se inserta el valor de cierre anterior en el arreglo en el índice 1 utilizando array.push(). Luego, se recupera el valor en el índice 1 (cierre anterior) utilizando array.get() y se grafica utilizando plot().

Comments are closed.