Histórico de ticks
DadosSem AutenticaçãoObtenha dados históricos de ticks de um símbolo. Apenas o valor predefinido do parâmetro count foi alterado.
1 alteração incompatível
O valor predefinido de
count mudou de 5000 na API Legacy para 1000 na Nova API. Indique count explicitamente se precisar de mais de 1000 ticks.Comparação rápida
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:
counttem como predefinição 5000 ticks por pedido. - Nova:
counttem 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 });
});
}
};
}Alguma outra questão? Entrar em contacto