Historique de mise à jour du contrat
TradingAuthentification requiseObtenez l’historique des mises à jour d’un contrat, telles que les modifications de son Stop Loss et de son Take profit. Le paramètre loginid est supprimé ; la réponse reste inchangée.
1 modification majeure
Le
loginid paramètre est supprimé. La réponse est la même dans l’API Legacy et la nouvelle API.Comparaison rapide
Modifications majeures
1. loginid paramètre supprimé
Dans l’API Legacy, loginid sélectionnait le compte dont lire l’historique des contrats lorsque vous aviez autorisé plusieurs comptes. La nouvelle API ne l’accepte pas.
Modification requise : Supprimez loginid de vos requêtes contract_update_history . Votre token sélectionne le compte.
Structure de la demande
Legacy APIexemple de demande
{
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"loginid": "CR123456",
"req_id": 1
}New APIexemple de demande
{
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"req_id": 1
}Structure de réponse
Legacy APIexemple de réponse
{
"contract_update_history": [
{
"display_name": "Take profit",
"order_amount": "25.00",
"order_date": 1760000000,
"order_type": "take_profit",
"value": "1256.78"
},
{
"display_name": "Stop loss",
"order_amount": "-15.00",
"order_date": 1759990000,
"order_type": "stop_loss",
"value": null
}
],
"echo_req": {
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"req_id": 1
},
"msg_type": "contract_update_history",
"req_id": 1
}New APIexemple de réponse
{
"contract_update_history": [
{
"display_name": "Take profit",
"order_amount": "25.00",
"order_date": 1760000000,
"order_type": "take_profit",
"value": "1256.78"
},
{
"display_name": "Stop loss",
"order_amount": "-15.00",
"order_date": 1759990000,
"order_type": "stop_loss",
"value": null
}
],
"echo_req": {
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"req_id": 1
},
"msg_type": "contract_update_history",
"req_id": 1
}Exemples de code
function getUpdateHistory(contractId, loginId) {
const request = { contract_update_history: 1, contract_id: contractId, limit: 10, req_id: 1 };
// Needed only when you authorised several accounts
if (loginId) request.loginid = loginId;
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type !== "contract_update_history") return;
if (response.error) {
console.error(response.error.message);
return;
}
response.contract_update_history?.forEach((update) => {
console.log(update.display_name, update.order_amount, update.order_date);
});
};
}D'autres questions ? Nous contacter