Pre-Calculated, Redis-Cached
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
EMA(10, 20, 50) ready to drop into your strategy. Faster reaction to recent price moves than SMA. Pre-calculated, live, and JSON-formatted.
The Exponential Moving Average weights recent price data more heavily than older data — making it more responsive to price changes than a simple moving average. Traders use EMA_10/20/50 crossovers to time trend entries, and "EMA stack" alignment (10 above 20 above 50) to confirm trend direction. TickAtlas pre-calculates all three from our live data so your bot queries a number, not a computation problem.
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
M1, M5, M15, M30, H1, H4, D1 — the same endpoint serves scalpers and position traders alike.
EURUSD, GBPUSD, XAUUSD, BTCUSD, USDJPY — data available for every symbol in our data.
curl -X GET \
"https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=EMA_20&timeframe=H1" \
-H "X-API-Key: YOUR_API_KEY" {
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicator": "EMA_20",
"value": 1.08395,
"bid": 1.08401,
"ask": 1.08414,
"updated_at": 1711548000,
"server_time": "2024-03-27T14:00:00+00:00"
}
} curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicators?symbol=EURUSD&timeframe=H1&category=trend"import requests
r = requests.get(
"https://tickatlas.com/v1/indicators",
headers={"X-API-Key": "YOUR_KEY"},
params={"symbol": "EURUSD", "timeframe": "H1", "category": "trend"},
)
d = r.json()["data"]["indicators"] # flat map of bare floats
# EMA alignment check — stacked EMAs signal a strong trend
if d["EMA_10"] > d["EMA_20"] > d["EMA_50"]:
trend = "BULLISH_ALIGNED"
elif d["EMA_10"] < d["EMA_20"] < d["EMA_50"]:
trend = "BEARISH_ALIGNED"
else:
trend = "MIXED"
print(trend){
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicators": {
"EMA_10": 1.0872, "EMA_20": 1.0858, "EMA_50": 1.0831, "...": "20 more trend keys"
},
"count": 23,
"updated_at": 1711548000
}
}Available EMA indicators
Plug into any stack
Every new account starts with $2.50 of pay-as-you-go credit and no card. Monthly plans add a flat monthly price, WebSocket streaming and support.
Landing pages convert; documentation closes the loop. These are the routes a developer usually needs next.
Start from the developer portal and map the API families your product needs.
Open docsMake the first authenticated request and validate the setup end to end.
Read quickstartRequest and response contracts for quote, indicator, summary and calendar.
Browse referenceHow the API drops into ChatGPT, Claude, Discord, n8n, Zapier and Sheets.
See integrationsStraight answers on limits, coverage and how the endpoint behaves in production.
Both are available. EMA (exponential) weights recent prices more heavily, making it faster to react to price changes. SMA (simple) treats all periods equally, producing a smoother but slower line. EMA_20 and SMA_20 will diverge during fast-moving markets.
Yes — query EMA_10 and EMA_20, then compare. If EMA_10 is above EMA_20, the short-term trend is bullish. For golden cross detection (EMA50 crossover), query EMA_20 and EMA_50 and compare on successive calls or use the history endpoint.
The values are computed directly from our price data, using the same smoothing factor (2 / (period + 1)). They match what you'd see on a standard trading platform chart for the same symbol and timeframe.
All 150+ symbols in our data — major Forex pairs (EURUSD, GBPUSD, USDJPY), gold (XAUUSD), silver (XAGUSD), BTCUSD, and more. Use GET /v1/symbols to see the live symbol list.
Sign up, grab your API key, make your first request.
Every new account starts with $2.50 of pay-as-you-go credit. No card required.