美股与加密货币技术指标怎么直接调取?FMP 多周期 EMA、RSI 与 ADX 接口(Technical Indicators)实战

在构建跨资产趋势跟踪与多周期动量择时系统时,量化团队通常面临两条路径:一是从底层拉取原始 OHLCV 历史行情后在本地通过 Pandas 或 TA-Lib 逐笔重算技术指标;二是直接调用服务端预计算的标准化技术指标 API。本地重算虽然灵活,但在盘中轮询数百只美股与 7×24 小时加密货币的多周期分时(如 1day、4hour、1hour、15min、5min)信号时,为了保证指数移动平均线(EMA)、相对强弱指数(RSI)与平均趋向指数(ADX)等无限脉冲响应(IIR)算子的递推收敛精度,每次都必须冗余拉取数百根历史 K 线作为预热窗口(Warm-up Window),显著增加带宽与计算开销。

通过 TechnicalIndicators(技术指标接口)大类下的标准化端点,开发者只需传入标的代码(symbol)、周期长度(periodLength)与时间粒度(timeframe),即可在单次响应中同时获取 K 线四价(open、high、low、close、volume)与全历史预热后的精确指标序列。本文选取 7 只美股核心科技股(NVDA、AAPL、TSLA、MSFT、META、AMD、GOOGL)与 3 个主流加密货币(BTCUSD、ETHUSD、SOLUSD),实盘调取 Exponential Moving Average(指数移动平均线(EMA)接口)、Relative Strength Index(RSI 相对强弱指数接口)与 Average Directional Index(平均趋向指数(ADX)接口)等六大核心指标,从底层数学递推公式出发完成全序列对账,并系统拆解预热窗口长度敏感性、7×24 小时未完结 K 线闪烁及样本标准差自由度(ddof)等工程排雷要点。

一、核心技术指标端点矩阵与 10 大跨资产日线实盘对账

在 FMP 的 stable 接口体系中,TechnicalIndicators(技术指标接口)共包含 9 个独立计算端点,统一采用 /stable/technical-indicators/{indicator} 路由结构,并原生支持美股、ETF、外汇及 Crypto(加密货币接口)代码(如 BTCUSD、ETHUSD、SOLUSD)。核心请求参数与六大高频算子的底层递推定义如下:

其核心算子的数学递推关系与三维体制判定公式如下:

EMA(t) = α × Close(t) + (1 - α) × EMA(t-1),其中 α = 2 ÷ (N + 1)
Wilder_AvgGain(t) = [Wilder_AvgGain(t-1) × (N - 1) + Gain(t)] ÷ N,RSI(t) = 100 - 100 ÷ [1 + Wilder_AvgGain(t) ÷ Wilder_AvgLoss(t)]
Williams_%R(t) = [max(High_{t-N+1..t}) - Close(t)] ÷ [max(High_{t-N+1..t}) - min(Low_{t-N+1..t})] × (-100)
三维趋势体制判定:均线方向(Close 与 EMA20 / EMA50 排列) + 趋势强度(ADX14 >= 25 为强趋势,< 20 为震荡) + 动量位置(RSI14 与 Williams %R)

我们以 2026-11-06 已完结日线(timeframe=1day,全量预热窗口 美股 1,254 根日线 / 加密货币 1,825 根日线;3 个加密货币同样锚定已收线的 2026-11-06 日线,跳过采数当日未完结的 2026-11-07 日线)为统一截面基准,并发拉取 7 只美股科技龙头与 3 个主流加密货币的 EMA(20)、EMA(50)、SMA(50)、RSI(14)、ADX(14)、SD(20) 与 Williams %R(14)。全样本实盘读数与三维量化体制分类如下表(数据均精确四舍五入至小数点后两位):

