Average True Range (ATR)
Retrieve real-time ATR values for any supported symbol and timeframe. ATR measures market volatility by calculating the average of the true range over a specified period.
https://tickatlas.com/v1/indicator ! Authentication Required
All requests require an API key passed in the X-API-Key header.
X-API-Key: YOUR_API_KEY Don't have an API key? Get started here.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Required | — | Trading symbol (e.g., EURUSD, GBPUSD, XAUUSD) |
indicator | string | Required | ATR_14 | Indicator name. Use: ATR_14 |
timeframe | string | Required | — | Timeframe: M1, M5, M15, M30, H1, H4, D1 |
bars | integer | Optional | 1 | Number of historical bars to return (1-500) |
Request Examples
curl -H "X-API-Key: YOUR_API_KEY" "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=ATR_14&timeframe=H1" import requests
url = "https://tickatlas.com/v1/indicator"
headers = {"X-API-Key": "YOUR_API_KEY"}
params = {"symbol": "EURUSD", "indicator": "ATR_14", "timeframe": "H1"}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(f"ATR: {data['value']}") const response = await fetch(
"https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=ATR_14&timeframe=H1",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await response.json();
console.log(`ATR: ${data.value}`); <?php
$url = "https://tickatlas.com/v1/indicator";
$params = http_build_query(["symbol" => "EURUSD", "indicator" => "ATR_14", "timeframe" => "H1"]);
$ctx = stream_context_create(["http" => ["header" => "X-API-Key: YOUR_API_KEY"]]);
$data = json_decode(file_get_contents("$url?$params", false, $ctx), true);
echo "ATR: " . $data["value"];
?> package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=ATR_14&timeframe=H1"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var data map[string]interface{}
json.Unmarshal(body, &data)
fmt.Printf("ATR: %v\n", data["value"])
} Response
{
"symbol": "EURUSD",
"indicator": "ATR_14",
"timeframe": "H1",
"timestamp": "2026-03-21T14:00:00Z",
"value": 58.43,
"signal": "neutral",
"ohlc": {
"open": 1.08432,
"high": 1.08456,
"low": 1.08421,
"close": 1.08443,
"volume": 12450
},
"metadata": {
"source": "live",
"data_age_seconds": 3
}
} Error Responses
400 Bad Request
{
"error": "Bad Request",
"message": "Parameter \"symbol\" is required",
"code": 400
} 401 Unauthorized
{
"error": "Unauthorized",
"message": "Invalid API key",
"code": 401
} 429 Rate Limited
{
"error": "Rate Limited",
"message": "Rate limit exceeded",
"code": 429,
"retry_after": 60
} See full error documentation for all error codes.
Interactive Playground
Trading symbol (e.g., EURUSD, GBPUSD, XAUUSD)
Indicator name. Use: ATR_14
Timeframe: M1, M5, M15, M30, H1, H4, D1
Number of historical bars to return (1-500)
Common Use Cases
Build a ATR-based trading bot
Create a market screener filtering by ATR values
Feed ATR data into machine learning models