{"id":9,"date":"2026-07-06T17:37:51","date_gmt":"2026-07-06T15:37:51","guid":{"rendered":"https:\/\/myfxexpert.eu\/?page_id=9"},"modified":"2026-07-08T09:01:38","modified_gmt":"2026-07-08T07:01:38","slug":"live-eurusd","status":"publish","type":"page","link":"https:\/\/myfxexpert.eu\/","title":{"rendered":"Live EURUSD"},"content":{"rendered":"<p>    <div id=\"myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2\" class=\"myfx-push-card\" data-symbol=\"EURUSD\" data-key-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-vapid-public-key\" data-subscribe-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-subscribe\" data-unsubscribe-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-unsubscribe\" data-status-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-status\" data-sw-url=\"https:\/\/myfxexpert.eu\/wp-content\/plugins\/myfxexpert-live-status-webpost-v0.1.17_PUSH_COUNTER_DEDUP\/myfxexpert-push-sw.js?ver=0.1.19\" data-button-on-label=\"W\u0142\u0105cz powiadomienia\" data-button-off-label=\"Wy\u0142\u0105cz powiadomienia\" data-myfx-push-card=\"1\">\n        <div class=\"myfx-push-title\">Powiadomienia EURUSD<\/div>\n        <div class=\"myfx-push-text\" data-myfx-push=\"text\">Powiadomienia s\u0105 w\u0142\u0105czone dla EURUSD.<\/div>\n        <div class=\"myfx-push-actions\">\n            <button type=\"button\" class=\"myfx-push-btn myfx-push-btn-on\" data-myfx-push=\"button-on\" style=\"display:none\">W\u0142\u0105cz powiadomienia<\/button>\n            <button type=\"button\" class=\"myfx-push-btn myfx-push-btn-off\" data-myfx-push=\"button-off\" style=\"\">Wy\u0142\u0105cz powiadomienia<\/button>\n        <\/div>\n    <\/div>\n    <style>\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2.myfx-push-card{max-width:980px;margin-top:18px;padding:18px 20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-title{font-size:24px;font-weight:900;letter-spacing:.04em;margin-bottom:6px}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-text{font-size:14px;opacity:.82;margin-bottom:12px}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-btn{border:0;border-radius:999px;font-weight:900;padding:11px 18px;cursor:pointer}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-btn[disabled]{opacity:.55;cursor:not-allowed}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-btn-on{background:#2bd67b;color:#06120b}\n        #myfx-push-7f8d4f24-c058-42e3-a286-140b2c9b8ca2 .myfx-push-btn-off{background:#ff5b5b;color:#160707}\n    <\/style>\n            <script src=\"https:\/\/myfxexpert.eu\/wp-content\/plugins\/myfxexpert-live-status-webpost-v0.1.17_PUSH_COUNTER_DEDUP\/myfxexpert-push-client.js?ver=0.1.19&#038;t=1788240347\" defer><\/script>\n        <script>\n        \/\/ v0.1.16 hard fallback: buttons must never stay unclickable even if an older cached JS\n        \/\/ or a service worker check hangs. This unlocks all push buttons on every load.\n        (function(){\n          function unlock(){\n            var cards=document.querySelectorAll('[data-myfx-push-card=\"1\"]');\n            for(var i=0;i<cards.length;i++){\n              var bs=cards[i].querySelectorAll('button[data-myfx-push]');\n              for(var j=0;j<bs.length;j++){ bs[j].disabled=false; bs[j].removeAttribute('disabled'); }\n            }\n            if(window.myfxExpertPushInitAll) window.myfxExpertPushInitAll();\n          }\n          window.addEventListener('DOMContentLoaded', unlock);\n          window.addEventListener('load', unlock);\n          setTimeout(unlock, 800);\n          setTimeout(unlock, 2000);\n        })();\n        <\/script>\n        <br \/>\n    <div id=\"myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f\" class=\"myfx-push-card\" data-symbol=\"BTCUSD\" data-key-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-vapid-public-key\" data-subscribe-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-subscribe\" data-unsubscribe-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-unsubscribe\" data-status-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/push-status\" data-sw-url=\"https:\/\/myfxexpert.eu\/wp-content\/plugins\/myfxexpert-live-status-webpost-v0.1.17_PUSH_COUNTER_DEDUP\/myfxexpert-push-sw.js?ver=0.1.19\" data-button-on-label=\"W\u0142\u0105cz powiadomienia\" data-button-off-label=\"Wy\u0142\u0105cz powiadomienia\" data-myfx-push-card=\"1\">\n        <div class=\"myfx-push-title\">Powiadomienia BITCOIN<\/div>\n        <div class=\"myfx-push-text\" data-myfx-push=\"text\">Powiadomienia s\u0105 w\u0142\u0105czone dla BTCUSD.<\/div>\n        <div class=\"myfx-push-actions\">\n            <button type=\"button\" class=\"myfx-push-btn myfx-push-btn-on\" data-myfx-push=\"button-on\" style=\"display:none\">W\u0142\u0105cz powiadomienia<\/button>\n            <button type=\"button\" class=\"myfx-push-btn myfx-push-btn-off\" data-myfx-push=\"button-off\" style=\"\">Wy\u0142\u0105cz powiadomienia<\/button>\n        <\/div>\n    <\/div>\n    <style>\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f.myfx-push-card{max-width:980px;margin-top:18px;padding:18px 20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-title{font-size:24px;font-weight:900;letter-spacing:.04em;margin-bottom:6px}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-text{font-size:14px;opacity:.82;margin-bottom:12px}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-btn{border:0;border-radius:999px;font-weight:900;padding:11px 18px;cursor:pointer}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-btn[disabled]{opacity:.55;cursor:not-allowed}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-btn-on{background:#2bd67b;color:#06120b}\n        #myfx-push-3280ca58-1e4a-43d0-a827-de43ccc2583f .myfx-push-btn-off{background:#ff5b5b;color:#160707}\n    <\/style>\n    <br \/>\n    <div id=\"myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3\" class=\"myfx-counters-card\" data-symbol=\"EURUSD\" data-stats-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-stats?symbol=EURUSD\" data-visit-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-visit\" data-like-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-like\" data-count-visit=\"1\" data-interval=\"15000\">\n        <div class=\"myfx-counters-title\">Statystyki Polubie\u0144 <strong>EURUSD<\/strong><\/div>\n        <div class=\"myfx-counters-grid\">\n            <div><span>Powiadomienia<\/span><strong data-myfx-counter=\"subscriptions\">\u2014<\/strong><\/div>\n            <div><span>Odwiedziny<\/span><strong data-myfx-counter=\"visits\">\u2014<\/strong><\/div>\n            <div><span>Polubienia<\/span><strong data-myfx-counter=\"likes\">\u2014<\/strong><\/div>\n        <\/div>\n        <button type=\"button\" class=\"myfx-like-btn\" data-myfx-like=\"button\">Lubi\u0119 to<\/button>\n    <\/div>\n    <style>\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3.myfx-counters-card{max-width:980px;margin-top:18px;padding:18px 20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-title{font-size:18px;font-weight:900;letter-spacing:.04em;margin-bottom:12px}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-grid div{background:#171b24;border-radius:14px;padding:12px 14px}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-grid span{display:block;font-size:12px;opacity:.68;margin-bottom:5px}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-grid strong{font-size:28px;line-height:1;font-weight:900}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-like-btn{border:0;border-radius:999px;background:#2bd67b;color:#06120b;font-weight:900;padding:10px 16px;cursor:pointer}\n        #myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-like-btn[disabled]{opacity:.65;cursor:default}\n        @media(max-width:640px){#myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3 .myfx-counters-grid{grid-template-columns:1fr}}\n    <\/style>\n    <script>\n    (function(){\n        const card = document.getElementById(\"myfx-counters-276871c9-4dcb-4715-ac6a-a9b9d525dba3\");\n        if (!card) return;\n        const symbol = card.getAttribute('data-symbol') || 'EURUSD';\n        const statsEndpoint = card.getAttribute('data-stats-endpoint');\n        const visitEndpoint = card.getAttribute('data-visit-endpoint');\n        const likeEndpoint = card.getAttribute('data-like-endpoint');\n        const interval = parseInt(card.getAttribute('data-interval') || '15000', 10);\n        const countVisit = card.getAttribute('data-count-visit') === '1';\n        const likeKey = 'myfx_like_' + symbol;\n        const visitKey = 'myfx_visit_session_' + symbol;\n        const likeBtn = card.querySelector('[data-myfx-like=\"button\"]');\n        const likedLabel = \"Polubione\";\n        const setCounter = function(name, value){ const n = card.querySelector('[data-myfx-counter=\"' + name + '\"]'); if(n) n.textContent = String(value ?? 0); };\n        const postJson = function(url, data){ return fetch(url, {method:'POST', credentials:'same-origin', headers:{'Content-Type':'application\/json'}, body:JSON.stringify(data)}).then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }); };\n        const render = function(stats){ stats = stats || {}; setCounter('subscriptions', stats.subscriptions || 0); setCounter('visits', stats.visits || 0); setCounter('likes', stats.likes || 0); };\n        const refresh = function(){ fetch(statsEndpoint, {cache:'no-store', credentials:'same-origin'}).then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }).then(function(p){ render(p.stats || {}); }).catch(function(){}); };\n        if (countVisit && window.sessionStorage && !sessionStorage.getItem(visitKey)) {\n            sessionStorage.setItem(visitKey, '1');\n            postJson(visitEndpoint, {symbol:symbol}).then(function(p){ render(p.stats || {}); }).catch(refresh);\n        } else {\n            refresh();\n        }\n        if (likeBtn && window.localStorage && localStorage.getItem(likeKey)) { likeBtn.textContent = likedLabel; likeBtn.disabled = true; }\n        if (likeBtn) likeBtn.addEventListener('click', function(){\n            if (window.localStorage && localStorage.getItem(likeKey)) return;\n            likeBtn.disabled = true;\n            postJson(likeEndpoint, {symbol:symbol}).then(function(p){ if(window.localStorage) localStorage.setItem(likeKey, '1'); likeBtn.textContent = likedLabel; render(p.stats || {}); }).catch(function(){ likeBtn.disabled = false; });\n        });\n        window.setInterval(refresh, interval);\n    })();\n    <\/script>\n    <br \/>\n    <div id=\"myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e\" class=\"myfx-counters-card\" data-symbol=\"BTCUSD\" data-stats-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-stats?symbol=BTCUSD\" data-visit-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-visit\" data-like-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/page-like\" data-count-visit=\"1\" data-interval=\"15000\">\n        <div class=\"myfx-counters-title\">Statystyki Polubie\u0144 <strong>BTCUSD<\/strong><\/div>\n        <div class=\"myfx-counters-grid\">\n            <div><span>Powiadomienia<\/span><strong data-myfx-counter=\"subscriptions\">\u2014<\/strong><\/div>\n            <div><span>Odwiedziny<\/span><strong data-myfx-counter=\"visits\">\u2014<\/strong><\/div>\n            <div><span>Polubienia<\/span><strong data-myfx-counter=\"likes\">\u2014<\/strong><\/div>\n        <\/div>\n        <button type=\"button\" class=\"myfx-like-btn\" data-myfx-like=\"button\">Lubi\u0119 to<\/button>\n    <\/div>\n    <style>\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e.myfx-counters-card{max-width:980px;margin-top:18px;padding:18px 20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-title{font-size:18px;font-weight:900;letter-spacing:.04em;margin-bottom:12px}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-grid div{background:#171b24;border-radius:14px;padding:12px 14px}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-grid span{display:block;font-size:12px;opacity:.68;margin-bottom:5px}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-grid strong{font-size:28px;line-height:1;font-weight:900}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-like-btn{border:0;border-radius:999px;background:#2bd67b;color:#06120b;font-weight:900;padding:10px 16px;cursor:pointer}\n        #myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-like-btn[disabled]{opacity:.65;cursor:default}\n        @media(max-width:640px){#myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e .myfx-counters-grid{grid-template-columns:1fr}}\n    <\/style>\n    <script>\n    (function(){\n        const card = document.getElementById(\"myfx-counters-efc3a3d7-ee64-49b5-b576-2303d509a57e\");\n        if (!card) return;\n        const symbol = card.getAttribute('data-symbol') || 'EURUSD';\n        const statsEndpoint = card.getAttribute('data-stats-endpoint');\n        const visitEndpoint = card.getAttribute('data-visit-endpoint');\n        const likeEndpoint = card.getAttribute('data-like-endpoint');\n        const interval = parseInt(card.getAttribute('data-interval') || '15000', 10);\n        const countVisit = card.getAttribute('data-count-visit') === '1';\n        const likeKey = 'myfx_like_' + symbol;\n        const visitKey = 'myfx_visit_session_' + symbol;\n        const likeBtn = card.querySelector('[data-myfx-like=\"button\"]');\n        const likedLabel = \"Polubione\";\n        const setCounter = function(name, value){ const n = card.querySelector('[data-myfx-counter=\"' + name + '\"]'); if(n) n.textContent = String(value ?? 0); };\n        const postJson = function(url, data){ return fetch(url, {method:'POST', credentials:'same-origin', headers:{'Content-Type':'application\/json'}, body:JSON.stringify(data)}).then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }); };\n        const render = function(stats){ stats = stats || {}; setCounter('subscriptions', stats.subscriptions || 0); setCounter('visits', stats.visits || 0); setCounter('likes', stats.likes || 0); };\n        const refresh = function(){ fetch(statsEndpoint, {cache:'no-store', credentials:'same-origin'}).then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }).then(function(p){ render(p.stats || {}); }).catch(function(){}); };\n        if (countVisit && window.sessionStorage && !sessionStorage.getItem(visitKey)) {\n            sessionStorage.setItem(visitKey, '1');\n            postJson(visitEndpoint, {symbol:symbol}).then(function(p){ render(p.stats || {}); }).catch(refresh);\n        } else {\n            refresh();\n        }\n        if (likeBtn && window.localStorage && localStorage.getItem(likeKey)) { likeBtn.textContent = likedLabel; likeBtn.disabled = true; }\n        if (likeBtn) likeBtn.addEventListener('click', function(){\n            if (window.localStorage && localStorage.getItem(likeKey)) return;\n            likeBtn.disabled = true;\n            postJson(likeEndpoint, {symbol:symbol}).then(function(p){ if(window.localStorage) localStorage.setItem(likeKey, '1'); likeBtn.textContent = likedLabel; render(p.stats || {}); }).catch(function(){ likeBtn.disabled = false; });\n        });\n        window.setInterval(refresh, interval);\n    })();\n    <\/script>\n    <br \/>\n    <div id=\"myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244\" class=\"myfx-live-card myfx-live-card-public\" data-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/live-status?symbol=EURUSD\" data-interval=\"1000\">\n        <div class=\"myfx-live-top\">\n            <div>\n                <div class=\"myfx-live-title\">Aktualny sygna\u0142<\/div>\n                <div class=\"myfx-live-symbol\" data-myfx=\"symbol\">EURUSD<\/div>\n            <\/div>\n            <div class=\"myfx-live-badge\" data-myfx=\"status\">\u0141\u0105czenie\u2026<\/div>\n        <\/div>\n\n        <div class=\"myfx-live-mainline\">\n            <div>\n                <div class=\"myfx-live-profit\" data-myfx=\"profit_points\">\u2014<\/div>\n                <div class=\"myfx-live-profit-label\">profit w punktach<\/div>\n            <\/div>\n            <div class=\"myfx-live-signal-box\">\n                <span>Aktualny sygna\u0142<\/span>\n                <strong data-myfx=\"signal\">\u2014<\/strong>\n            <\/div>\n        <\/div>\n\n        <div class=\"myfx-live-grid\">\n            <div><span>Instrument<\/span><strong data-myfx=\"instrument\">\u2014<\/strong><\/div>\n            <div><span>Kurs<\/span><strong data-myfx=\"mid\">\u2014<\/strong><\/div>\n            <div><span>Status<\/span><strong data-myfx=\"status_text\">\u2014<\/strong><\/div>\n            <div><span>Open price<\/span><strong data-myfx=\"open_price\">\u2014<\/strong><\/div>\n            <div><span>SL<\/span><strong data-myfx=\"sl\">\u2014<\/strong><\/div>\n            <div><span>TP<\/span><strong data-myfx=\"tp\">\u2014<\/strong><\/div>\n        <\/div>\n\n        <div class=\"myfx-live-foot\">Ostatnia aktualizacja: <span data-myfx=\"time\">\u2014<\/span><\/div>\n\n                <div class=\"myfx-live-shot\" data-screenshot-auto=\"1\" data-screenshot-open-url=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_OPEN.png\" data-screenshot-close-url=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_CLOSE.png\" data-screenshot-forced-url=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_OPEN.png\" data-screenshot-symbol=\"EURUSD\" data-screenshot-interval=\"30000\">\n            <div class=\"myfx-live-shot-head\">\n                <strong data-myfx-shot-title>Wykres pozycji<\/strong>\n                <a href=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_OPEN.png\" target=\"_blank\" rel=\"noopener\" data-myfx-shot-link>Otw\u00f3rz pe\u0142ny obraz<\/a>\n            <\/div>\n            <a href=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_OPEN.png\" target=\"_blank\" rel=\"noopener\" data-myfx-shot-link-wrap>\n                <img decoding=\"async\" src=\"https:\/\/myfxexpert.eu\/preview\/screens\/EURUSD_OPEN.png\" alt=\"EURUSD wykres pozycji\" loading=\"lazy\" data-myfx-shot-img \/>\n            <\/a>\n            <div class=\"myfx-live-shot-note\" data-myfx-shot-note>Od\u015bwie\u017cany z pliku FTP: EURUSD_OPEN\/CLOSE.png<\/div>\n        <\/div>\n            <\/div>\n\n    <style>\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244.myfx-live-card{max-width:760px;padding:24px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.28)}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-title{font-size:15px;opacity:.75}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-symbol{font-size:28px;font-weight:800;letter-spacing:.04em}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-badge{font-size:13px;font-weight:800;padding:7px 10px;border-radius:999px;background:#252b36;white-space:nowrap}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-mainline{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:22px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-profit{font-size:72px;line-height:1;font-weight:900;letter-spacing:-.04em;margin-top:8px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-profit-label{font-size:14px;opacity:.7}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-signal-box{min-width:170px;background:#171b24;border-radius:16px;padding:14px 16px;text-align:center}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-signal-box span{display:block;font-size:12px;opacity:.65;margin-bottom:6px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-signal-box strong{font-size:34px;line-height:1;font-weight:900;letter-spacing:.04em}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-grid div{background:#171b24;border-radius:12px;padding:12px;min-height:64px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-grid span{display:block;font-size:12px;opacity:.65;margin-bottom:5px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-grid strong{font-size:17px;word-break:break-word}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-foot{font-size:12px;opacity:.65;margin-top:14px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot{margin-top:18px;background:#07090d;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:12px;overflow:hidden}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px;font-size:13px}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot-head a{color:#b7d7ff;text-decoration:none;font-weight:700;white-space:nowrap}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot img{display:block;width:100%;height:auto;border-radius:10px;background:#000;border:1px solid rgba(255,255,255,.08)}\n        #myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot-note{font-size:11px;opacity:.55;margin-top:8px}\n        @media(max-width:640px){#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-mainline{display:block}#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-signal-box{text-align:left;margin-top:16px}#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-profit{font-size:52px}#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-grid{grid-template-columns:1fr}#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot-head{display:block}#myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244 .myfx-live-shot-head a{display:inline-block;margin-top:4px}}\n    <\/style>\n\n    <script>\n    (function(){\n        const card = document.getElementById(\"myfx-live-392a18cd-983d-4fde-9512-3b3cfc4b1244\");\n        if (!card) return;\n        const endpoint = card.getAttribute('data-endpoint');\n        const interval = parseInt(card.getAttribute('data-interval') || '1000', 10);\n        const el = function(name){ return card.querySelector('[data-myfx=\"' + name + '\"]'); };\n        const set = function(name, value){ const node = el(name); if (node) node.textContent = value; };\n        const shotBox = card.querySelector('.myfx-live-shot');\n        const shotImg = shotBox ? shotBox.querySelector('[data-myfx-shot-img]') : null;\n        const shotLinks = shotBox ? shotBox.querySelectorAll('[data-myfx-shot-link], [data-myfx-shot-link-wrap]') : [];\n        const shotNote = shotBox ? shotBox.querySelector('[data-myfx-shot-note]') : null;\n        const shotTitle = shotBox ? shotBox.querySelector('[data-myfx-shot-title]') : null;\n        const shotInterval = shotBox ? parseInt(shotBox.getAttribute('data-screenshot-interval') || '30000', 10) : 30000;\n        let lastShotKind = '';\n        let lastShotBase = '';\n        let lastShotRefreshMs = 0;\n        let lastShotSrc = '';\n        let shotLoadSeq = 0;\n        const boolish = function(value){ return value === true || value === 1 || value === '1' || String(value).toLowerCase() === 'true'; };\n        const shotBaseForState = function(hasPosition){\n            if (!shotBox) return {url:'', kind:'OPEN', title:'Wykres pozycji'};\n            const auto = shotBox.getAttribute('data-screenshot-auto') !== '0';\n            if (!auto) return {url: shotBox.getAttribute('data-screenshot-forced-url') || '', kind:'', title:'Wykres pozycji'};\n            if (hasPosition) return {url: shotBox.getAttribute('data-screenshot-open-url') || '', kind:'OPEN', title:'Wykres otwartej pozycji'};\n            return {url: shotBox.getAttribute('data-screenshot-close-url') || '', kind:'CLOSE', title:'Ostatnio zamkni\u0119ty trade'};\n        };\n        const refreshShot = function(baseInfo, force){\n            if (!shotBox || !shotImg) return;\n            const info = baseInfo || {url:lastShotBase, kind:lastShotKind, title:''};\n            const base = info.url || lastShotBase || '';\n            if (!base) return;\n            const now = Date.now();\n            const kindChanged = !!(info.kind && info.kind !== lastShotKind);\n            const baseChanged = base !== lastShotBase;\n            lastShotBase = base;\n            lastShotKind = info.kind || lastShotKind;\n            if (shotTitle && info.title) shotTitle.textContent = info.title;\n\n            \/\/ Nie podmieniaj obrazka przy ka\u017cdym odczycie LIVE statusu, bo przegl\u0105darka mruga.\n            \/\/ Obraz od\u015bwie\u017camy tylko po zmianie OPEN\/CLOSE albo co screenshot_interval.\n            if (!force && !kindChanged && !baseChanged && lastShotSrc && (now - lastShotRefreshMs) < Math.max(5000, shotInterval)) {\n                return;\n            }\n\n            const sep = base.indexOf('?') >= 0 ? '&' : '?';\n            const url = base + sep + 'v=' + now;\n            if (url === lastShotSrc) return;\n            const seq = ++shotLoadSeq;\n            const preloader = new Image();\n            preloader.onload = function(){\n                if (seq !== shotLoadSeq) return;\n                lastShotSrc = url;\n                lastShotRefreshMs = now;\n                shotImg.src = url;\n                shotLinks.forEach(function(a){ a.setAttribute('href', url); });\n                if (shotNote) {\n                    const suffix = lastShotKind ? ' z pliku ' + (shotBox.getAttribute('data-screenshot-symbol') || '') + '_' + lastShotKind + '.png' : '';\n                    shotNote.textContent = 'Ostatni odczyt screena' + suffix + ': ' + new Date().toLocaleTimeString();\n                }\n            };\n            preloader.onerror = function(){ if (shotNote) shotNote.textContent = 'Brak screena albo plik nie zosta\u0142 jeszcze wys\u0142any przez FTP.'; };\n            preloader.src = url;\n        };\n        if (shotImg) {\n            shotImg.addEventListener('error', function(){ if (shotNote) shotNote.textContent = 'Brak screena albo plik nie zosta\u0142 jeszcze wys\u0142any przez FTP.'; });\n        }\n        const fmt = function(value, digits){\n            const n = Number(value);\n            if (!Number.isFinite(n)) return '\u2014';\n            return n.toFixed(digits);\n        };\n        const fmtPrice = function(value, digits){\n            const n = Number(value);\n            if (!Number.isFinite(n) || n === 0) return '\u2014';\n            return n.toFixed(digits);\n        };\n        const fmtPoints = function(value){\n            const n = Number(value);\n            if (!Number.isFinite(n)) return '\u2014';\n            const r = Math.round(n);\n            return (r > 0 ? '+' : '') + String(r);\n        };\n        const pickSignal = function(d, hasPosition){\n            \/\/ Pole \"Aktualny sygna\u0142\" w panelu WWW ma pokazywa\u0107 stron\u0119 aktualnie\n            \/\/ otwartej pozycji. Gdy pozycja jest zamkni\u0119ta, nie pokazujemy ju\u017c\n            \/\/ ostatniego sygna\u0142u strategii (np. SELL), \u017ceby nie myli\u0107 go z pozycj\u0105.\n            if (!hasPosition) return 'BRAK';\n            return d.position_side || d.selected_strategy_signal || d.final_signal || '\u2014';\n        };\n        const refresh = function(){\n            fetch(endpoint, {cache:'no-store', credentials:'same-origin'})\n                .then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); })\n                .then(function(payload){\n                    const d = payload.data || {};\n                    const digits = Number.isFinite(Number(d.digits)) ? Number(d.digits) : 5;\n                    const live = !payload.is_stale;\n                    const hasPosition = boolish(d.has_position);\n                    const signal = pickSignal(d, hasPosition);\n                    set('symbol', d.symbol || payload.symbol || '\u2014');\n                    set('instrument', d.symbol || payload.symbol || '\u2014');\n                    set('status', live ? 'LIVE' : 'STALE');\n                    set('status_text', live ? 'LIVE' : 'BRAK \u015aWIE\u017bYCH DANYCH');\n                    set('signal', signal);\n                    set('profit_points', hasPosition ? fmtPoints(d.position_profit_points) : 'BRAK POZ.');\n                    set('mid', fmt(d.mid, digits));\n                    set('open_price', hasPosition ? fmtPrice(d.position_open_price, digits) : '\u2014');\n                    set('sl', hasPosition ? fmtPrice(d.position_sl, digits) : '\u2014');\n                    set('tp', hasPosition ? fmtPrice(d.position_tp, digits) : '\u2014');\n                    set('time', (d.time_server || d.received_at_utc || '\u2014') + (payload.age_seconds !== null ? ' \/ ' + payload.age_seconds + ' s temu' : ''));\n                    refreshShot(shotBaseForState(hasPosition), false);\n                })\n                .catch(function(){\n                    set('status', 'OFFLINE');\n                    set('status_text', 'OFFLINE');\n                });\n        };\n        refresh();\n        window.addEventListener('myfxPushSubscriptionChanged', function(e){ if(!e.detail || !e.detail.symbol || e.detail.symbol === symbol) refresh(); });\n        window.setInterval(refresh, interval);\n        if (shotBox && shotImg) {\n            window.setInterval(function(){ refreshShot(null, true); }, Math.max(5000, shotInterval));\n        }\n    })();\n    <\/script>\n    <br \/>\n    <div id=\"myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554\" class=\"myfx-events-card\" data-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/signal-events?symbol=EURUSD&#038;limit=10\" data-interval=\"5000\">\n        <div class=\"myfx-events-head\">\n            <div>\n                <div class=\"myfx-events-title\">Historia sygna\u0142\u00f3w<\/div>\n                <div class=\"myfx-events-symbol\">EURUSD<\/div>\n            <\/div>\n            <div class=\"myfx-events-state\" data-myfx-events=\"state\">\u0141\u0105czenie\u2026<\/div>\n        <\/div>\n        <div class=\"myfx-events-table-wrap\">\n            <table class=\"myfx-events-table\">\n                <thead>\n                    <tr>\n                        <th>Czas<\/th>\n                        <th>Sygna\u0142<\/th>\n                        <th>Zmiana<\/th>\n                        <th>Kurs<\/th>\n                        <th>Profit<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody data-myfx-events=\"rows\">\n                    <tr><td colspan=\"5\">Brak danych\u2026<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n        <\/div>\n    <\/div>\n\n    <style>\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554.myfx-events-card{max-width:900px;margin-top:18px;padding:20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-title{font-size:15px;opacity:.75}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-symbol{font-size:24px;font-weight:800;letter-spacing:.04em}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-state{font-size:13px;font-weight:800;padding:7px 10px;border-radius:999px;background:#252b36;white-space:nowrap}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-table-wrap{overflow-x:auto}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-table{width:100%;border-collapse:collapse;font-size:14px}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-table th,#myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.10);text-align:left;white-space:nowrap}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-table th{font-size:12px;opacity:.65;font-weight:700}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-buy{font-weight:900}\n        #myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554 .myfx-events-sell{font-weight:900}\n    <\/style>\n\n    <script>\n    (function(){\n        const card = document.getElementById(\"myfx-events-d1c24bfc-8693-4b69-a037-815b247cf554\");\n        if (!card) return;\n        const endpoint = card.getAttribute('data-endpoint');\n        const interval = parseInt(card.getAttribute('data-interval') || '5000', 10);\n        const rowsNode = card.querySelector('[data-myfx-events=\"rows\"]');\n        const stateNode = card.querySelector('[data-myfx-events=\"state\"]');\n        const esc = function(value){ return String(value === null || value === undefined ? '' : value).replace(\/[&<>\"']\/g, function(m){ return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[m]; }); };\n        const fmtPrice = function(value){ const n = Number(value); return Number.isFinite(n) ? n.toFixed(5) : '\u2014'; };\n        const fmtProfit = function(value){ const n = Number(value); if (!Number.isFinite(n)) return '\u2014'; const r = Math.round(n); return (r > 0 ? '+' : '') + String(r); };\n        const render = function(events){\n            if (!rowsNode) return;\n            if (!events || !events.length) {\n                rowsNode.innerHTML = '<tr><td colspan=\"5\">Nie zapisano jeszcze zmiany sygna\u0142u BUY\/SELL.<\/td><\/tr>';\n                return;\n            }\n            rowsNode.innerHTML = events.map(function(e){\n                const sigClass = e.signal === 'BUY' ? 'myfx-events-buy' : (e.signal === 'SELL' ? 'myfx-events-sell' : '');\n                const change = (e.previous_signal ? e.previous_signal + ' \u2192 ' : '') + (e.signal || '\u2014');\n                return '<tr>' +\n                    '<td>' + esc(e.server_time || e.received_at_utc || e.created_at || '\u2014') + '<\/td>' +\n                    '<td class=\"' + sigClass + '\">' + esc(e.signal || '\u2014') + '<\/td>' +\n                    '<td>' + esc(change) + '<\/td>' +\n                    '<td>' + esc(fmtPrice(e.price)) + '<\/td>' +\n                    '<td>' + esc(fmtProfit(e.profit_points)) + '<\/td>' +\n                '<\/tr>';\n            }).join('');\n        };\n        const refresh = function(){\n            fetch(endpoint, {cache:'no-store', credentials:'same-origin'})\n                .then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); })\n                .then(function(payload){\n                    if (stateNode) stateNode.textContent = 'LIVE';\n                    render(payload.events || []);\n                })\n                .catch(function(){\n                    if (stateNode) stateNode.textContent = 'OFFLINE';\n                });\n        };\n        refresh();\n        window.addEventListener('myfxPushSubscriptionChanged', function(ev){\n            if (!ev.detail || !ev.detail.symbol || ev.detail.symbol === symbol) refresh();\n        });\n        window.setInterval(refresh, interval);\n    })();\n    <\/script>\n    <br \/>\n    <div id=\"myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff\" class=\"myfx-trades-card\" data-endpoint=\"https:\/\/myfxexpert.eu\/index.php\/wp-json\/myfxexpert\/v1\/trade-history?symbol=EURUSD&#038;limit=20\" data-interval=\"10000\">\n        <div class=\"myfx-trades-head\">\n            <div>\n                <div class=\"myfx-trades-title\">Historia zamkni\u0119tych trad\u00f3w<\/div>\n                <div class=\"myfx-trades-symbol\">EURUSD<\/div>\n            <\/div>\n            <div class=\"myfx-trades-state\" data-myfx-trades=\"state\">\u0141\u0105czenie\u2026<\/div>\n        <\/div>\n        <div class=\"myfx-trades-table-wrap\">\n            <table class=\"myfx-trades-table\">\n                <thead>\n                    <tr>\n                        <th>Open<\/th>\n                        <th>Close<\/th>\n                        <th>Side<\/th>\n                        <th>Open price<\/th>\n                        <th>Close price<\/th>\n                        <th>Profit pkt<\/th>\n                        <th>Running Profit<\/th>\n                        <th>Screen<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody data-myfx-trades=\"rows\">\n                    <tr><td colspan=\"8\">Brak danych\u2026<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n        <\/div>\n    <\/div>\n\n    <style>\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff.myfx-trades-card{max-width:980px;margin-top:18px;padding:20px;border-radius:18px;background:#10131a;color:#f7f7f7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.18)}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-title{font-size:15px;opacity:.75}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-symbol{font-size:24px;font-weight:800;letter-spacing:.04em}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-state{font-size:13px;font-weight:800;padding:7px 10px;border-radius:999px;background:#252b36;white-space:nowrap}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-table-wrap{overflow-x:auto}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-table{width:100%;border-collapse:collapse;font-size:13px}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-table th,#myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-table td{padding:9px;border-bottom:1px solid rgba(255,255,255,.10);text-align:left;white-space:nowrap}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-trades-table th{font-size:12px;opacity:.65;font-weight:700}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-profit-plus{color:#50f68a;font-weight:900}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff .myfx-profit-minus{color:#ff6b6b;font-weight:900}\n        #myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff a{color:#b9dcff;font-weight:800;text-decoration:none}\n    <\/style>\n\n    <script>\n    (function(){\n        const card = document.getElementById(\"myfx-trades-03804670-e873-4af2-865e-b82f0680d8ff\");\n        if (!card) return;\n        const endpoint = card.getAttribute('data-endpoint');\n        const interval = parseInt(card.getAttribute('data-interval') || '10000', 10);\n        const rowsNode = card.querySelector('[data-myfx-trades=\"rows\"]');\n        const stateNode = card.querySelector('[data-myfx-trades=\"state\"]');\n        const esc = function(value){ return String(value === null || value === undefined ? '' : value).replace(\/[&<>\"']\/g, function(m){ return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[m]; }); };\n        const fmtPrice = function(value){ const n = Number(value); return Number.isFinite(n) ? n.toFixed(5) : '\u2014'; };\n        const fmtNum = function(value, d){ const n = Number(value); return Number.isFinite(n) ? n.toFixed(d) : '\u2014'; };\n        const fmtPts = function(value){ const n = Number(value); if (!Number.isFinite(n)) return '\u2014'; const r = Math.round(n); return (r > 0 ? '+' : '') + String(r); };\n        const profitClass = function(value){ const n = Number(value); return n > 0 ? 'myfx-profit-plus' : (n < 0 ? 'myfx-profit-minus' : ''); };\n        const render = function(trades){\n            if (!rowsNode) return;\n            if (!trades || !trades.length) {\n                rowsNode.innerHTML = '<tr><td colspan=\"8\">Nie zapisano jeszcze zamkni\u0119tego tradu.<\/td><\/tr>';\n                return;\n            }\n            let runningProfitPoints = 0;\n            trades.slice().reverse().forEach(function(t){\n                const pts = Number(t.profit_points);\n                if (Number.isFinite(pts)) runningProfitPoints += pts;\n                t._running_profit_points = runningProfitPoints;\n            });\n            rowsNode.innerHTML = trades.map(function(t){\n                const cls = profitClass(t.profit_points);\n                const runningCls = profitClass(t._running_profit_points);\n                const screen = t.screenshot_close_url ? '<a href=\"' + esc(t.screenshot_close_url) + '\" target=\"_blank\" rel=\"noopener\">CLOSE<\/a>' : '\u2014';\n                return '<tr>' +\n                    '<td>' + esc(t.open_time || '\u2014') + '<\/td>' +\n                    '<td>' + esc(t.close_time || '\u2014') + '<\/td>' +\n                    '<td>' + esc(t.side || '\u2014') + '<\/td>' +\n                    '<td>' + esc(fmtPrice(t.open_price)) + '<\/td>' +\n                    '<td>' + esc(fmtPrice(t.close_price)) + '<\/td>' +\n                    '<td class=\"' + cls + '\">' + esc(fmtPts(t.profit_points)) + '<\/td>' +\n                    '<td class=\"' + runningCls + '\">' + esc(fmtPts(t._running_profit_points)) + '<\/td>' +\n                    '<td>' + screen + '<\/td>' +\n                '<\/tr>';\n            }).join('');\n        };\n        const refresh = function(){\n            fetch(endpoint, {cache:'no-store', credentials:'same-origin'})\n                .then(function(r){ if(!r.ok) throw new Error('HTTP ' + r.status); return r.json(); })\n                .then(function(payload){\n                    if (stateNode) stateNode.textContent = 'LIVE';\n                    render(payload.trades || []);\n                })\n                .catch(function(){\n                    if (stateNode) stateNode.textContent = 'OFFLINE';\n                });\n        };\n        refresh();\n        window.setInterval(refresh, interval);\n    })();\n    <\/script>\n    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":9,"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/myfxexpert.eu\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}