资产代码收盘价 CloseEMA(20) / EMA(50)SMA(50)RSI(14) / Williams %R(14)ADX(14)标准差 SD(20)三维技术体制判定(均线 × 趋势强度 × 动量)
NVDA186.64208.78 / 215.07219.8130.76 / -87.2828.8911.60空头排列 · 强趋势 · 偏空(<40)
AAPL342.37342.01 / 335.51336.0151.46 / -43.2917.303.96多头排列 · 弱趋势/震荡 · 中性(40-55)
TSLA358.22379.80 / 373.94372.1442.39 / -73.6216.8318.15均线交织 · 弱趋势/震荡 · 中性(40-55)
MSFT530.61528.31 / 513.24516.6552.14 / -52.6720.419.71多头排列 · 趋势初成 · 中性(40-55)
META610.15647.82 / 658.30674.9236.73 / -79.6427.0452.63空头排列 · 强趋势 · 偏空(<40)
AMD449.04517.35 / 533.08546.8138.41 / -73.4925.3649.51空头排列 · 强趋势 · 偏空(<40)
GOOGL284.78309.07 / 326.99332.9329.92 / -88.4230.7027.57空头排列 · 强趋势 · 偏空(<40)
BTCUSD75,731.0479,105.31 / 79,736.3781,973.8038.10 / -85.9219.962,353.55空头排列 · 弱趋势/震荡 · 偏空(<40)
ETHUSD2,235.372,333.26 / 2,395.122,498.5539.56 / -76.5225.0275.31空头排列 · 强趋势 · 偏空(<40)
SOLUSD90.0297.90 / 101.83108.1531.07 / -88.0333.835.39空头排列 · 强趋势 · 偏空(<40)

从上表的跨市场横截面对比中,可以直观看到“均线方向 + ADX 强度过滤 + RSI 超买超卖”三维联动的实战价值:

二、多周期分时共振实战:NVDA 与 BTCUSD 五档粒度(1day 至 5min)拆解

在日内高频与波段交易中,单一时间周期容易产生局部噪音,成熟的多周期共振策略(Multi-Timeframe Analysis)通常以日线(1day)和 4 小时线(4hour)界定主趋势方向,再以 1 小时(1hour)、15 分钟(15min)与 5 分钟(5min)寻找顺应主趋势的入场时机。我们调取 NVDA(美股交易时段)与 BTCUSD(7×24 小时连续交易)在全部五个时间粒度下的最新已完结 K 线(Closed Bar)指标读数,整理出如下多周期共振矩阵(其中均线乖离率定义为 (EMA20 - EMA50) / EMA50 的百分比,基于接口原始浮点精度计算):

标的与时间粒度完结 K 线时间戳收盘价 CloseEMA(20)EMA(50)EMA20/50 乖离率RSI(14)ADX(14)
NVDA (1day)2026-11-06 00:00:00186.64208.78215.07-2.93%30.7628.89
NVDA (4hour)2026-11-06 13:30:00186.68201.62211.37-4.61%29.1531.24
NVDA (1hour)2026-11-06 15:30:00186.68190.96198.92-4.00%36.7237.12
NVDA (15min)2026-11-06 15:45:00186.68187.54189.22-0.89%44.5517.05
NVDA (5min)2026-11-06 15:55:00186.69187.49187.50-0.01%40.4416.06
BTCUSD (1day)2026-11-06 00:00:0075,731.0479,105.3179,736.37-0.79%38.1019.96
BTCUSD (4hour)2026-11-07 04:00:0075,798.6476,761.8477,681.44-1.18%38.4330.08
BTCUSD (1hour)2026-11-07 08:00:0075,837.7375,905.3376,358.04-0.59%44.7028.56
BTCUSD (15min)2026-11-07 09:00:0075,850.2275,869.1475,879.66-0.01%47.4813.34
BTCUSD (5min)2026-11-07 09:20:0075,833.0175,837.8575,862.91-0.03%48.5016.76

观察上表的多周期嵌套结构,可以提炼出两条跨周期交易特征:

  1. 大周期趋势主导与小周期降速企稳的层级分化:在 NVDA 的五档周期中,1day(ADX 28.89)、4hour(ADX 31.24)与 1hour(ADX 37.12)均处于显著的空头趋势(EMA20/50 乖离率分别为 -2.93%、-4.61% 与 -4.00%),且 4hour 级别 RSI(14) 低至 29.15;但下钻至尾盘 15min(15:45:00)与 5min(15:55:00)级别时,ADX(14) 分别为 17.05 与 16.06(均处于 20 以下的低位震荡区间),5min 级别 EMA(20)(187.49)与 EMA(50)(187.50)乖离率收窄至 -0.01%,RSI(14) 位于 40.44–44.55。这清晰刻画了“日线与小时线主跌浪未改、但日内尾盘 15 分钟与 5 分钟级别处于窄幅横盘消化”的微观结构。
  2. 中周期(4hour / 1hour)与日线趋势强度的截面差异:在 BTCUSD 本次截面上,虽然 1day 级别 ADX(14) 为 19.96(尚未达到 25 的强趋势阈值),但在 4hour(2026-11-07 04:00:00)与 1hour(08:00:00)两个中周期上,ADX(14) 已分别达到 30.08 与 28.56(均高于 25 的强趋势门槛),伴随收盘价低于 EMA(20) 与 EMA(50) 的空头排列,呈现中周期趋势强度高于日线与超短线(15min ADX 13.34、5min ADX 16.76)的截面分布。

