Resolutions
Complete Resolution Table
| API Value | Name | Bar Duration | Best For | History Depth |
|---|---|---|---|---|
1 | M1 | 1 minute | Scalping, tick-level analysis | ~3 months |
5 | M5 | 5 minutes | Short-term intraday | ~12 months |
10 | M10 | 10 minutes | Short-term intraday | ~12 months |
15 | M15 | 15 minutes | Intraday swing | ~12 months |
30 | M30 | 30 minutes | Intraday swing | Derived from M1 |
60 | H1 | 1 hour | Swing trading | From January 2024 |
120 | H2 | 2 hours | Swing trading | From January 2024 |
240 | H4 | 4 hours | Position trading | From January 2024 |
1D | Daily | 1 day | Long-term analysis | From January 2024 |
1W | Weekly | 1 week | Long-term analysis | From January 2024 |
1M | Monthly | 1 month | Macro analysis | From January 2024 |
Choosing the Right Resolution
Fetch Multiple Timeframes
import requests
headers = {"X-API-Key": "fxd_your_key"}
BASE = "https://api.pipdata.net"
SYMBOL = "WMMARKETS:ZERO:EURUSD"
timeframes = {
"M1": ("1", 200),
"M15": ("15", 500),
"H1": ("60", 500),
"H4": ("240", 200),
"D1": ("1D", 365),
}
data = {}
for name, (resolution, countback) in timeframes.items():
resp = requests.get(f"{BASE}/v1/history", headers=headers, params={
"symbol": SYMBOL,
"resolution": resolution,
"countback": countback
})
d = resp.json()
if d["s"] == "ok":
data[name] = d
print(f"{name}: {len(d['t'])} bars")
else:
print(f"{name}: {d['s']}")
TradingView Resolution Mapping
If you are building a TradingView DataFeed, the resolution values map directly to TradingView's interval format:
| TradingView Interval | API resolution |
|---|---|
1 | 1 |
5 | 5 |
10 | 10 |
15 | 15 |
30 | 30 |
60 | 60 |
120 | 120 |
240 | 240 |
D | 1D |
W | 1W |
M | 1M |
Pass the TradingView resolution string directly — no mapping needed.