olywwe commited on
Commit
85e8df4
·
verified ·
1 Parent(s): 9b1dbed

Use dados reais do mercado , crie e crie os gráficos de Candes - Follow Up Deployment

Browse files
Files changed (1) hide show
  1. index.html +80 -1
index.html CHANGED
@@ -237,6 +237,7 @@
237
 
238
  // Variáveis globais
239
  let tradingActive = false;
 
240
  let simulationInterval;
241
  let currentBalance = 100;
242
  let transactionCount = 0;
@@ -248,10 +249,11 @@
248
  let modelUpdateCount = 0;
249
 
250
  // Inicialização
251
- document.addEventListener('DOMContentLoaded', function() {
252
  createNeuralNetworkVisualization();
253
  initializeBalanceChart();
254
  setupEventListeners();
 
255
  });
256
 
257
  // Criar visualização da rede neural
@@ -356,6 +358,83 @@
356
  }
357
  }
358
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
  // Inicializar gráfico de saldo
360
  function initializeBalanceChart() {
361
  const ctx = document.getElementById('balanceChart').getContext('2d');
 
237
 
238
  // Variáveis globais
239
  let tradingActive = false;
240
+ let candlestickChart;
241
  let simulationInterval;
242
  let currentBalance = 100;
243
  let transactionCount = 0;
 
249
  let modelUpdateCount = 0;
250
 
251
  // Inicialização
252
+ document.addEventListener('DOMContentLoaded', async function() {
253
  createNeuralNetworkVisualization();
254
  initializeBalanceChart();
255
  setupEventListeners();
256
+ await initializeCandlestickChart();
257
  });
258
 
259
  // Criar visualização da rede neural
 
358
  }
359
  }
360
 
361
+ // Buscar dados de candlestick da Binance
362
+ async function fetchCandlestickData(symbol = 'BTCUSDT', interval = '1h', limit = 100) {
363
+ try {
364
+ const response = await axios.get(`https://api.binance.com/api/v3/klines?symbol=${symbol}&interval=${interval}&limit=${limit}`);
365
+ return response.data.map(item => ({
366
+ time: new Date(item[0]),
367
+ open: parseFloat(item[1]),
368
+ high: parseFloat(item[2]),
369
+ low: parseFloat(item[3]),
370
+ close: parseFloat(item[4]),
371
+ volume: parseFloat(item[5])
372
+ }));
373
+ } catch (error) {
374
+ console.error('Error fetching candlestick data:', error);
375
+ return [];
376
+ }
377
+ }
378
+
379
+ // Inicializar gráfico de candlestick
380
+ async function initializeCandlestickChart() {
381
+ const candlestickData = await fetchCandlestickData();
382
+
383
+ const ctx = document.getElementById('candlestickChart').getContext('2d');
384
+ candlestickChart = new Chart(ctx, {
385
+ type: 'candlestick',
386
+ data: {
387
+ labels: candlestickData.map(item => item.time.toLocaleTimeString()),
388
+ datasets: [{
389
+ label: 'BTC/USDT',
390
+ data: candlestickData.map(item => ({
391
+ x: item.time,
392
+ o: item.open,
393
+ h: item.high,
394
+ l: item.low,
395
+ c: item.close
396
+ })),
397
+ color: {
398
+ up: '#10b981',
399
+ down: '#ef4444',
400
+ unchanged: '#94a3b8',
401
+ }
402
+ }]
403
+ },
404
+ options: {
405
+ responsive: true,
406
+ maintainAspectRatio: false,
407
+ scales: {
408
+ x: {
409
+ type: 'time',
410
+ time: {
411
+ unit: 'hour'
412
+ },
413
+ grid: {
414
+ color: 'rgba(255, 255, 255, 0.1)'
415
+ },
416
+ ticks: {
417
+ color: '#cbd5e1'
418
+ }
419
+ },
420
+ y: {
421
+ grid: {
422
+ color: 'rgba(255, 255, 255, 0.1)'
423
+ },
424
+ ticks: {
425
+ color: '#cbd5e1'
426
+ }
427
+ }
428
+ },
429
+ plugins: {
430
+ legend: {
431
+ display: false
432
+ }
433
+ }
434
+ }
435
+ });
436
+ }
437
+
438
  // Inicializar gráfico de saldo
439
  function initializeBalanceChart() {
440
  const ctx = document.getElementById('balanceChart').getContext('2d');