三、技术指标接口的四大工程排雷指南

排雷一:服务端“计算窗口早于输出窗口”机制与本地预热窗口长度敏感性

在调取简单移动平均线(SMA)、标准差(SD)或威廉指标(Williams %R)等有限窗口算子时,periodLength=20 仅依赖最近 20 根 K 线,历史起点远近不影响当期读数。但 EMA、RSI 与 ADX 属于具有无限记忆的指数递推算子。实测证据揭示了一条关键机制:FMP 服务端的底层计算窗口早于接口输出窗口——以 NVDA 默认返回的 1,254 根日线为例,输出序列最早一根 K 线(2021-11-09,close 为 30.66)的 ema(周期 20)已然是 25.86、rsi(周期 14)为 87.56、adx(周期 14)为 48.78,这些指标必须依赖 2021-11-09 之前的更早历史才能算出;正常情况下传入 from 参数也只是对已按全历史算好的序列做输出裁剪(注:2021-11-09 等早期点位读数系 2026-11-07 采数快照,上游滚动重算前置窗口时早期点会随之微调,而经千根 K 线衰减后的 2026-11-06 末截面读数恒定不变)。

正因为“接口返回多少根”不等于“底层参与计算多少根”,当量化团队在本地仅拉取有限长度 W 的 OHLCV 窗口自行重算(只能以本地窗口首根作为 EMA_0 = Close_0 初值、以首段 14 期均值初始化 Wilder RSI 与双重 Wilder 平滑 ADX)时,必须依靠足够长的预热窗口让初值偏差按 (1 - alpha)^W 指数衰减。当本地加载满 1,254 根日线时,2026-11-06 末截面读数与接口返回值已收敛至机器精度闭合(EMA20、EMA50、SMA50、RSI14、SD20、Williams %R14 末值绝对误差均为 0.00e+00,ADX14 末值误差仅为 3.55e-15;而序列早期因缺少 2021-11-09 之前的前置历史,本地重算 ADX 与证据包早期点位在 2021-12-20 最大相差 12.08 点)。

此外,虽然正常请求(含 from 裁剪)均基于全历史计算,但实测中曾捕获到上游偶发返回 43、121、132 根等异常短窗口序列。一旦遇到此类短窗口响应,客户端无法仅凭返回结果确认该次响应的底层计算窗口是否充分(例如实测捕获 GOOGL 某次仅返回 43 根日线时 EMA50 读数为 326.86,与全量 1,254 根基准值 326.99 相差 0.13 美元)。下表展示了客户端仅加载 NVDA 最近 W 根日线在本地模拟重算 2026-11-06 指标时的收敛轨迹:

指标名称(NVDA 1day)全历史 1,254 根基准(接口值 / 本地 1,254 根末值误差)W=250 根重算(2025-11-10 起 / 偏差)W=117 根重算(2026-05-22 起 / 偏差)W=56 根重算(2026-08-20 起 / 偏差)W=43 根重算(2026-09-09 起 / 偏差)
EMA(20)208.7770 (0.00e+00)208.7770 (0.0000)208.7770 (0.0000)208.7824 (+0.0054)208.8278 (+0.0508)
EMA(50)215.0686 (0.00e+00)215.0692 (+0.0006)215.1858 (+0.1172)215.7863 (+0.7177)216.7468 (+1.6782)
SMA(50)219.8132 (0.00e+00)219.8132 (0.0000)219.8132 (0.0000)219.8132 (0.0000)窗口不足 50 根(空值)
RSI(14)30.7622 (0.00e+00)30.7622 (0.0000)30.7608 (-0.0013)30.9858 (+0.2236)30.3041 (-0.4580)
ADX(14)28.8898 (3.55e-15)28.8898 (0.0000)28.8867 (-0.0031)28.0434 (-0.8463)30.0157 (+1.1260)

