Documentación

Historial de actualización de contratos

TradingRequiere autenticación

Obtenga 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ó.

Comparación rápida

AspectoLegacy APINew APIAcción
Endpointcontract_update_historycontract_update_historyNinguno
Requiere autenticaciónSíSíNinguno
loginid parámetroOpcionalEliminadoEliminar de las solicitudes

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