Documentación

Símbolos activos

DatosSin autenticación

Recupera una lista de todos los símbolos actualmente activos (mercados subyacentes en los que hay contratos disponibles para operar).

Comparación rápida

AspectoLegacy APINew APIAcción
Endpointactive_symbolsactive_symbolsNinguno
Requiere autenticaciónNoNoNinguno
Complejidad de la petición9 parámetros4 parámetrosEliminar parámetros innecesarios

Cambios importantes

1. Cambios de nombre de campo de respuesta

Los campos principales de identificación de símbolos y datos han sido renombrados en la respuesta:

  • symbolunderlying_symbol
  • symbol_typeunderlying_symbol_type
  • display_nameunderlying_symbol_name
  • pippip_size

2. Campos de nombre de visualización traducidos eliminados

Los campos de nombre de visualización traducidos han sido eliminados de la respuesta:

  • market_display_name (eliminado)
  • subgroup_display_name (eliminado)
  • submarket_display_name (eliminado)

3. Datos de precio al contado eliminados

Los campos de precio al contado en tiempo real ya no están incluidos:

  • spot, spot_age, spot_percentage_change, spot_time (eliminado)

4. Filtrado de tipo de producto y empresa de destino eliminado

Parámetros de solicitud para filtrar por empresa de aterrizaje y tipo de producto eliminados:

  • landing_company, landing_company_short, product_type, loginid (eliminado)

5. Filtrado de categoría de barrera eliminado

El parámetro de solicitud barrier_category ha sido eliminado. Ya no es posible filtrar por: american, asian, euro_atm, euro_non_atm, non_financial, lookback, reset.

6. Campos de metadatos adicionales eliminados

Varios campos de metadatos ya no están disponibles:

  • allow_forward_starting, close_only, display_order, exchange_name, delay_amount, intraday_interval_minutes, quoted_currency_symbol (eliminado)

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "active_symbols": "brief",
  "product_type": "basic",  // ❌ Removed in New
  "landing_company_short": "svg",  // ❌ Removed in New
  "contract_type": ["CALL", "PUT"]
}
New APIejemplo de solicitud
{
  "active_symbols": "brief",
  "contract_type": ["CALL", "PUT"]
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "active_symbols": [
    {
      "allow_forward_starting": 1,  // ❌ Not in New
      "close_only": 0,
      "display_name": "EUR/USD",  // ❌ Not in New
      "display_order": 1,
      "exchange_is_open": 1,
      "is_trading_suspended": 0,
      "market": "forex",
      "market_display_name": "Forex",  // ❌ Not in New
      "pip": 0.0001,
      "spot": 1.0850,  // ❌ Not in New
      "spot_age": "2",  // ❌ Not in New
      "subgroup": "major_pairs",
      "submarket": "major_pairs",
      "symbol": "frxEURUSD",  // ❌ Changed
      "symbol_type": "forex"  // ❌ Changed
    }
  ],
  "msg_type": "active_symbols"
}
New APIejemplo de respuesta
{
  "active_symbols": [
    {
      "exchange_is_open": 1,
      "is_trading_suspended": 0,
      "market": "forex",
      "pip_size": 0.0001,
      "subgroup": "major_pairs",
      "submarket": "major_pairs",
      "trade_count": 0,  // 🆕 New field
      "underlying_symbol": "frxEURUSD",  // 🆕 Replaces symbol
      "underlying_symbol_name": "EUR/USD",  // 🆕 Replaces display_name
      "underlying_symbol_type": "forex"  // 🆕 Replaces symbol_type
    }
  ],
  "msg_type": "active_symbols"
}

Ejemplos de código

async function getActiveSymbols() {
  const request = {
    active_symbols: "brief",
    product_type: "basic",
    landing_company_short: "svg"
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (message) => {
    const data = JSON.parse(message.data);
    if (data.msg_type === "active_symbols") {
      data.active_symbols.forEach(symbol => {
        console.log(`Symbol: ${symbol.symbol}`);
        console.log(`Type: ${symbol.symbol_type}`);
        console.log(`Display: ${symbol.display_name}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.