{"id":271,"date":"2026-04-22T16:15:39","date_gmt":"2026-04-22T16:15:39","guid":{"rendered":"https:\/\/investingora.com\/?page_id=271"},"modified":"2026-04-22T16:36:37","modified_gmt":"2026-04-22T16:36:37","slug":"currency-converter","status":"publish","type":"page","link":"https:\/\/investingora.com\/pt\/currency-converter\/","title":{"rendered":"Currency Converter"},"content":{"rendered":"\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<div style=\"background:#f2f2f2;padding:20px;font-family:Arial\">\n\n<h2 style=\"margin-bottom:15px\">Currency Converter<\/h2>\n\n<div style=\"background:#fff;padding:20px;border:1px solid #ccc\">\n\n<div style=\"display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap\">\n\n<!-- LEFT -->\n<div style=\"flex:1;min-width:250px\">\n\n<div style=\"border:1px solid #ccc;padding:10px;background:#fafafa\">\n\n<div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px\">\n<img decoding=\"async\" id=\"flag1\" src=\"https:\/\/flagcdn.com\/w40\/us.png\" width=\"24\">\n<select id=\"from\" style=\"flex:1;padding:5px\"><\/select>\n<\/div>\n\n<input id=\"amount\" type=\"number\" value=\"1\"\nstyle=\"width:100%;padding:10px;font-size:18px;border:1px solid #ccc\">\n\n<\/div>\n\n<p style=\"font-size:12px;color:#666;margin-top:5px\" id=\"rate1\"><\/p>\n\n<\/div>\n\n<!-- CENTER -->\n<div style=\"display:flex;align-items:center;justify-content:center\">\n<button onclick=\"swap()\" style=\"padding:10px;border:none;background:#ddd;cursor:pointer\">\n\u21c4\n<\/button>\n<\/div>\n\n<!-- RIGHT -->\n<div style=\"flex:1;min-width:250px\">\n\n<div style=\"border:1px solid #ccc;padding:10px;background:#fafafa\">\n\n<div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px\">\n<img decoding=\"async\" id=\"flag2\" src=\"https:\/\/flagcdn.com\/w40\/br.png\" width=\"24\">\n<select id=\"to\" style=\"flex:1;padding:5px\"><\/select>\n<\/div>\n\n<input id=\"result\" type=\"number\"\nstyle=\"width:100%;padding:10px;font-size:18px;border:1px solid #ccc\">\n\n<\/div>\n\n<p style=\"font-size:12px;color:#666;margin-top:5px\" id=\"rate2\"><\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<script>\nlet rates = {};\nlet base = \"USD\";\n\n\/\/ carregar moedas\nasync function loadCurrencies(){\n  const res = await fetch(\"https:\/\/open.er-api.com\/v6\/latest\/USD\");\n  const data = await res.json();\n\n  rates = data.rates;\n\n  const currencies = Object.keys(rates);\n\n  const from = document.getElementById(\"from\");\n  const to = document.getElementById(\"to\");\n\n  currencies.forEach(c => {\n    from.innerHTML += `<option value=\"${c}\">${c}<\/option>`;\n    to.innerHTML += `<option value=\"${c}\">${c}<\/option>`;\n  });\n\n  from.value = \"USD\";\n  to.value = \"BRL\";\n\n  update();\n}\n\n\/\/ atualizar bandeira\nfunction updateFlags(){\n  const from = document.getElementById(\"from\").value.slice(0,2).toLowerCase();\n  const to = document.getElementById(\"to\").value.slice(0,2).toLowerCase();\n\n  document.getElementById(\"flag1\").src = `https:\/\/flagcdn.com\/w40\/${from}.png`;\n  document.getElementById(\"flag2\").src = `https:\/\/flagcdn.com\/w40\/${to}.png`;\n}\n\n\/\/ converter\nfunction update(){\n  const amount = document.getElementById(\"amount\").value;\n  const from = document.getElementById(\"from\").value;\n  const to = document.getElementById(\"to\").value;\n\n  const usd = amount \/ rates[from];\n  const result = usd * rates[to];\n\n  document.getElementById(\"result\").value = result.toFixed(4);\n\n  document.getElementById(\"rate1\").innerText =\n    `1 ${from} = ${(rates[to]\/rates[from]).toFixed(4)} ${to}`;\n\n  document.getElementById(\"rate2\").innerText =\n    `1 ${to} = ${(rates[from]\/rates[to]).toFixed(4)} ${from}`;\n\n  updateFlags();\n}\n\n\/\/ swap\nfunction swap(){\n  const from = document.getElementById(\"from\");\n  const to = document.getElementById(\"to\");\n\n  let temp = from.value;\n  from.value = to.value;\n  to.value = temp;\n\n  update();\n}\n\n\/\/ eventos\ndocument.addEventListener(\"input\", update);\ndocument.getElementById(\"from\").addEventListener(\"change\", update);\ndocument.getElementById(\"to\").addEventListener(\"change\", update);\n\n\/\/ init\nloadCurrencies();\n\n\/\/ auto update a cada 60s\nsetInterval(loadCurrencies, 60000);\n<\/script>\n\n\n\n<div style=\"background:#ffffff;padding:20px;border-radius:16px;color:#1f2937;font-family:Arial;max-width:320px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #e5e7eb;\">\n  <h3 style=\"color:#6b7280;font-size:14px;margin-bottom:15px;\">PARES POPULARES (VS USD)<\/h3>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>EUR\/USD<\/span><span>1.18 <span style=\"color:#16a34a;\">+0.12%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>GBP\/USD<\/span><span>1.35 <span style=\"color:#16a34a;\">+0.08%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>USD\/JPY<\/span><span>159.27<\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>USD\/BRL<\/span><span>4.96<\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>USD\/CNY<\/span><span>6.84<\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>AUD\/USD<\/span><span>0.71 <span style=\"color:#dc2626;\">-0.15%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>USD\/CAD<\/span><span>1.37<\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:8px 0;\">\n    <span>EUR\/GBP<\/span><span>0.87 <span style=\"color:#16a34a;\">+0.12%<\/span><\/span>\n  <\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\"><\/div>\n\n\n\n<div id=\"market-widgets\" style=\"display:flex;gap:20px;flex-wrap:wrap;font-family:Arial;\">\n\n  <!-- CARD 1 -->\n  <div class=\"card\">\n    <h3>PARES POPULARES (VS USD)<\/h3>\n    <div id=\"forex\"><\/div>\n  <\/div>\n\n  <!-- CARD 2 -->\n  <div class=\"card\">\n    <h3>PRE\u00c7OS CRYPTO (USD)<\/h3>\n    <div id=\"crypto\"><\/div>\n  <\/div>\n\n  <!-- CARD 3 -->\n  <div class=\"card\">\n    <h3>STATUS DOS MERCADOS<\/h3>\n    <div id=\"markets\"><\/div>\n  <\/div>\n\n<\/div>\n\n<style>\n.card {\n  background:#fff;\n  padding:20px;\n  border-radius:16px;\n  color:#1f2937;\n  max-width:320px;\n  flex:1;\n  box-shadow:0 4px 20px rgba(0,0,0,0.08);\n  border:1px solid #e5e7eb;\n}\n\n.card h3 {\n  color:#6b7280;\n  font-size:14px;\n  margin-bottom:15px;\n}\n\n.row {\n  display:flex;\n  justify-content:space-between;\n  margin:8px 0;\n}\n\n.up { color:#16a34a; }\n.down { color:#dc2626; }\n\n.badge {\n  padding:4px 10px;\n  border-radius:20px;\n  font-size:12px;\n}\n\n.open {\n  background:#dcfce7;\n  color:#16a34a;\n}\n\n.closed {\n  background:#f3f4f6;\n  color:#6b7280;\n}\n<\/style>\n\n<script>\n\/\/ ---------- FOREX ----------\nasync function loadForex() {\n  const res = await fetch(\"https:\/\/api.exchangerate-api.com\/v4\/latest\/USD\");\n  const data = await res.json();\n\n  const pairs = [\n    [\"EUR\/USD\", data.rates.EUR],\n    [\"GBP\/USD\", data.rates.GBP],\n    [\"USD\/JPY\", 1\/data.rates.JPY],\n    [\"USD\/BRL\", 1\/data.rates.BRL],\n    [\"USD\/CNY\", 1\/data.rates.CNY],\n    [\"AUD\/USD\", data.rates.AUD],\n    [\"USD\/CAD\", 1\/data.rates.CAD]\n  ];\n\n  document.getElementById(\"forex\").innerHTML =\n    pairs.map(p => `<div class=\"row\"><span>${p[0]}<\/span><span>${p[1].toFixed(2)}<\/span><\/div>`).join(\"\");\n}\n\n\/\/ ---------- CRYPTO ----------\nasync function loadCrypto() {\n  const res = await fetch(\"https:\/\/api.coingecko.com\/api\/v3\/simple\/price?ids=bitcoin,ethereum,solana,binancecoin,ripple&vs_currencies=usd&include_24hr_change=true\");\n  const data = await res.json();\n\n  const coins = [\n    [\"BTC\", data.bitcoin],\n    [\"ETH\", data.ethereum],\n    [\"SOL\", data.solana],\n    [\"BNB\", data.binancecoin],\n    [\"XRP\", data.ripple]\n  ];\n\n  document.getElementById(\"crypto\").innerHTML =\n    coins.map(c => {\n      const change = c[1].usd_24h_change;\n      const cls = change >= 0 ? \"up\" : \"down\";\n      return `<div class=\"row\">\n        <span>${c[0]}<\/span>\n        <span>$${c[1].usd.toLocaleString()} \n        <span class=\"${cls}\">${change.toFixed(2)}%<\/span><\/span>\n      <\/div>`;\n    }).join(\"\");\n}\n\n\/\/ ---------- MARKET STATUS ----------\nfunction isMarketOpen(hour, open, close) {\n  return hour >= open && hour < close;\n}\n\nfunction loadMarkets() {\n  const now = new Date();\n  const hour = now.getUTCHours();\n\n  const markets = [\n    [\"Forex (global)\", true],\n    [\"NYSE \/ NASDAQ\", isMarketOpen(hour, 13, 20)],\n    [\"Bolsa de Londres\", isMarketOpen(hour, 8, 16)],\n    [\"Bolsa de T\u00f3quio\", isMarketOpen(hour, 0, 6)],\n    [\"Mercados Crypto\", true]\n  ];\n\n  document.getElementById(\"markets\").innerHTML =\n    markets.map(m => `\n      <div class=\"row\">\n        <span>${m[0]}<\/span>\n        <span class=\"badge ${m[1] ? \"open\" : \"closed\"}\">\n          ${m[1] ? \"Aberto\" : \"Fechado\"}\n        <\/span>\n      <\/div>\n    `).join(\"\");\n}\n\n\/\/ LOAD\nloadForex();\nloadCrypto();\nloadMarkets();\n\n\/\/ AUTO UPDATE (a cada 60s)\nsetInterval(() => {\n  loadForex();\n  loadCrypto();\n}, 60000);\n<\/script>\n\n\n\n<div style=\"background:#ffffff;padding:20px;border-radius:16px;color:#1f2937;font-family:Arial;max-width:320px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #e5e7eb;\">\n  <h3 style=\"color:#6b7280;font-size:14px;margin-bottom:15px;\">PRE\u00c7OS CRYPTO (USD)<\/h3>\n\n  <div style=\"display:flex;justify-content:space-between;margin:10px 0;\">\n    <span>BTC<\/span><span>$79,390 <span style=\"color:#16a34a;\">+0.88%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:10px 0;\">\n    <span>ETH<\/span><span>$2,410 <span style=\"color:#16a34a;\">+1.37%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:10px 0;\">\n    <span>SOL<\/span><span>$88.46 <span style=\"color:#16a34a;\">+2.25%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:10px 0;\">\n    <span>BNB<\/span><span>$649.93 <span style=\"color:#16a34a;\">+1.44%<\/span><\/span>\n  <\/div>\n\n  <div style=\"display:flex;justify-content:space-between;margin:10px 0;\">\n    <span>XRP<\/span><span>$1.46 <span style=\"color:#16a34a;\">+4.14%<\/span><\/span>\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Currency Converter \u21c4 PARES POPULARES (VS USD) EUR\/USD1.18 +0.12% GBP\/USD1.35 +0.08% USD\/JPY159.27 USD\/BRL4.96 USD\/CNY6.84 AUD\/USD0.71 -0.15% USD\/CAD1.37 EUR\/GBP0.87 +0.12% PARES POPULARES (VS USD) PRE\u00c7OS CRYPTO (USD) STATUS DOS MERCADOS PRE\u00c7OS CRYPTO (USD) BTC$79,390 +0.88% ETH$2,410 +1.37% SOL$88.46 +2.25% BNB$649.93 +1.44% XRP$1.46 +4.14%<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-271","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/pages\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/comments?post=271"}],"version-history":[{"count":7,"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/pages\/271\/revisions"}],"predecessor-version":[{"id":295,"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/pages\/271\/revisions\/295"}],"wp:attachment":[{"href":"https:\/\/investingora.com\/pt\/wp-json\/wp\/v2\/media?parent=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}