技术指标

技术指标 API

计算常用技术指标,包括布林带、MACD、RSI 等。

方法端点说明
GET/v1/indicators/bbands布林带
GET/v1/indicators/macdMACD
GET/v1/indicators/rsiRSI
GET/v1/indicators/ma简单移动平均线
GET/v1/indicators/ema指数移动平均线
GET/v1/indicators/vwapVWAP
GET/v1/indicators/stoch随机指标
GET/v1/indicators/atrATR
GET/v1/indicators/obvOBV
GET/v1/indicators/adxADX

通用查询参数

技术指标端点支持以下通用参数:

参数类型默认值说明
symbolstring必填股票代码 (如 sz.000001, sh.600519)
start_datestring-开始日期 (YYYY-MM-DD)
end_datestring-结束日期 (YYYY-MM-DD)
limitint5000返回数据条数

布林带 (Bollinger Bands)

端点

方法端点
GET/v1/indicators/bbands

参数

参数类型必填默认值说明
symbolstring-股票代码
intervalstring-1d时间周期
timeperiodint-20计算周期
stdsfloat-2.0标准差倍数

在线试用 (Try It)

GET/v1/indicators/bbands

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/bbands",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "timeperiod": 20,
        "stds": 2.0
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
for item in data["values"][:3]:
    print(f"上轨={item['upper_band']}, 中轨={item['middle_band']}, 下轨={item['lower_band']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  timeperiod: 20,
  stds: 2.0
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/bbands?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
console.log('布林带:', data.values[0]);

cURL

curl -G "https://tickerlab.org/v1/indicators/bbands" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "timeperiod=20" \
  -d "stds=2.0"

响应示例

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "BBANDS"}},
  "values": [
    {"datetime": "2024-01-15", "upper_band": "10.80", "middle_band": "10.50", "lower_band": "10.20"}
  ]
}

MACD

端点

方法端点
GET/v1/indicators/macd

参数

参数类型必填默认值说明
symbolstring-股票代码
intervalstring-1d时间周期
fastperiodint-12快线周期
slowperiodint-26慢线周期
signalperiodint-9信号线周期

在线试用 (Try It)

GET/v1/indicators/macd

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/macd",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "start_date": "2024-01-01",
        "end_date": "2024-01-31",
        "fastperiod": 12,
        "slowperiod": 26,
        "signalperiod": 9
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
item = data["values"][0]
print(f"MACD={item['macd']}, Signal={item['macd_signal']}, Hist={item['macd_hist']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  start_date: '2024-01-01',
  end_date: '2024-01-31',
  fastperiod: 12,
  slowperiod: 26,
  signalperiod: 9
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/macd?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
console.log('MACD:', data.values[0]);

cURL

curl -G "https://tickerlab.org/v1/indicators/macd" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "start_date=2024-01-01" \
  -d "end_date=2024-01-31" \
  -d "fastperiod=12" \
  -d "slowperiod=26" \
  -d "signalperiod=9"

响应示例

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "MACD"}},
  "values": [
    {"datetime": "2024-01-15", "macd": "0.15", "macd_signal": "0.10", "macd_hist": "0.05"}
  ]
}

RSI (相对强弱指标)

端点

方法端点
GET/v1/indicators/rsi

参数

参数类型必填默认值说明
symbolstring-股票代码
intervalstring-1d时间周期
timeperiodint-14计算周期

在线试用 (Try It)

GET/v1/indicators/rsi

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/rsi",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
rsi = float(data["values"][0]["rsi"])
signal = "超买" if rsi > 70 else "超卖" if rsi < 30 else "中性"
print(f"RSI={rsi:.2f} ({signal})")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  timeperiod: 14
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/rsi?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
const rsi = parseFloat(data.values[0].rsi);
const signal = rsi > 70 ? '超买' : rsi < 30 ? '超卖' : '中性';
console.log(`RSI=${rsi.toFixed(2)} (${signal})`);

cURL

curl -G "https://tickerlab.org/v1/indicators/rsi" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "timeperiod=14"

响应示例

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "RSI"}},
  "values": [
    {"datetime": "2024-01-15", "rsi": "58.75"}
  ]
}

移动平均线 (SMA/EMA)

端点

方法端点
GET/v1/indicators/ma

简单移动平均线端点。指数移动平均线使用 /v1/indicators/ema

参数

参数类型必填默认值说明
symbolstring-股票代码
timeperiodint-20计算周期
series_typestring-close数据类型: close, open, high, low

在线试用 (Try It)

GET/v1/indicators/ma

代码示例

Python

import requests

API_KEY = "your_api_key"