上表清晰量化了本地重算窗口长度对递推精度的影响:当仅加载 43 根日线(W=43)时,NVDA 的 EMA(50) 从真实值 215.0686 漂移至 216.7468(偏差 +1.6782 美元),ADX(14) 漂移至 30.0157(偏差 +1.1260 点),且注意 ADX(14) 在 W=56 时偏低 -0.8463 点(28.0434)、在 W=43 时反而偏高 +1.1260 点,说明双重 Wilder 平滑的初值残留方向呈非单调摆动,无法靠“短窗口固定偏高或偏低”做经验修正;而当预热窗口扩展至 W=250 根(约 1 年交易日,即 5 * periodLength 以上)时,EMA(20)、RSI(14) 与 ADX(14) 末值误差均已收敛至 0.0000,EMA(50) 偏差也缩小至 0.0006 美元以内。因此,工程铁律是:本地重算 EMA、RSI、ADX 等递推指标时必须预留 250 根以上的历史预热窗口;直接调用服务端指标接口时,客户端也应对返回数组长度执行门禁校验(如断言 len(rows) >= 250,若偶遇短窗口响应则自动重试),确保所有 IIR 指标均经过充分的历史预热收敛。

排雷二:7×24 小时加密货币与盘中分时的“未完结 K 线(Unclosed Bar)”判定规则

在调用加密货币接口或美股盘中分时接口时,返回数组的第 0 个元素(data[0])往往代表当前正在生成的未完结 K 线。以我们在 2026-11-07 09:26 UTC 调取 BTCUSD 多周期数据为例:当时 4hour(2026-11-07 08:00:00 起算)、1hour(09:00:00 起算)、15min(09:15:00 起算)与 5min(09:25:00 起算)四档分时切片的 data[0] 尚未收线,其 close 字段全部等于当时的实时盘口价(75,875.3438 美元),而 1day 日线切片(2026-11-07 00:00:00 起算,因日线聚合刷新频次不同,data[0]["close"] 为 75,824.29 美元)同样处于当日未收线状态。若直接读取未收线的 data[0],其 rsi 与 ema 读数会随盘中价格波动而发生信号闪烁(Signal Repainting)。

排雷三:美股分时时间戳对齐(美东开盘起算)与标准差 ddof=0 口径

在跨库对账时,还有两处细节极易导致本地回测与接口读数不一致:

  1. 美股 4hour 与 1hour 的时间戳锚定规则:观察第二节表二中 NVDA 的分时时间戳可以发现,其 4hour K 线标记为 09:30:00 与 13:30:00,1hour K 线依次标记为 09:30:00 至 15:30:00。这是因为 FMP 美股分时 K 线以美东时间(ET)09:30 正股开盘时刻为每根 K 线的时间戳起点:美股每日 6.5 小时常规交易时段被切分为两根 4hour K 线(09:30–13:30 满 4 小时、13:30–16:00 实际涵盖 2.5 小时)或七根 1hour K 线(最后一根 15:30–16:00 涵盖 30 分钟);而 24 小时交易的 BTCUSD 则按 00:00、04:00、08:00 等整点等距切分。
  2. 标准差接口采用总体标准差(ddof=0)而非样本标准差(ddof=1):在 Python Pandas 中,df["close"].rolling(20).std() 默认采用样本标准差(除以 N - 1 = 19,即 ddof=1);而 FMP 的 /stable/technical-indicators/standarddeviation 严格采用总体标准差(除以 N = 20,即 ddof=0)。以 NVDA 在 2026-11-06 的 20 日收盘价序列实测,接口返回 standardDeviation 为 11.6049201204,与本地按 ddof=0 计算的 11.6049201204 误差为 0;若误用 Pandas 默认的 ddof=1,算出的结果则为 11.9063968212(系统性偏高 2.60%)。

排雷四:除权日线基座(拆股复权 vs 分红复权)的适用边界

技术指标接口内嵌返回的 open / high / low / close 序列与 Chart(股票行情接口)大类下的 Stock Price and Volume Data(日线完整行情接口)完全同源,采用的是拆股复权(Split-Adjusted)但未作现金分红除权调整的盘面真实交易价格。这一设计符合技术分析的行业惯例——实盘交易员盯盘的支撑位、阻力位与 200 日均线均基于盘面实际成交价绘制。但如果量化研究员正在构建跨十年期的长周期总回报动量因子(特别是针对高股息率价值股或 REITs),则需要调用 Dividend Adjusted Price Chart(分红复权日K线接口)提取 adjClose 自行计算复权均线。关于拆股复权与分红复权对长期收益率的量化影响,可延伸阅读《美股日线只拆股不除权会差多少?FMP 分红复权行情(Dividend Adjusted API)与总回报率计算实战》。

