Documentação

Histórico de atualização de contrato

NegociaçãoAutenticação Obrigatória

Obtenha o histórico de atualizações de um contrato, como alterações ao respetivo Stop Loss e Take Profit. O parâmetro loginid foi removido; a resposta não foi alterada.

Comparação rápida

AspetoLegacy APINew APIAção
Endpointcontract_update_historycontract_update_historyNenhum
Autenticação ObrigatóriaSimSimNenhum
loginid parâmetroOpcionalRemovidoRemover dos pedidos

Alterações de rutura

1. loginid parâmetro removido

Na API Legacy, loginid selecionava a conta cujo histórico de contratos seria lido quando autorizava várias contas. A New API não o aceita.

Alteração necessária: Remova loginid dos seus pedidos contract_update_history . O seu token seleciona a conta.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "contract_update_history": 1,
  "contract_id": 123456789,
  "limit": 10,
  "loginid": "CR123456",
  "req_id": 1
}
New APIexemplo de pedido
{
  "contract_update_history": 1,
  "contract_id": 123456789,
  "limit": 10,
  "req_id": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "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 APIexemplo de resposta
{
  "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
}

Exemplos 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);
    });
  };
}
Click to open live chat support. Get instant help from our support team.