# 计算 20 日简单移动平均线
response = requests.get(
    "https://tickerlab.org/v1/indicators/ma",
    params={
        "symbol": "sz.000001",
        "timeperiod": 20,
        "series_type": "close",
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"SMA20: {data['values'][0]['sma']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  timeperiod: 20,
  series_type: 'close',
  apikey: API_KEY
});

const response = await fetch(`https://tickerlab.org/v1/indicators/ma?${params}`, {
  headers: { "X-API-Key": API_KEY }
});
const data = await response.json();
console.log('SMA20:', data.values[0].sma);

cURL

curl -G "https://tickerlab.org/v1/indicators/ma" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "timeperiod=20" \
  -d "series_type=close"

响应示例

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "SMA"}},
  "values": [
    {"datetime": "2024-01-15", "sma": "10.35"}
  ]
}

指标信号解读

指标超买信号超卖信号说明
RSI> 70< 30相对强弱
MACDDIF > DEADIF < DEA趋势判断
布林带突破上轨跌破下轨波动区间

VWAP (成交量加权平均价)

端点

方法端点
GET/v1/indicators/vwap

参数

参数类型必填说明
symbolstring代码
intervalstring-周期 (默认 1d)

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/vwap",
    params={
        "symbol": "sz.000001",
        "interval": "1d"
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
# 获取最新一天的 VWAP 值
latest = data["values"][0]
print(f"日期: {latest['datetime']}, VWAP: {latest['vwap']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/vwap?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('最新 VWAP:', data.values[0].vwap);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/vwap?symbol=sz.000001"

响应示例

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "VWAP" }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "vwap": 10.45
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "vwap": 10.38
    }
  ]
}

Stochastic (随机指标)

端点

方法端点
GET/v1/indicators/stoch

参数

参数类型默认说明
fastk_periodint14Fast K 周期
slowk_periodint3Slow K 周期
slowd_periodint3Slow D 周期

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/stoch",
    params={
        "symbol": "sz.000001",
        "fastk_period": 14,
        "slowk_period": 3,
        "slowd_period": 3
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
k_value = data['values'][0]['slowk']
d_value = data['values'][0]['slowd']
print(f"SlowK: {k_value}, SlowD: {d_value}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  fastk_period: 14,
  slowk_period: 3,
  slowd_period: 3
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/stoch?${params}`,
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('Stoch K/D:', data.values[0]);

cURL

curl -H "X-API-Key: your_api_key" \
  "https://tickerlab.org/v1/indicators/stoch?symbol=sz.000001&fastk_period=14"

响应示例

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": {
      "name": "STOCH",
      "k_period": 14,
      "d_period": 3
    }
  },
  "values": [
    {
      "datetime": "2024-03-20 00:00:00",
      "slowk": 75.5,
      "slowd": 70.2
    },
    {
      "datetime": "2024-03-19 00:00:00",
      "slowk": 68.4,
      "slowd": 65.1
    }
  ]
}

ATR (平均真实波幅)

端点

方法端点
GET/v1/indicators/atr

参数

参数类型默认说明
timeperiodint14计算周期

代码示例

Python

import requests

API_KEY = "your_api_key"

# 计算 ATR
response = requests.get(
    "https://tickerlab.org/v1/indicators/atr",
    params={
        "symbol": "sh.600519",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"当前波动率 (ATR): {data['values'][0]['atr']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/atr?symbol=sh.600519&timeperiod=14",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('ATR:', data.values[0].atr);

cURL

curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/atr?symbol=sh.600519&timeperiod=14"

响应示例

{
  "meta": {
    "symbol": "sh.600519",
    "indicator": { "name": "ATR", "period": 14 }
  },
  "values": [
    {
      "datetime": "2024-03-20 00:00:00",
      "atr": 1250.50
    },
    {
      "datetime": "2024-03-19 00:00:00",
      "atr": 1200.30
    }
  ]
}

OBV (能量潮)

端点

方法端点
GET/v1/indicators/obv

参数

参数类型必填说明
symbolstring代码

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/obv",
    params={"symbol": "sz.000001"},
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"OBV: {data['values'][0]['obv']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/obv?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('OBV:', data.values[0].obv);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/obv?symbol=sz.000001"

响应示例

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "OBV" }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "obv": 58000000.0
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "obv": 55000000.0
    }
  ]
}

ADX (平均趋向指数)

端点

方法端点
GET/v1/indicators/adx

参数

参数类型默认说明
timeperiodint14计算周期

代码示例

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/adx",
    params={
        "symbol": "sz.000001",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"ADX Trend Strength: {data['values'][0]['adx']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/adx?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('ADX:', data.values[0].adx);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/adx?symbol=sz.000001"

响应示例

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "ADX", "period": 14 }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "adx": 35.5
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "adx": 32.1
    }
  ]
}