Documentación

Ticks

DatosSin autenticación

Transmita ticks en tiempo real para uno o más símbolos. Sin cambios en la nueva API.

Comparación rápida

AspectoLegacy APINew APIAcción
EndpointticksticksNinguno
Requiere autenticaciónNoNoNinguno
Patrón de símbolo^\w{2,30}$^\w{2,30}$Ninguno
Valores de suscripción1 solamente1 solamenteNinguno
Objeto tickOpcionalOpcionalNinguno
pip_sizeObligatorioObligatorioNinguno

Campos de solicitud y respuesta

Solicitud

  • ticks (requerido): un símbolo que coincida con ^\w{2,30}$, o un array de símbolos.
  • subscribe (opcional): acepta solo 1. Envía una actualización cada vez que llega un nuevo tick.
  • passthrough (opcional): datos que se le devuelven en echo_req.
  • req_id (opcional): un ID que asocia la respuesta a su solicitud.

Respuesta

  • echo_req y msg_type (tick): siempre se devuelven.
  • tick: solo pip_size está garantizado. ask, bid, epoch, id, quote y symbol son opcionales.
  • subscription.id: se devuelve cuando se suscribe. Páselo a forget para detener el flujo.
  • req_id: se devuelve cuando usted envía uno.

Estructura de solicitud

Legacy APIejemplo de solicitud
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}
New APIejemplo de solicitud
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}

Estructura de respuesta

Legacy APIejemplo de respuesta
{
  "echo_req": {
    "ticks": "frxEURUSD",
    "subscribe": 1
  },
  "msg_type": "tick",
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  },
  "tick": {
    "ask": 1.08501,
    "bid": 1.08499,
    "epoch": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "pip_size": 5,
    "quote": 1.085,
    "symbol": "frxEURUSD"
  }
}
New APIejemplo de respuesta
{
  "echo_req": {
    "ticks": "frxEURUSD",
    "subscribe": 1
  },
  "msg_type": "tick",
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  },
  "tick": {
    "ask": 1.08501,
    "bid": 1.08499,
    "epoch": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "pip_size": 5,
    "quote": 1.085,
    "symbol": "frxEURUSD"
  }
}

Ejemplos de código

let streamId;

function subscribeTicks(symbol) {
  ws.send(JSON.stringify({ ticks: symbol, subscribe: 1 }));
}

ws.onmessage = (event) => {
  const response = JSON.parse(event.data);
  if (response.error) {
    console.error(response.error.message);
    return;
  }
  if (response.msg_type !== 'tick' || !response.tick) return;

  const { tick, subscription } = response;
  if (subscription) streamId = subscription.id; // pass to forget to stop the stream

  // pip_size is the only tick field the schema guarantees
  if (tick.symbol !== undefined && tick.quote !== undefined) {
    console.log(tick.symbol, tick.quote.toFixed(tick.pip_size));
  }
};
Click to open live chat support. Get instant help from our support team.