四、Python 实战:跨资产多指标按日期对齐与递推校验脚本

下面提供一段仅依赖 Python 标准库的完整实战脚本。脚本拉取 10 个美股与加密货币标的的全量预热日线指标(EMA20、EMA50、RSI14、ADX14、Williams %R14),内置两大工程防御:一是强制校验每个接口返回的预热窗口长度 len(rows) >= 250(若偶遇短窗口抖动则自动重试);二是对每个指标独立按 date 主键构建字典并对齐至目标完结日线截面(2026-11-06),杜绝按数组下标盲目拼接导致的跨日期错位,随后现场检验相邻两期 EMA(20) 的一步递推闭合误差(ΔEMA)。运行前请先在终端设置环境变量 FMP_API_KEY(Linux/macOS 执行 export FMP_API_KEY="你的密钥",Windows PowerShell 执行 $env:FMP_API_KEY="你的密钥"):

import concurrent.futures, json, os, urllib.request

BASE_URL, API_KEY = "https://quote-fmp.com/stable", os.environ["FMP_API_KEY"]
SYMBOLS = ["NVDA", "AAPL", "TSLA", "MSFT", "META", "AMD", "GOOGL", "BTCUSD", "ETHUSD", "SOLUSD"]
TARGET_DATE, PREV_DATE, MIN_WARMUP = "2026-11-06 00:00:00", "2026-11-05 00:00:00", 250

def fetch_by_date(ind, sym, period):
    url = f"{BASE_URL}/technical-indicators/{ind}?symbol={sym}&periodLength={period}&timeframe=1day&apikey={API_KEY}"
    for _ in range(3):
        try:
            with urllib.request.urlopen(urllib.request.Request(url, headers={"User-Agent": "fmpquote/1.0"}), timeout=25) as r:
                rows = json.loads(r.read().decode("utf-8"))
            if len(rows) >= MIN_WARMUP:
                return {row["date"]: row for row in rows}
        except Exception:
            continue
    raise RuntimeError(f"{sym} {ind}({period}) warmup bars < {MIN_WARMUP}")

def analyze_symbol(sym):
    e20, e50 = fetch_by_date("ema", sym, 20), fetch_by_date("ema", sym, 50)
    r14, a14, w14 = fetch_by_date("rsi", sym, 14), fetch_by_date("adx", sym, 14), fetch_by_date("williams", sym, 14)
    c_bar, p_bar, e50_b, r_b, a_b, w_b = e20[TARGET_DATE], e20[PREV_DATE], e50[TARGET_DATE], r14[TARGET_DATE], a14[TARGET_DATE], w14[TARGET_DATE]
    rec_err = abs(c_bar["ema"] - ((2.0 / 21.0) * c_bar["close"] + (19.0 / 21.0) * p_bar["ema"]))
    regime = "BEAR_TREND" if (c_bar["close"] < c_bar["ema"] < e50_b["ema"] and a_b["adx"] >= 25) else (
             "BULL_TREND" if (c_bar["close"] > c_bar["ema"] > e50_b["ema"] and a_b["adx"] >= 25) else "RANGE/MIXED")
    return f"{sym:<6} | {TARGET_DATE[:10]} Close:{c_bar['close']:9.2f} | EMA20/50:{c_bar['ema']:8.2f}/{e50_b['ema']:8.2f} | RSI14:{r_b['rsi']:5.2f} ADX14:{a_b['adx']:5.2f} Will14:{w_b['williams']:6.2f} | ΔEMA:{rec_err:.1e} | {regime}"

with concurrent.futures.ThreadPoolExecutor(max_workers=5) as pool:
    for line in pool.map(analyze_symbol, SYMBOLS):
        print(line)

运行上述脚本,终端将输出如下 10 大跨资产标的的实盘对账与体制分类结果(可见全部 10 个标的均通过 MIN_WARMUP >= 250 预热校验与 TARGET_DATE 主键对齐,且 EMA(20) 一步递推闭合误差 ΔEMA 均为 0):

