;(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 cai 0,77% e vai a R$ 2,571, menor valor em quase 2 meses

Do UOL, em São Paulo

27/01/2015 17h12Atualizada em 27/01/2015 17h12

dólar comercial fechou em queda de 0,77% nesta terça-feira (27), cotado a R$ 2,571 na venda. É o menor valor de fechamento desde 3 de dezembro do ano ado, quando a moeda norte-americana valia R$ 2,557. 

Na véspera, o dólar havia fechado praticamente estável. 

Os investidores estavam otimistas com números fracos sobre as encomendas de bens duráveis nos Estados Unidos divulgados nesta terça. Isso porque, com uma economia ainda frágil, o Federal Reserve (Fed, banco central norte-americano) poderia levar mais tempo para começar a elevar as taxas de juros no país.

O Fed se reúne nesta quarta-feira (28) para mais uma decisão sobre sua política econômica.

Economistas ouvidos pela agência de notícias Reuters vêm mantendo a projeção de que o Fed começará a elevar os juros em meados deste ano. Uma série de indicadores econômicos fracos, no entanto, tem gerado apostas de que isso poderia acontecer mais tarde.

Juros mais altos nos EUA preocupam investidores, pois poderiam atrair para lá recursos atualmente investidos em países emergentes onde os rendimentos são maiores, como é o caso do Brasil.

Saídas de dólares daqui poderiam elevar o preço da moeda em relação ao real.

Além disso, medidas de estímulos econômicos anunciadas pelo BCE (Banco Central Europeu) e expectativas de ajustes nas contas públicas brasileiras mantinham o otimismo visto nos mercados nas últimas semanas. 

Atuação no mercado de câmbio

O Banco Central manteve seu programa de intervenções, mas agora com metade da oferta. O programa oferece contratos de swap cambial, que equivalem à venda de dólares no mercado futuro.

Foram vendidos 2.000 contratos: 1.000 para 1º de setembro e os outros 1.000 para 1º de dezembro deste ano.

O BC também realizou mais um leilão para rolar os contratos de swap cambial que vencem em 2 de fevereiro. Foram vendidos 10 mil swaps: 4.500 com vencimento em 1º de fevereiro do ano que vem e os outros 5.500 para 1º de abril de 2016. A operação movimentou o equivalente a US$ 487,9 milhões.

Até a véspera, o BC vinha ofertando nas rolagens contratos para 3 de novembro de 2015 e 1º de fevereiro de 2016.

Ao todo, o BC já rolou o equivalente a US$ 8,808 bilhões, ou cerca de 85% do lote total, correspondente a US$ 10,405 bilhões.

(Com Reuters)