Documentação

Histórico de ticks

DadosSem Autenticação

Obtenha dados históricos de ticks de um símbolo. Apenas o valor predefinido do parâmetro count foi alterado.

Comparação rápida

AspetoLegacy APINew APIAção
Endpointticks_historyticks_historyNenhum
Autenticação ObrigatóriaNãoNãoNenhum
Predefinição count50001000Defina count explicitamente

Alterações de rutura

1. Valor predefinido de count alterado

O parâmetro count não foi alterado, mas o seu valor predefinido quando não o envia é inferior na Nova API.

  • Legacy: count tem como predefinição 5000 ticks por pedido.
  • Nova: count tem como predefinição 1000 ticks por pedido.

Alteração necessária: Se precisar de mais de 1000 ticks e não enviar count, indique-o explicitamente.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "ticks_history": "frxEURUSD",
  "end": "latest",
  "start": 1234567890,
  "style": "ticks",
  "count": 100,
  "adjust_start_time": 1,
  "subscribe": 1
}
New APIexemplo de pedido
{
  "ticks_history": "frxEURUSD",
  "end": "latest",
  "start": 1234567890,
  "style": "ticks",
  "count": 100,
  "adjust_start_time": 1,
  "subscribe": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "echo_req": {
    "ticks_history": "frxEURUSD",
    "end": "latest",
    "start": 1234567890,
    "style": "ticks",
    "count": 100,
    "adjust_start_time": 1,
    "subscribe": 1
  },
  "history": {
    "prices": [
      1.085,
      1.0851
    ],
    "times": [
      1234567890,
      1234567891
    ]
  },
  "msg_type": "history",
  "pip_size": 5,
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  }
}
New APIexemplo de resposta
{
  "echo_req": {
    "ticks_history": "frxEURUSD",
    "end": "latest",
    "start": 1234567890,
    "style": "ticks",
    "count": 100,
    "adjust_start_time": 1,
    "subscribe": 1
  },
  "history": {
    "prices": [
      1.085,
      1.0851
    ],
    "times": [
      1234567890,
      1234567891
    ]
  },
  "msg_type": "history",
  "pip_size": 5,
  "subscription": {
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3"
  }
}

Exemplos de código

async function getTicksHistory(symbol) {
  const request = {
    ticks_history: symbol,
    end: "latest",
    start: Date.now() / 1000 - 86400,
    style: "ticks",
    count: 100,  // Defaults to 5000 when omitted
    adjust_start_time: 1,
    subscribe: 1
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);

    // echo_req is guaranteed
    console.log('Request:', response.echo_req);

    if (response.msg_type === 'history') {
      // history.prices and history.times are optional
      if (response.history) {
        if (response.history.prices) {
          console.log('Prices:', response.history.prices);
        }
        if (response.history.times) {
          console.log('Times:', response.history.times);
        }
      }
    }

    if (response.msg_type === 'candles') {
      // Each candle property is optional
      response.candles?.forEach(candle => {
        const close = candle.close ?? null;
        const open = candle.open ?? null;
        const high = candle.high ?? null;
        const low = candle.low ?? null;
        console.log({ open, high, low, close });
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.