This code snippet demonstrates how to display the Average True Range (ATR) value as a text annotation on a price chart, along with a highlighted rectangle around the annotation using the ProBuilder language.
defparam drawonlastbaronly = true
period = 10
myATR = AverageTrueRange[period]
y = high * 1.01
drawtext("ATRx2 = #MyATR#", barindex-2, y) coloured(204,0,204)
DRAWRECTANGLE(barindex-4, y*1.001, barindex, y*0.999) coloured(204,0,204)
return
Explanation of the code:
- defparam drawonlastbaronly = true: This line ensures that the drawing commands (text and rectangle) are only executed on the last bar of the chart, keeping the chart uncluttered.
- period = 10: Sets the period for the ATR calculation to 10 bars.
- myATR = AverageTrueRange[period]: Calculates the Average True Range (ATR) over the specified period and stores the value in the variable myATR.
- y = high * 1.01: Determines the vertical position for the text and rectangle. It is set slightly above the highest price of the current bar (1% higher).
- drawtext(“ATRx2 = #MyATR#”, barindex-2, y) coloured(204,0,204): Displays the text annotation on the chart, showing the ATR value multiplied by 2. The text is placed two bars back from the current bar and colored in a purple shade (RGB: 204,0,204).
- DRAWRECTANGLE(barindex-4, y*1.001, barindex, y*0.999) coloured(204,0,204): Draws a rectangle around the area where the ATR value is displayed, enhancing visibility. The rectangle extends from four bars back to the current bar and is slightly taller than the text’s vertical position, also colored in purple.
This snippet is useful for traders who want to visually track the ATR on their charts for better decision-making regarding volatility.