Símbolos activos
DatosSin autenticaciónRecupera una lista de todos los símbolos actualmente activos (mercados subyacentes en los que hay contratos disponibles para operar).
6 cambios importantes
Se modificaron los nombres de los campos de respuesta:
symbol → underlying_symbol, y muchos campos de filtrado y visualización han sido eliminados.Comparación rápida
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:
symbol→underlying_symbolsymbol_type→underlying_symbol_typedisplay_name→underlying_symbol_namepip→pip_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)
Alternativa
Use el endpoint
ticks para obtener precios al contado en tiempo real.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.
Cambio Requerido
Si usa filtrado de categoría de barrera, maneje el filtrado del lado del cliente después de recibir la lista completa de símbolos, o use el parámetro
contract_type como filtro alternativo.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}`);
});
}
};
}¿Alguna otra pregunta? Póngase en contacto