Backtesting API — Historical Indicators & OHLC
Historical OHLCV candles and pre-calculated indicator values across 7 timeframes. Up to 500 bars per request. Clean data for strategy backtesting and analysis.
-
Historical OHLCV
Up to 500 candlestick bars per request with open, high, low, close, and volume data across all timeframes.
-
Historical Indicators
Get past RSI, MACD, and all 42 indicator values. No need to recalculate — the historical values are pre-computed.
-
Clean JSON Format
Structured JSON that maps directly to pandas DataFrames, numpy arrays, or any data processing pipeline.
-
Multi-Timeframe
Test strategies across M1 to D1. Compare how your rules perform on different timeframes with the same data source.
-
Multi-Symbol
Backtest across forex, crypto, and commodities. Same API, same format, consistent data quality.
-
Spreadsheet Export
Feed data into Google Sheets or Excel for visual analysis. See our integration guides.
Backtesting Example
import requests
import pandas as pd
headers = {"X-API-Key": "YOUR_API_KEY"}
BASE = "https://tickatlas.com/v1"
# Get 200 daily candles for EURUSD
ohlcv = requests.get(f"{BASE}/ohlcv", headers=headers,
params={"symbol": "EURUSD", "timeframe": "D1", "bars": 200}).json()
df = pd.DataFrame(ohlcv["data"]["candles"])
df["datetime"] = pd.to_datetime(df["datetime"])
# Get historical RSI values
rsi = requests.get(f"{BASE}/indicator", headers=headers,
params={"symbol": "EURUSD", "name": "rsi", "timeframe": "D1", "bars": 200}).json()
# Simple backtest: buy when RSI < 30, sell when RSI > 70
signals = []
for i, bar in enumerate(rsi["data"]["values"]):
if bar["value"] < 30:
signals.append(("BUY", bar["datetime"], df.iloc[i]["close"]))
elif bar["value"] > 70:
signals.append(("SELL", bar["datetime"], df.iloc[i]["close"]))
print(f"Signals generated: {len(signals)}")
for signal in signals[-5:]:
print(f" {signal[0]} at {signal[2]:.5f} on {signal[1]}") Backtesting Endpoints
| Endpoint | Historical Data | Max Bars |
|---|---|---|
/v1/ohlcv | OHLCV candles | 500 |
/v1/indicator | Single indicator history | 500 |
/v1/indicators | All indicators history | 500 |
/v1/ticks | Historical ticks | Varies by plan |
Frequently Asked Questions
How much historical data is available for backtesting?
Up to 500 bars per request. Starter plans offer 30 days of history, Pro offers 45 days, and Enterprise offers full data retention. OHLCV and indicator values are both available historically.
Can I get historical indicator values, not just OHLCV?
Yes. The /v1/indicator and /v1/indicators endpoints support a bars parameter that returns historical indicator values. Get RSI, MACD, and Bollinger Bands for past periods.
What timeframes are available for historical data?
All 7 timeframes: M1, M5, M15, M30, H1, H4, and D1. Choose the timeframe that matches your strategy.
Can I export the data to pandas or Excel?
Yes. The JSON responses map directly to pandas DataFrames. See our Google Sheets and Excel integration guides for spreadsheet workflows.
Is this a replacement for dedicated backtesting platforms?
It is a data source, not a backtesting engine. Use TickAtlas to get clean historical OHLCV and indicator data, then run your backtesting logic in Python, QuantConnect, or any framework you prefer.
Backtest with Clean Data
14-day free trial. Historical OHLCV and indicators for your strategy testing.