;(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 emenda 3ª queda e fecha a R$ 3,213; moeda caiu 18,6% no semestre

Marcos Santos/USP Imagens
Imagem: Marcos Santos/USP Imagens

Do UOL, em São Paulo

30/06/2016 17h03

dólar comercial começou o dia em alta, mas mudou de sentido ainda pela manhã e fechou esta quinta-feira (30) em queda de 0,73%, cotado a R$ 3,213 na venda, na terceira baixa seguida.

Esse é o menor valor de fechamento do dólar desde 21 de julho de 2015, quando a moeda terminou o dia valendo R$ 3,173. 

Com isso, o dólar termina junho com desvalorização de 11,05%. No acumulado do primeiro semestre, a moeda perdeu 18,61% (caiu de RR$ 3,948 em 30 de dezembro de 2015nbsp;3,948 em 30 de dezembro de 2015 para R$ 3,213 hoje). 

Ausência do BC anima mercado

O dólar chegou a cair mais de 1% durante a sessão e a operar abaixo dos R$ 3,20, com investidores otimistas em relação à ausência de atuação do Banco Central no mercado de câmbio.

"Essa queda do dólar surpreendeu muita gente e parte do mercado quer ver até onde esse movimento tem força para ir", disse Glauber Romano, operador da corretora Intercam, à agência de notícias Reuters.

Muitos operadores esperavam que o BC iria agir para conter a queda do dólar, com medo de impactos sobre as exportações brasileiras. "O BC está claramente mais confortável em deixar o dólar seguir seu rumo, o que deixa o mercado mais à vontade para buscar patamares mais baixos", afirmou o operador de uma corretora nacional.

Formação do dólar Ptax

Operadores também citaram que a formação do dólar Ptax contribuiu para a baixa da moeda nesta sessão. 

O dólar Ptax é uma taxa calculada pelo BC que serve de referência para diversos contratos baseados no dólar. Operadores costumam brigar por cotações nos últimos dias do mês para deslocá-las para cima ou para baixo, de acordo com os contratos que têm. 

Operadores citaram, ainda, a perspectiva de o BC estabelecer para 2018 meta de inflação entre 4% e 4,25%, mais baixa do que a meta atual de 4,5% para 2017. Com isso, cresciam as expectativas de que os juros básicos demorarão mais para cair, o que tende a manter a atratividade das aplicações brasileiras.

Cenário externo

No exterior, investidores estavam cautelosos. Os mercados têm sido fortemente influenciados após o Reino Unido decidir, na semana ada, deixar a União Europeia. O referendo gerou forte mau humor na sexta-feira e na segunda, mas o quadro se inverteu nos dois pregões seguintes.

"Os mercados estão mais contidos na última sessão do mês, depois de movimentos fortes nos últimos dias", escreveram estrategistas do banco Scotiabank em nota a clientes.

(Com Reuters)