NVDA   | 2026-11-06 Close:   186.64 | EMA20/50:  208.78/  215.07 | RSI14:30.76 ADX14:28.89 Will14:-87.28 | ΔEMA:0.0e+00 | BEAR_TREND
AAPL   | 2026-11-06 Close:   342.37 | EMA20/50:  342.01/  335.51 | RSI14:51.46 ADX14:17.30 Will14:-43.29 | ΔEMA:0.0e+00 | RANGE/MIXED
TSLA   | 2026-11-06 Close:   358.22 | EMA20/50:  379.80/  373.94 | RSI14:42.39 ADX14:16.83 Will14:-73.62 | ΔEMA:0.0e+00 | RANGE/MIXED
MSFT   | 2026-11-06 Close:   530.61 | EMA20/50:  528.31/  513.24 | RSI14:52.14 ADX14:20.41 Will14:-52.67 | ΔEMA:0.0e+00 | RANGE/MIXED
META   | 2026-11-06 Close:   610.15 | EMA20/50:  647.82/  658.30 | RSI14:36.73 ADX14:27.04 Will14:-79.64 | ΔEMA:0.0e+00 | BEAR_TREND
AMD    | 2026-11-06 Close:   449.04 | EMA20/50:  517.35/  533.08 | RSI14:38.41 ADX14:25.36 Will14:-73.49 | ΔEMA:0.0e+00 | BEAR_TREND
GOOGL  | 2026-11-06 Close:   284.78 | EMA20/50:  309.07/  326.99 | RSI14:29.92 ADX14:30.70 Will14:-88.42 | ΔEMA:0.0e+00 | BEAR_TREND
BTCUSD | 2026-11-06 Close: 75731.04 | EMA20/50:79105.31/79736.37 | RSI14:38.10 ADX14:19.96 Will14:-85.92 | ΔEMA:0.0e+00 | RANGE/MIXED
ETHUSD | 2026-11-06 Close:  2235.37 | EMA20/50: 2333.26/ 2395.12 | RSI14:39.56 ADX14:25.02 Will14:-76.52 | ΔEMA:0.0e+00 | BEAR_TREND
SOLUSD | 2026-11-06 Close:    90.02 | EMA20/50:   97.90/  101.83 | RSI14:31.07 ADX14:33.83 Will14:-88.03 | ΔEMA:0.0e+00 | BEAR_TREND

在实际搭建全市场历史回测框架时,为避免只选取当前存活龙头股导致的回测收益虚高,建议结合《如何消除美股回测中的“幸存者偏差”?基于 FMP 退市股票(Delisted)与历史标普 500 成分股接口实战》动态还原历史成分股池,并参考《如何用 FMP Bulk API 构建本地美股数据库?全市场财务报表与估值指标批量同步实战》将基本面因子与技术面动量信号融合入库。准备动手实测的开发者,可前往 快速接入指南 免费申领 Ultimate 全接口试用密钥。

五、常见问题(FAQ)

1. 为什么单次请求只能获取一种周期长度(如 periodLength=20),如果要同时构建 20 日、50 日与 200 日三条均线该怎么调取?

FMP 的 /stable/technical-indicators/ema 等端点采用单次单参数计算设计,每次调用针对一个指定的 (symbol, periodLength, timeframe) 组合返回完整时间序列。在工程实践中,若需同时获取某只标的的 EMA(20)、EMA(50) 与 EMA(200),可如第四节实战代码所示使用 concurrent.futures.ThreadPoolExecutor 发起并发请求,并在客户端按 date 主键做字典对齐;或者利用单次响应中已经附带的完整 close 序列,在拉取全历史窗口后直接在内存中按 alpha = 2 / (N + 1) 顺带递推算出任意周期的均线。

2. 调用加密货币技术指标时,symbol 代码命名规则是什么?如何查询全部支持的加密货币对?

在 FMP 体系中,加密货币统一采用“基础代币 + 计价法币”无分隔符拼接格式(如比特币兑美元为 BTCUSD、以太坊兑美元为 ETHUSD、Solana 兑美元为 SOLUSD)。如需获取全市场支持的技术指标标的清单及最新实时盘口,可先调用 Crypto(加密货币接口)下的 Full Cryptocurrency Quote(加密货币完整报价接口)或 Historical Cryptocurrency Full Chart(加密货币全量历史接口)核对有效交易对代码。

3. 技术指标接口支持直接返回 MACD 或布林带(Bollinger Bands)上下轨吗?

TechnicalIndicators(技术指标接口)提供的是构成复合指标的底层原子算子:

登录后可领取FMP Ultimate档15天试用 Key,覆盖全量接口。免费试用 15 天 →