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

A corretora fez bobagem com suas ações? A Bolsa tem um seguro contra isso

Téo Takar

Do UOL, em São Paulo

11/01/2019 04h00

Você sabia que investimentos na Bolsa de Valores no Brasil têm uma proteção semelhante ao FGC (Fundo Garantidor de Créditos)?

Trata-se do MRP (Mecanismo de Ressarcimento de Prejuízos), que protege investidores de perdas causadas por erro das corretoras.

O que é coberto pelo MRP?

Quem compra ações, opções ou outros produtos negociados na B3 (antiga Bovespa) pode acionar o MRP se tiver perda provocada por falha da corretora responsável pela operação.

São cobertos os prejuízos causados por eventuais atrasos ou erros na execução de ordens de compra ou venda, por ordens não solicitadas ou não realizadas e também por problemas técnicos no sistema de negociação ("home broker") da corretora.

O MRP também protege o investidor em caso de quebra ou liquidação da corretora, erros provocados por agentes autônomos que atuam em nome da corretora, problemas relacionados à custódia dos bens e concessão irregular de financiamentos ou empréstimos pela corretora.

O que não é coberto pelo MRP?

As perdas causadas pelas oscilações nos preços de ações ou outros ativos de renda variável não são cobertas. Se não houve erro na execução das ordens de compra e venda, o investidor assumiu o risco de prejuízo ao optar por uma aplicação de renda variável.

O MRP também não cobre prejuízos em caso de recuperação judicial ou falência da empresa que emitiu as ações ou outro valor mobiliário. Nesse caso, o investidor deve se cadastrar entre os credores da companhia no processo judicial para tentar receber o valor aplicado.

Qual é o limite de cobertura?

O mecanismo garante ao investidor devolução de até R$ 120 mil por prejuízos causados por corretoras. O MRP tem hoje um caixa de R$ 380 milhões para cobrir eventuais perdas.

É preciso reclamar com a corretora antes?

Não é obrigatório, mas a BSM, responsável pela istração do MRP, recomenda que o investidor só entre em contato se reclamou com a corretora, mas não conseguiu resolver o problema.

Como acionar o MRP?

O investidor tem até 18 meses a partir da ocorrência do problema para registrar a queixa na Bolsa. O registro deve ser feito neste link, com os documentos que comprovem o erro.

A análise de cada caso dura 120 dias, em média, e não há garantia de que o pagamento será feito.

"É necessária a análise do caso concreto com intuito de avaliar se estão presentes os requisitos fundamentais para o ressarcimento como, por exemplo, evidências de prejuízo por ação ou omissão da corretora", disse Marcos Torres, diretor da BSM.

A BSM lançou um novo sistema de registropara o MRP em dezembro. Agora, o acompanhamento das reclamações é totalmente digital. Antes, todo o processo era feito em papel, por carta.

Gostou deste texto? Assine a newsletter UOL Investimentos para receber informações como esta em primeira mão no seu email.