Active symbols
DonnéesPas d'authentificationRécupère une liste de tous les symboles actuellement actifs (marchés sous-jacents sur lesquels des contrats sont disponibles pour le trading).
6 modifications majeures
Les noms de champs de réponse ont changé :
symbol → underlying_symbol, et de nombreux champs de filtrage et d'affichage ont été supprimés.Comparaison rapide
Modifications majeures
1. Modifications des noms de champs de réponse
L'identification du symbole principal et les champs de données ont été renommés dans la réponse :
symbol→underlying_symbolsymbol_type→underlying_symbol_typedisplay_name→underlying_symbol_namepip→pip_size
2. Champs de nom d'affichage traduits supprimés
Les champs de noms d'affichage traduits ont été supprimés de la réponse :
market_display_name(supprimé)subgroup_display_name(supprimé)submarket_display_name(supprimé)
3. Données de prix spot supprimées
Les champs de prix spot en temps réel ne sont plus inclus :
spot,spot_age,spot_percentage_change,spot_time(supprimé)
Alternative
Utilisez le point de terminaison
ticks pour récupérer les prix spot en temps réel.4. Filtrage par landing company et type de produit supprimé
Paramètres de requête pour le filtrage par société de domiciliation et type de produit supprimés :
landing_company,landing_company_short,product_type,loginid(supprimé)
5. Filtrage par catégorie de barrière supprimé
Le paramètre de requête barrier_category a été supprimé. Il n'est plus possible de filtrer par : american, asian, euro_atm, euro_non_atm, non_financial, lookback, reset.
Changement requis
Si vous utilisez un filtrage par catégorie de barrière, gérez le filtrage côté client après réception de la liste complète des symboles, ou utilisez le paramètre
contract_type comme filtre alternatif.6. Champs de métadonnées supplémentaires supprimés
Divers champs de métadonnées ne sont plus disponibles :
allow_forward_starting,close_only,display_order,exchange_name,delay_amount,intraday_interval_minutes,quoted_currency_symbol(supprimé)
Structure de la demande
Legacy APIexemple de demande
{
"active_symbols": "brief",
"product_type": "basic", // ❌ Removed in New
"landing_company_short": "svg", // ❌ Removed in New
"contract_type": ["CALL", "PUT"]
}New APIexemple de demande
{
"active_symbols": "brief",
"contract_type": ["CALL", "PUT"]
}Structure de réponse
Legacy APIexemple de réponse
{
"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 APIexemple de réponse
{
"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"
}Exemples de code
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}`);
});
}
};
}D'autres questions ? Nous contacter