Historial de actualización de contratos
TradingRequiere autenticaciónObtenga el historial de actualizaciones de un contrato, como los cambios en su Stop Loss y Take Profit. Se eliminó el parámetro loginid ; la respuesta no cambió.
1 cambio disruptivo
El
loginid parámetro se eliminó. La respuesta es la misma en la API heredada y la nueva API.Comparación rápida
Cambios importantes
1. loginid parámetro eliminado
En la API heredada, loginid seleccionaba la cuenta cuyo historial de contratos se debía leer cuando autorizaba varias cuentas. La nueva API no lo acepta.
Cambio obligatorio: Elimine loginid de sus solicitudes de contract_update_history . Su token selecciona la cuenta.
Estructura de solicitud
Legacy APIejemplo de solicitud
{
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"loginid": "CR123456",
"req_id": 1
}New APIejemplo de solicitud
{
"contract_update_history": 1,
"contract_id": 123456789,
"limit": 10,
"req_id": 1
}Estructura de respuesta
Legacy APIejemplo de respuesta
{
"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 APIejemplo de respuesta
{
"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
}Ejemplos de código
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);
});
};
}¿Alguna otra pregunta? Póngase en contacto