Bonjour,
Je travail actuellement sur une récupération de flux via l'API XTB en JavaScript.
Je n'arrive pas à le recuperer en streaming, quelqu'un aurait déja travaillé le sujet?
Voici mon code javascript si ca peut aider :
merci
Bonne journée
Je travail actuellement sur une récupération de flux via l'API XTB en JavaScript.
Je n'arrive pas à le recuperer en streaming, quelqu'un aurait déja travaillé le sujet?
Voici mon code javascript si ca peut aider :
Code : #
// Our websocket
var ws;
function connectXTB() {
var url = "wss://ws.xapi.pro/demo";
console.log('Connecting to: ' + url);
ws = new WebSocket(url);
ws.onopen = function() {
console.log('Connected');
loginXTB();
};
StreamXTB ();
ws.onclose = function() {
console.log('Connection closed');
};
};
function disconnectXTB() {
ws.close();
}
function send(jsonMessage) {
try {
var msg = JSON.stringify(jsonMessage);
ws.send(msg);
console.log('Sent ' + msg.length + ' bytes of data: ' + msg);
} catch(Exception) {
console.error('Error while sending data: ' + Exception.message);
}
}
function loginXTB() {
var msg = {};
msg.command = "login";
var arguments = {};
arguments.userId = parseInt($('#userId').val());
arguments.password = $('#password').val();
msg.arguments = arguments;
console.log('Trying to log in as: ' + msg.arguments.userId);
send(msg);
}
function getAllSymbolsXTB() {
var msg = {};
msg.command = "getAllSymbols";
console.log('Getting list of symbols');
send(msg);
}
function parseGetAllSymbolsXTB(returnData) {
// For all symbols
for (var i = returnData.length - 1; i >= 0; i--) {
var symbol = returnData[i].symbol;
var ask = returnData[i].ask;
var bid = returnData[i].bid;
var descr = returnData[i].description;
var row = '<tr><td>' + symbol + '</td><td>' + ask + '</td><td>' + bid + '</td><td>' + descr + '</td></tr>';
// Append to instruments table
$('#instruments').append($(row));
};
}
function StreamXTB () {
ws.onmessage = function(evt) {
console.log("Received: " + evt.data);
try {
var response = JSON.parse(evt.data);
if(response.status == true) {
if(response.streamSessionId != undefined) {
// We received login response
getAllSymbolsXTB();
} else {
// We received getAllSymbols response
parseGetAllSymbolsXTB(response.returnData);
}
} else {
alert('Error: ' + response.errorDescr);
}
} catch (Exception) {
alert('Fatal error while receiving data! :(');
}
}
}
$(document).ready(function() {
$('#login-btn').on('click', function() {
connectXTB();
});
});
merci
Bonne journée