Documentação

Ticks

DadosSem Autenticação

Transmita ticks em tempo real para um ou mais símbolos. Sem alterações na nova API.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointticksticksNenhum
Autenticação ObrigatóriaNãoNãoNenhum
Padrão de símbolo^\w{2,30}$^\w{2,30}$Nenhum
Valores de subscriçãoapenas 1apenas 1Nenhum
Objeto tickOpcionalOpcionalNenhum
pip_sizeObrigatórioObrigatórioNenhum

Campos de pedido e resposta

Pedido

  • ticks (obrigatório): um símbolo que corresponda a ^\w{2,30}$, ou um array de símbolos.
  • subscribe (opcional): aceita apenas 1. Envia uma atualização sempre que chega um novo tick.
  • passthrough (opcional): dados devolvidos a si em echo_req.
  • req_id (opcional): um ID que associa a resposta ao seu pedido.

Resposta

  • echo_req e msg_type (tick): sempre devolvidos.
  • tick: apenas pip_size é garantido. ask, bid, epoch, id, quote e symbol são opcionais.
  • subscription.id: devolvido quando subscreve. Passe-o para forget para parar o fluxo.
  • req_id: devolvido quando envia um.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}
New APIexemplo de pedido
{
  "ticks": "frxEURUSD",
  "subscribe": 1
}

Estrutura de resposta

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

Exemplos 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.