Ticks
DatosSin autenticaciónTransmita ticks en tiempo real para uno o más símbolos. Sin cambios en la nueva API.
Sin cambios importantes
La llamada
ticks funciona de la misma manera en la Legacy API y en la New API, por lo que no necesita modificar su código.Comparación rápida
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 solo1. Envía una actualización cada vez que llega un nuevo tick.passthrough(opcional): datos que se le devuelven enecho_req.req_id(opcional): un ID que asocia la respuesta a su solicitud.
Respuesta
echo_reqymsg_type(tick): siempre se devuelven.tick: solopip_sizeestá garantizado.ask,bid,epoch,id,quoteysymbolson opcionales.subscription.id: se devuelve cuando se suscribe. Páselo aforgetpara 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));
}
};¿Alguna otra pregunta? Póngase en contacto