Historique de mise à jour du contrat
TradingAuthentification requiseRécupère l'historique et le statut de mise à jour le plus récent d'un contrat, y compris toutes les modifications apportées aux paramètres du contrat tels que les valeurs de stop loss et take profit.
3 modifications incompatibles
loginid a été supprimé, le champ de réponse contract_update_history est désormais requis, et les éléments du tableau de réponse ont désormais des champs requis.Comparaison rapide
Modifications majeures
1. Paramètre LoginID supprimé
Le paramètre loginid utilisé pour les scénarios d'autorisation multi-tokens a été supprimé. Le contexte de compte doit désormais être géré via le flux d'autorisation.
2. Champ de réponse contract_update_history désormais requis
Le tableau contract_update_history dans la réponse est désormais un champ requis.
Modification requise : Update response handling code. You can now rely on this field being present without null checks for the array itself.
3. Les éléments du tableau de réponse ont des champs obligatoires
Chaque élément du tableau contract_update_history nécessite désormais quatre champs : display_name, order_amount, order_date, et order_type.
Modification requise : You can simplify your code by removing defensive null checks for these now-required fields.
Structure de la demande
{
"contract_update_history": 1,
"contract_id": 123,
"limit": 500, // Optional: defaults to 500, min 1, max 999
"loginid": "CR123456" // ❌ Removed in New
}{
"contract_update_history": 1,
"contract_id": 123,
"limit": 500
}Structure de réponse
// contract_update_history: OPTIONAL
// All array item fields: OPTIONAL
{
"contract_update_history": [
{
"display_name": "Stop Loss",
"order_amount": "10.50",
"order_date": 1699564800,
"order_type": "stop_loss",
"value": "1234.56"
}
],
"msg_type": "contract_update_history"
}// contract_update_history: ✅ REQUIRED
// Required fields: display_name, order_amount, order_date, order_type
{
"contract_update_history": [
{
"display_name": "Stop Loss",
"order_amount": "10.50",
"order_date": 1699564800,
"order_type": "stop_loss",
"value": "1234.56"
}
],
"msg_type": "contract_update_history"
}Exemples de code
async function getContractUpdateHistory(contractId) {
const request = {
contract_update_history: 1,
contract_id: contractId,
limit: 500,
loginid: "CR123456"
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === "contract_update_history") {
const updates = response.contract_update_history;
updates?.forEach(update => {
console.log(update.display_name + ": " + update.order_amount);
});
}
};
}D'autres questions ? Nous contacter