| 品种 | 周期 | 数据量 | 开始时间 | 结束时间 | 操作 |
|---|---|---|---|---|---|
| DXY | 1m | 1,440 | 2026-01-15 23:17:00 | 2026-01-18 21:03:00 | 导出 K线 折线 |
| DXY | 5m | 1,705 | 2026-01-08 12:30:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| DXY | 15m | 572 | 2026-01-08 12:30:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| DXY | 30m | 287 | 2026-01-08 12:30:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| DXY | 1h | 146 | 2026-01-08 12:00:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| DXY | 4h | 42 | 2026-01-08 12:00:00 | 2026-01-18 20:00:00 | 导出 K线 折线 |
| DXY | 1d | 10 | 2026-01-08 00:00:00 | 2026-01-18 00:00:00 | 导出 K线 折线 |
| XAUUSD | 1m | 1,440 | 2026-01-16 04:49:00 | 2026-01-18 21:03:00 | 导出 K线 折线 |
| XAUUSD | 5m | 2,016 | 2026-01-07 22:50:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAUUSD | 15m | 2,016 | 2025-12-16 05:30:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAUUSD | 30m | 2,016 | 2025-11-14 04:00:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAUUSD | 1h | 2,240 | 2025-09-01 16:00:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAUUSD | 4h | 2,048 | 2024-09-20 03:00:00 | 2026-01-18 20:00:00 | 导出 K线 折线 |
| XAUUSD | 1d | 2,048 | 2018-08-09 06:00:00 | 2026-01-18 00:00:00 | 导出 K线 折线 |
| XAGUSD | 1m | 1,440 | 2026-01-16 04:52:00 | 2026-01-18 21:03:00 | 导出 K线 折线 |
| XAGUSD | 5m | 2,016 | 2026-01-07 23:10:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAGUSD | 15m | 2,016 | 2025-12-16 05:45:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAGUSD | 30m | 2,016 | 2025-11-14 04:30:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAGUSD | 1h | 2,240 | 2025-09-01 16:00:00 | 2026-01-18 21:00:00 | 导出 K线 折线 |
| XAGUSD | 4h | 2,048 | 2024-09-20 03:00:00 | 2026-01-18 20:00:00 | 导出 K线 折线 |
| XAGUSD | 1d | 2,048 | 2018-08-08 06:00:00 | 2026-01-18 00:00:00 | 导出 K线 折线 |
💡 导入按钮:选择对应的MT4文件(如 XAUUSD1.csv, XAUUSD5.csv 等)
所有接口返回 JSON 格式,支持跨域请求 (CORS),时间默认为北京时间(UTC+8)
API 基础地址:
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 否 | XAUUSD | 品种代码:DXY, XAUUSD, XAGUSD |
| interval | string | 否 | 1m | K线周期:1m, 5m, 15m, 30m, 1h, 4h, 1d |
| limit | number | 否 | 100 | 返回数量,最大2000,如:500 |
| before | number | 否 | - | 获取此时间戳之前的数据(用于分页),如:1736199000 |
| tz | string | 否 | - | 时区:默认北京时间(UTC+8),tz=utc返回UTC时间戳 |
返回字段:time(时间戳), datetime(时间), open(开盘价), high(最高价), low(最低价), close(收盘价), volume(成交量)
fetch('API_BASE/api/klines?symbol=XAUUSD&interval=30m&limit=100')
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.get('API_BASE/api/klines', params={'symbol':'XAUUSD','interval':'30m','limit':100})
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/klines?symbol=XAUUSD&interval=30m&limit=100',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl "API_BASE/api/klines?symbol=XAUUSD&interval=30m&limit=100"Invoke-RestMethod -Uri "API_BASE/api/klines?symbol=XAUUSD&interval=30m&limit=100"| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 否 | XAUUSD | 品种代码:DXY, XAUUSD, XAGUSD |
返回字段:price(当前价格), ask(卖价), bid(买价), high(最高价), low(最低价), open(开盘价), change_val(涨跌值), change_pct(涨跌幅%)
fetch('API_BASE/api/price?symbol=XAUUSD')
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.get('API_BASE/api/price', params={'symbol':'XAUUSD'})
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/price?symbol=XAUUSD',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl "API_BASE/api/price?symbol=XAUUSD"Invoke-RestMethod -Uri "API_BASE/api/price?symbol=XAUUSD"无参数,返回所有品种(DXY, XAUUSD, XAGUSD)的实时价格
返回字段:每个品种包含 price(当前价格), change(涨跌值), change_percent(涨跌幅%), updated_at(更新时间戳)
fetch('API_BASE/api/prices')
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.get('API_BASE/api/prices')
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/prices',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl "API_BASE/api/prices"Invoke-RestMethod -Uri "API_BASE/api/prices"无参数,返回采集器运行状态、市场状态、各品种数据状态
返回字段:running(采集器状态), market(市场状态), symbols(各品种状态), klines(各周期K线状态), server_time(服务器时间)
fetch('API_BASE/api/status')
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.get('API_BASE/api/status')
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/status',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl "API_BASE/api/status"Invoke-RestMethod -Uri "API_BASE/api/status"| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 否 | XAUUSD | 品种代码:DXY, XAUUSD, XAGUSD |
| interval | string | 否 | 1m | K线周期:1m, 5m, 15m, 30m, 1h, 4h, 1d |
CSV字段:datetime(时间), timestamp(时间戳), open(开盘价), high(最高价), low(最低价), close(收盘价), volume(成交量)
fetch('API_BASE/api/export?symbol=XAUUSD&interval=1m')
.then(r => r.blob())
.then(blob => {
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = 'klines.csv';
a.click();
});import requests
r = requests.get('API_BASE/api/export', params={'symbol':'XAUUSD','interval':'1m'})
with open('klines.csv', 'wb') as f:
f.write(r.content)PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/export?symbol=XAUUSD&interval=1m',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
file_put_contents('klines.csv', PHPVAR response);curl -o klines.csv "API_BASE/api/export?symbol=XAUUSD&interval=1m"Invoke-WebRequest -Uri "API_BASE/api/export?symbol=XAUUSD&interval=1m" -OutFile klines.csv| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 是 | - | 品种代码:DXY, XAUUSD, XAGUSD |
| interval | string | 是 | - | K线周期:1m, 5m, 15m, 30m, 1h, 4h, 1d |
⚠️ 此操作不可恢复,将清空指定品种和周期的所有K线数据
fetch('API_BASE/api/klines?symbol=XAUUSD&interval=1m', {method: 'DELETE'})
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.delete('API_BASE/api/klines', params={'symbol':'XAUUSD','interval':'1m'})
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/klines?symbol=XAUUSD&interval=1m',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'DELETE',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl -X DELETE "API_BASE/api/klines?symbol=XAUUSD&interval=1m"Invoke-RestMethod -Method Delete -Uri "API_BASE/api/klines?symbol=XAUUSD&interval=1m"| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 是 | - | 品种代码:DXY, XAUUSD, XAGUSD |
| interval | string | 是 | - | K线周期:1m, 5m, 15m, 30m, 1h, 4h, 1d |
| start | string | 是 | - | 开始时间(北京时间):2026-01-07 05:50:00 或 Unix时间戳如 1736199000 |
| end | string | 是 | - | 结束时间(北京时间):2026-01-07 07:00:00 或 Unix时间戳如 1736203200 |
⚠️ 此操作不可恢复,将删除指定时间范围内的K线数据
fetch('API_BASE/api/klines/range?symbol=XAUUSD&interval=1m&start=2026-01-07%2005:50:00&end=2026-01-07%2007:00:00', {method: 'DELETE'})
.then(r => r.json())
.then(data => console.log(data));import requests
r = requests.delete('API_BASE/api/klines/range', params={
'symbol': 'XAUUSD', 'interval': '1m',
'start': '2026-01-07 05:50:00', 'end': '2026-01-07 07:00:00'
})
print(r.json())PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/klines/range?symbol=XAUUSD&interval=1m&start=2026-01-07%2005:50:00&end=2026-01-07%2007:00:00',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'DELETE',
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR data = json_decode(PHPVAR response, true);
print_r(PHPVAR data);curl -X DELETE "API_BASE/api/klines/range?symbol=XAUUSD&interval=1m&start=2026-01-07%2005:50:00&end=2026-01-07%2007:00:00"Invoke-RestMethod -Method Delete -Uri "API_BASE/api/klines/range?symbol=XAUUSD&interval=1m&start=2026-01-07%2005:50:00&end=2026-01-07%2007:00:00"Content-Type: application/json
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| symbol | string | 是 | - | 品种代码:DXY, XAUUSD, XAGUSD |
| interval | string | 是 | - | K线周期:1m, 5m, 15m, 30m, 1h, 4h, 1d |
| datetime | string | 是 | - | K线时间(北京时间):2026-01-07 05:45:00 |
| open | number | 是 | - | 开盘价,如:4494.63 |
| high | number | 是 | - | 最高价,如:4495.00(需 ≥ open, close, low) |
| low | number | 是 | - | 最低价,如:4494.00(需 ≤ open, close, high) |
| close | number | 是 | - | 收盘价,如:4494.80 |
| volume | number | 否 | 0 | 成交量,如:100 |
fetch('API_BASE/api/klines/add', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
symbol: 'XAUUSD', interval: '5m', datetime: '2026-01-07 05:45:00',
open: 4494.63, high: 4495.00, low: 4494.00, close: 4494.80, volume: 100
})
}).then(r => r.json()).then(console.log);import requests
data = {
'symbol': 'XAUUSD', 'interval': '5m',
'datetime': '2026-01-07 05:45:00',
'open': 4494.63, 'high': 4495.00, 'low': 4494.00, 'close': 4494.80, 'volume': 100
}
r = requests.post('API_BASE/api/klines/add', json=data)
print(r.json())PHPVAR curl = curl_init();
PHPVAR data = json_encode([
'symbol' => 'XAUUSD', 'interval' => '5m',
'datetime' => '2026-01-07 05:45:00',
'open' => 4494.63, 'high' => 4495.00, 'low' => 4494.00, 'close' => 4494.80, 'volume' => 100
]);
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/klines/add',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => PHPVAR data,
CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
));
PHPVAR response = curl_exec(PHPVAR curl);
curl_close(PHPVAR curl);
PHPVAR result = json_decode(PHPVAR response, true);
print_r(PHPVAR result);curl -X POST "API_BASE/api/klines/add" -H "Content-Type: application/json" -d '{"symbol":"XAUUSD","interval":"5m","datetime":"2026-01-07 05:45:00","open":4494.63,"high":4495.00,"low":4494.00,"close":4494.80,"volume":100}'PSVAR body = @{symbol='XAUUSD';interval='5m';datetime='2026-01-07 05:45:00';open=4494.63;high=4495.00;low=4494.00;close=4494.80;volume=100} | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "API_BASE/api/klines/add" -ContentType "application/json" -Body PSVAR body无参数,返回支持的品种列表和周期列表
/api/symbols 返回:["DXY", "XAUUSD", "XAGUSD"]
/api/intervals 返回:["1m", "5m", "15m", "30m", "1h", "4h", "1d"]
// 获取品种列表
fetch('API_BASE/api/symbols').then(r => r.json()).then(console.log);
// 获取周期列表
fetch('API_BASE/api/intervals').then(r => r.json()).then(console.log);import requests
symbols = requests.get('API_BASE/api/symbols').json()
intervals = requests.get('API_BASE/api/intervals').json()
print(symbols, intervals)// 获取品种列表
PHPVAR curl = curl_init();
curl_setopt_array(PHPVAR curl, array(
CURLOPT_URL => 'API_BASE/api/symbols',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR symbols = json_decode(curl_exec(PHPVAR curl), true);
curl_close(PHPVAR curl);
// 获取周期列表
PHPVAR curl2 = curl_init();
curl_setopt_array(PHPVAR curl2, array(
CURLOPT_URL => 'API_BASE/api/intervals',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
PHPVAR intervals = json_decode(curl_exec(PHPVAR curl2), true);
curl_close(PHPVAR curl2);
print_r(PHPVAR symbols);
print_r(PHPVAR intervals);curl "API_BASE/api/symbols"
curl "API_BASE/api/intervals"Invoke-RestMethod -Uri "API_BASE/api/symbols"
Invoke-RestMethod -Uri "API_BASE/api/intervals"