;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Bolsa sobe e encerra o semestre com alta de 14,88%; dólar fecha a R$ 3,841

Do UOL, em São Paulo

28/06/2019 17h09Atualizada em 28/06/2019 17h41

O Ibovespa, principal índice da Bolsa brasileira, fechou o dia em alta de 0,24%, a 100.967,20 pontos, no terceiro avanço seguido. Com isso, encerra o primeiro semestre com alta de 14,88%, o melhor resultado para o período desde 2016 (18,86%). Na semana, porém, o índice perdeu 1,02%, interrompendo uma sequência de cinco altas semanais. No mês, a Bolsa acumulou valorização de 4,06%, o melhor resultado desde janeiro (10,82%).

O dólar comercial fechou em alta de 0,21%, cotado a R$ 3,841 na venda, após duas quedas seguidas. Com isso, a moeda norte-americana acumulou desvalorização de 0,9% no primeiro semestre. Na semana, o dólar ganhou 0,45%. No mês, caiu 2,13%, no primeiro recuo mensal desde janeiro (-5,6%).

O valor do dólar divulgado diariamente pela imprensa, inclusive o UOL, refere-se ao dólar comercial. Para turistas, o valor sempre é maior.

Acordo Mercosul-União Europeia

O Mercosul e a União Europeia anunciaram hoje um acordo entre os dois blocos econômicos, após 20 anos de negociações.

Segundo estimativas do Ministério da Economia do Brasil, o acordo representará um incremento no PIB do país equivalente a R$ 336 bilhões em 15 anos, com potencial de chegar a R$ 480 bilhões, se forem levados em conta aspectos como a redução de barreiras não tarifárias.

O governo brasileiro estima também que as exportações brasileiras para a União Europeia aumentem em cerca de R$ 384 bilhões até 2035.

Hoje, a União Europeia é o segundo parceiro comercial do Mercosul, que, por sua vez, é o oitavo do bloco europeu.

Reunião do G20

O mercado monitorou hoje o primeiro dia da cúpula do G20, em Osaka, no Japão, com líderes das 20 maiores economias do mundo.

Adotando cautela, investidores aguardam a reunião bilateral prevista para sábado entre os presidentes dos Estados Unidos, Donald Trump, e da China, Xi Jinping, na expectativa de que ambos possam achar uma solução para a guerra comercial.

"Qualquer avanço no sentido de um acordo comercial deverá ter impacto positivo na percepção de risco global", disseram economistas da XP Investimentos em nota.

O presidente Jair Bolsonaro também está em Osaka e se reuniu hoje com Trump para conversar sobre a ideia de um acordo de livre comércio entre os países.

Reforma da Previdência

Investidores estão otimistas em relação ao andamento da reforma da Previdência no Congresso, apesar de ruídos recentes entre Executivo e Legislativo. O presidente da Câmara dos Deputados, Rodrigo Maia (DEM-RJ), reafirmou que votará o texto no plenário da Casa antes do recesso parlamentar.

Ontem, o ministro da Economia, Paulo Guedes, e o presidente do Senado, Davi Alcolumbre (DEM-AP), demonstraram alinhamento sobre a necessidade da aprovação da matéria.

"As declarações coesas de Davi Alcolumbre em evento que contou com a presença do ministro da Economia, Paulo Guedes, reforçam o otimismo dos investidores quanto à aprovação do texto da comissão especial, com a inclusão dos estados e municípios no regime geral", avaliou a corretora Correparti, em nota.

(Com Reuters)

Entenda como funciona o câmbio do dólar

UOL Notícias