Histórico de atualização de contrato
NegociaçãoAutenticação ObrigatóriaObtém o estado de atualização histórico e mais recente de um contrato, incluindo todas as alterações efetuadas aos parâmetros do contrato, como valores de stop loss e take profit.
3 Alterações Disruptivas
loginid foi removido, o campo de resposta contract_update_history é agora obrigatório, e os itens do array de resposta têm agora campos obrigatórios.Comparação rápida
Alterações de rutura
1. Parâmetro LoginID removido
O parâmetro loginid usado para cenários de autorização multi-token foi removido. O contexto de conta deve agora ser gerido através do fluxo de autorização.
2. Campo de resposta contract_update_history agora obrigatório
O array contract_update_history na resposta é agora um campo obrigatório.
Alteração necessária: Update response handling code. You can now rely on this field being present without null checks for the array itself.
3. Os itens do array de resposta têm campos obrigatórios
Cada item no array contract_update_history requer agora quatro campos: display_name, order_amount, order_date, e order_type.
Alteração necessária: You can simplify your code by removing defensive null checks for these now-required fields.
Estrutura de pedido
{
"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
}Estrutura de resposta
// 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"
}Exemplos de código
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);
});
}
};
}Alguma outra questão? Entrar em contacto