;(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

Dólar tem 2ª dia de alta e fecha a R$ 4,053, maior valor desde setembro

Do UOL, em São Paulo

07/01/2016 17h07Atualizada em 07/01/2016 17h11

dólar comercial registrou a segunda alta seguida nesta quinta-feira (7), subindo 0,77%, a R$ 4,053 na venda. É o maior valor de fechamento desde 29 de setembro, quando o dólar valia R$ 4,059.

Na véspera, a moeda norte-americana havia avançado 0,7%. 

Contexto internacional

Os investidores continuavam preocupados com a economia da China. As Bolsas chinesas caíram mais de 7% nesta quinta, foram suspensas pela segunda vez na semana e arrastaram para baixo as demais Bolsas da Ásia.

Desta vez, o mercado foi afetado pela decisão do governo chinês de desvalorizar ainda mais a moeda local, o yuan, ao menor nível desde março de 2011. A moeda ficou 0,5% mais fraca do que no dia anterior e teve a maior queda diária desde agosto do ano ado.

A desvalorização aumentou as preocupações de que a China possa estar intervindo no mercado de câmbio para ajudar seus exportadores em dificuldade, fazendo com que os produtos exportados fiquem mais baratos no exterior.

"As autoridades chinesas parecem perplexas e, com a falta de transparência, os mercados tendem a reagir com força a qualquer sinal de fraqueza", disse o economista da 4Cast Pedro Tuesta à agência de notícias Reuters.

A China é um dos principais parceiros comerciais do Brasil e serve de referência para investidores em mercados emergentes.

Contexto nacional

No Brasil, investidores continuavam buscando pistas sobre a estratégia do governo para lidar com a crise econômica. Muitos operadores entenderam a substituição de Nelson Barbosa por Joaquim Levy no ministério da Fazenda como um sinal de que o ajuste das contas públicas não deverá ser tão rígido.

Atuações do BC

Nesta manhã, o Banco Central realizou mais um leilão de rolagem dos contratos de swap cambial (equivalentes à venda futura de dólares) que vencem em 1º de fevereiro, vendendo a oferta total de até 11,6 mil contratos.

Até o momento, o BC já rolou o equivalente a US$ 2,263 bilhão, ou cerca de 22% do lote total, que corresponde a US$ 10,431 bilhões.

Os leilões de rolagem servem para adiar os vencimentos de contratos que foram vendidos no ado.

(Com Reuters)