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 etiquetar con texto en una línea horizontal trazada.

Estoy utilizando TradingView – Pine Script v5. He escrito un programa que toma promedios variables de días anteriores para trazar niveles horizontales rectos para cada día. Me gustaría etiquetar estas líneas respectivamente. Una vez que las variables se establecen en el primer momento del día, permanecerán así hasta el cierre del día, por lo que son una “constante”, pero tengo dificultades para identificar/establecer el valor de “yloc”. ¿Existe una manera sencilla de agregar una etiqueta a cada una de estas líneas?

¡Gracias de antemano!

Imagen

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Agregar etiquetas a líneas horizontales en Pine Script v5 en TradingView

    Para agregar etiquetas a las líneas horizontales trazadas utilizando promedios variables de días anteriores en Pine Script v5 en TradingView, puedes seguir estos pasos:

    1. Define una variable de cadena para cada etiqueta que desees agregar, con el valor de la etiqueta como su valor de cadena (por ejemplo, upperLabel="Línea superior").
    2. Utiliza la función label.new() para crear un objeto de etiqueta para cada línea, utilizando los parámetros x e y para establecer la ubicación de la etiqueta, y el parámetro style para personalizar la apariencia de la etiqueta (por ejemplo, style=label.style_labeldown). El valor x debe ser establecido como el bar_index de la primera barra del día, mientras que el valor y debe ser establecido como el valor de la línea horizontal (es decir, el promedio variable).
    3. Por último, utiliza la función label.set_y() para actualizar la posición de la etiqueta cada vez que el valor de la línea cambie (es decir, cada vez que se agregue una nueva barra), utilizando el mismo valor de bar_index y el valor actualizado de la línea.

    Aquí tienes un ejemplo de cómo podrías agregar etiquetas a las líneas horizontales en la imagen proporcionada:

    //@version=5
    indicator("Líneas horizontales diarias con etiquetas")
    
    // definir variables para los valores de las líneas y etiquetas
    var upperLine = ta.sma(high, 20)
    var lowerLine = ta.sma(low, 20)
    var upperLabel = "Línea superior"
    var lowerLabel = "Línea inferior"
    
    // trazar las líneas horizontales
    plot(upperLine, title="Línea superior", color=color.green, linewidth=2)
    plot(lowerLine, title="Línea inferior", color=color.red, linewidth=2)
    
    // agregar etiquetas a las líneas
    var upperLabelObject = label.new(bar_index, upperLine, text=upperLabel, style=label.style_labeldown, color=color.green)
    var lowerLabelObject = label.new(bar_index, lowerLine, text=lowerLabel, style=label.style_labeldown, color=color.red)
    
    // actualizar las etiquetas cuando los valores de las líneas cambien
    if barstate.islast
        label.set_y(upperLabelObject, upperLine)
        label.set_y(lowerLabelObject, lowerLine)
    

    Ten en cuenta que este código asume que el programa se está ejecutando en un marco de tiempo diario, y que las líneas y etiquetas se están trazando para cada día por separado. Si ese no es el caso, es posible que debas ajustar los valores de bar_index y la lógica de actualización de etiquetas en consecuencia.

Comments are closed.