{"id":1131,"date":"2025-05-30T08:58:39","date_gmt":"2025-05-30T08:58:39","guid":{"rendered":"https:\/\/oneroyal.academy\/?page_id=1131"},"modified":"2025-12-15T13:50:47","modified_gmt":"2025-12-15T13:50:47","slug":"margin-calculator","status":"publish","type":"page","link":"https:\/\/www.oneroyal.academy\/es\/calculators\/margin-calculator\/","title":{"rendered":"Calculadora de m\u00e1rgenes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1131\" class=\"elementor elementor-1131\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1023e5a e-con-full hero-section-wrapper e-flex e-con e-parent\" data-id=\"1023e5a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-03fdfff elementor-widget elementor-widget-template\" data-id=\"03fdfff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"75\" class=\"elementor elementor-75\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7ab5fd80 hero-section e-flex e-con-boxed e-con e-parent\" data-id=\"7ab5fd80\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-515a88e e-con-full left e-flex e-con e-child\" data-id=\"515a88e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e73acea hero-heading elementor-widget elementor-widget-heading\" data-id=\"1e73acea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">OneRoyal\u2019s Forex Margin Calculator<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f81ef53 hero-description elementor-widget elementor-widget-heading\" data-id=\"f81ef53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Looking to use leverage in forex trading? Calculate the margin requirement for different levels of leverage.\u00a0\u00a0\r\n\u00a0\r\nUnderstand the leverage you need before executing your orders. Risk management tools help you make the most of your trades.\u00a0\u00a0<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f2b1eac e-con-full ctas e-flex e-con e-child\" data-id=\"f2b1eac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-591de12a e-con-full right e-flex e-con e-child\" data-id=\"591de12a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2b6f83a e-flex e-con-boxed e-con e-parent\" data-id=\"2b6f83a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be8c7ed calculators-title elementor-widget elementor-widget-heading\" data-id=\"be8c7ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Margin Calculator<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97f0040 calculators-subtitle elementor-widget elementor-widget-heading\" data-id=\"97f0040\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Calculate your margin requirement for better risk management<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96205f7 hide-on-eu elementor-widget elementor-widget-html\" data-id=\"96205f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<body>\n    <div class=\"margin-calculator\">\n        <div class=\"calc-container\">\n            <div class=\"calc-row\">\n                <div class=\"calc-field\">\n                    <label>Account Currency<\/label>\n                    <select id=\"accountCurrency\">\n                        <option value=\"USD\">USD<\/option>\n                        <option value=\"EUR\" selected>EUR<\/option>\n                        <option value=\"AUD\">AUD<\/option>\n                        <option value=\"CAD\">CAD<\/option>\n                        <option value=\"GBP\">GBP<\/option>\n                        <option value=\"SGD\">SGD<\/option>\n                        <option value=\"NZD\">NZD<\/option>\n                        <option value=\"JPY\">JPY<\/option>\n                        <option value=\"HKD\">HKD<\/option>\n                        <option value=\"CHF\">CHF<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Currency Pair<\/label>\n                    <select id=\"currencyPair\">\n                        <option value=\"AUDCAD\">AUD\/CAD<\/option>\n                        <option value=\"AUDCHF\">AUD\/CHF<\/option>\n                        <option value=\"AUDJPY\">AUD\/JPY<\/option>\n                        <option value=\"AUDNZD\">AUD\/NZD<\/option>\n                        <option value=\"AUDSGD\">AUD\/SGD<\/option>\n                        <option value=\"AUDUSD\">AUD\/USD<\/option>\n                        <option value=\"CADCHF\">CAD\/CHF<\/option>\n                        <option value=\"CADJPY\">CAD\/JPY<\/option>\n                        <option value=\"CHFJPY\">CHF\/JPY<\/option>\n                        <option value=\"CHFSGD\">CHF\/SGD<\/option>\n                        <option value=\"EURAUD\">EUR\/AUD<\/option>\n                        <option value=\"EURCAD\">EUR\/CAD<\/option>\n                        <option value=\"EURCHF\">EUR\/CHF<\/option>\n                        <option value=\"EURDKK\">EUR\/DKK<\/option>\n                        <option value=\"EURGBP\">EUR\/GBP<\/option>\n                        <option value=\"EURHKD\">EUR\/HKD<\/option>\n                        <option value=\"EURJPY\">EUR\/JPY<\/option>\n                        <option value=\"EURNOK\">EUR\/NOK<\/option>\n                        <option value=\"EURNZD\">EUR\/NZD<\/option>\n                        <option value=\"EURPLN\">EUR\/PLN<\/option>\n                        <option value=\"EURSEK\">EUR\/SEK<\/option>\n                        <option value=\"EURSGD\">EUR\/SGD<\/option>\n                        <option value=\"EURTRY\">EUR\/TRY<\/option>\n                        <option value=\"EURUSD\" selected>EUR\/USD<\/option>\n                        <option value=\"EURZAR\">EUR\/ZAR<\/option>\n                        <option value=\"GBPAUD\">GBP\/AUD<\/option>\n                        <option value=\"GBPCAD\">GBP\/CAD<\/option>\n                        <option value=\"GBPCHF\">GBP\/CHF<\/option>\n                        <option value=\"GBPDKK\">GBP\/DKK<\/option>\n                        <option value=\"GBPJPY\">GBP\/JPY<\/option>\n                        <option value=\"GBPNOK\">GBP\/NOK<\/option>\n                        <option value=\"GBPNZD\">GBP\/NZD<\/option>\n                        <option value=\"GBPSEK\">GBP\/SEK<\/option>\n                        <option value=\"GBPSGD\">GBP\/SGD<\/option>\n                        <option value=\"GBPUSD\">GBP\/USD<\/option>\n                        <option value=\"NOKJPY\">NOK\/JPY<\/option>\n                        <option value=\"NOKSEK\">NOK\/SEK<\/option>\n                        <option value=\"NZDCAD\">NZD\/CAD<\/option>\n                        <option value=\"NZDCHF\">NZD\/CHF<\/option>\n                        <option value=\"NZDJPY\">NZD\/JPY<\/option>\n                        <option value=\"NZDUSD\">NZD\/USD<\/option>\n                        <option value=\"SEKJPY\">SEK\/JPY<\/option>\n                        <option value=\"SGDJPY\">SGD\/JPY<\/option>\n                        <option value=\"USDCAD\">USD\/CAD<\/option>\n                        <option value=\"USDCHF\">USD\/CHF<\/option>\n                        <option value=\"USDCNH\">USD\/CNH<\/option>\n                        <option value=\"USDCZK\">USD\/CZK<\/option>\n                        <option value=\"USDDKK\">USD\/DKK<\/option>\n                        <option value=\"USDHKD\">USD\/HKD<\/option>\n                        <option value=\"USDHUF\">USD\/HUF<\/option>\n                        <option value=\"USDJPY\">USD\/JPY<\/option>\n                        <option value=\"USDMXN\">USD\/MXN<\/option>\n                        <option value=\"USDNOK\">USD\/NOK<\/option>\n                        <option value=\"USDPLN\">USD\/PLN<\/option>\n                        <option value=\"USDSEK\">USD\/SEK<\/option>\n                        <option value=\"USDSGD\">USD\/SGD<\/option>\n                        <option value=\"USDTHB\">USD\/THB<\/option>\n                        <option value=\"USDTRY\">USD\/TRY<\/option>\n                        <option value=\"USDZAR\">USD\/ZAR<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Conversion Price<\/label>\n                    <input type=\"number\" id=\"conversionPrice\" value=\"2.28794\" readonly step=\"0.00001\">\n                <\/div>\n            <\/div>\n            \n            <div class=\"calc-row\">\n                <div class=\"calc-field\">\n                    <label>Leverage<\/label>\n                    <select id=\"leverage\">\n                        <option value=\"1000\" selected>1:1000<\/option>\n                        <option value=\"500\">1:500<\/option>\n                        <option value=\"400\">1:400<\/option>\n                        <option value=\"300\">1:300<\/option>\n                        <option value=\"200\">1:200<\/option>\n                        <option value=\"100\">1:100<\/option>\n                        <option value=\"50\">1:50<\/option>\n                        <option value=\"30\">1:30<\/option>\n                        <option value=\"10\">1:10<\/option>\n                        <option value=\"1\">1:1<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Trade Size<\/label>\n                    <input type=\"number\" id=\"tradeSize\" value=\"10000\" min=\"0\" step=\"0.01\">\n                <\/div>\n            <\/div>\n            <div class=\"calc-field result\">\n                <div class=\"result-box\">\n                    <div class=\"result-label\">Required Margin<\/div>\n                    <div class=\"result-value\" id=\"result\">23.76<\/div>\n                <\/div>\n            <\/div>\n            <div class=\"error-message\" id=\"errorMessage\"><\/div>\n        <\/div>\n    <\/div>\n\n<script>\n    \/\/ Currency pair configurations\n    const CURRENCY_PAIRS = [\n        { n: \"AUDCAD\", d: 5, p: 0.0001 },\n        { n: \"AUDCHF\", d: 5, p: 0.0001 },\n        { n: \"AUDJPY\", d: 3, p: 0.01 },\n        { n: \"AUDNZD\", d: 5, p: 0.0001 },\n        { n: \"AUDSGD\", d: 5, p: 0.0001 },\n        { n: \"AUDUSD\", d: 5, p: 0.0001 },\n        { n: \"CADCHF\", d: 5, p: 0.0001 },\n        { n: \"CADJPY\", d: 3, p: 0.01 },\n        { n: \"CHFJPY\", d: 3, p: 0.01 },\n        { n: \"CHFSGD\", d: 5, p: 0.0001 },\n        { n: \"EURAUD\", d: 5, p: 0.0001 },\n        { n: \"EURCAD\", d: 5, p: 0.0001 },\n        { n: \"EURCHF\", d: 5, p: 0.0001 },\n        { n: \"EURDKK\", d: 5, p: 0.0001 },\n        { n: \"EURGBP\", d: 5, p: 0.0001 },\n        { n: \"EURHKD\", d: 5, p: 0.0001 },\n        { n: \"EURJPY\", d: 3, p: 0.01 },\n        { n: \"EURNOK\", d: 5, p: 0.0001 },\n        { n: \"EURNZD\", d: 5, p: 0.0001 },\n        { n: \"EURPLN\", d: 5, p: 0.0001 },\n        { n: \"EURSEK\", d: 5, p: 0.0001 },\n        { n: \"EURSGD\", d: 5, p: 0.0001 },\n        { n: \"EURTRY\", d: 5, p: 0.0001 },\n        { n: \"EURUSD\", d: 5, p: 0.0001 },\n        { n: \"EURZAR\", d: 5, p: 0.0001 },\n        { n: \"GBPAUD\", d: 5, p: 0.0001 },\n        { n: \"GBPCAD\", d: 5, p: 0.0001 },\n        { n: \"GBPCHF\", d: 5, p: 0.0001 },\n        { n: \"GBPDKK\", d: 5, p: 0.0001 },\n        { n: \"GBPJPY\", d: 3, p: 0.01 },\n        { n: \"GBPNOK\", d: 5, p: 0.0001 },\n        { n: \"GBPNZD\", d: 5, p: 0.0001 },\n        { n: \"GBPSEK\", d: 5, p: 0.0001 },\n        { n: \"GBPSGD\", d: 5, p: 0.0001 },\n        { n: \"GBPUSD\", d: 5, p: 0.0001 },\n        { n: \"NOKJPY\", d: 3, p: 0.01 },\n        { n: \"NOKSEK\", d: 5, p: 0.0001 },\n        { n: \"NZDCAD\", d: 5, p: 0.0001 },\n        { n: \"NZDCHF\", d: 5, p: 0.0001 },\n        { n: \"NZDJPY\", d: 3, p: 0.01 },\n        { n: \"NZDUSD\", d: 5, p: 0.0001 },\n        { n: \"SEKJPY\", d: 3, p: 0.01 },\n        { n: \"SGDJPY\", d: 3, p: 0.01 },\n        { n: \"USDCAD\", d: 5, p: 0.0001 },\n        { n: \"USDCHF\", d: 5, p: 0.0001 },\n        { n: \"USDCNH\", d: 5, p: 0.0001 },\n        { n: \"USDCZK\", d: 4, p: 0.001 },\n        { n: \"USDDKK\", d: 5, p: 0.0001 },\n        { n: \"USDHKD\", d: 5, p: 0.0001 },\n        { n: \"USDHUF\", d: 3, p: 0.01 },\n        { n: \"USDJPY\", d: 3, p: 0.01 },\n        { n: \"USDMXN\", d: 5, p: 0.0001 },\n        { n: \"USDNOK\", d: 5, p: 0.0001 },\n        { n: \"USDPLN\", d: 5, p: 0.0001 },\n        { n: \"USDSEK\", d: 5, p: 0.0001 },\n        { n: \"USDSGD\", d: 5, p: 0.0001 },\n        { n: \"USDTHB\", d: 5, p: 0.0001 },\n        { n: \"USDTRY\", d: 5, p: 0.0001 },\n        { n: \"USDZAR\", d: 5, p: 0.0001 }\n    ];\n\n    \/\/ API Configuration\n    const API_ENDPOINT = 'https:\/\/api.OneRoyal.io';\n\n    let marginData = null;\n    let isLoading = false;\n\n    const accountSelect = document.getElementById('accountCurrency');\n    const pairSelect = document.getElementById('currencyPair');\n    const priceInput = document.getElementById('conversionPrice');\n    const leverageSelect = document.getElementById('leverage');\n    const sizeInput = document.getElementById('tradeSize');\n    const resultDiv = document.getElementById('result');\n    const errorMessage = document.getElementById('errorMessage');\n    const container = document.querySelector('.margin-calculator');\n\n    function showError(message) {\n        errorMessage.textContent = message;\n        errorMessage.style.display = 'block';\n        setTimeout(() => {\n            errorMessage.style.display = 'none';\n        }, 5000);\n    }\n\n    function hideError() {\n        errorMessage.style.display = 'none';\n    }\n\n    function setLoading(loading) {\n        isLoading = loading;\n        if (loading) {\n            container.classList.add('loading');\n            resultDiv.textContent = 'Loading...';\n        } else {\n            container.classList.remove('loading');\n        }\n    }\n\n    async function fetchData(url) {\n        try {\n            const response = await fetch(url);\n            if (!response.ok) {\n                throw new Error(`HTTP error! status: ${response.status}`);\n            }\n            const data = await response.json();\n            return data;\n        } catch (error) {\n            console.error('Error fetching data:', error);\n            throw error;\n        }\n    }\n\n    async function getMarginData() {\n        if (isLoading) return;\n        \n        setLoading(true);\n        hideError();\n        \n        try {\n            const url = `${API_ENDPOINT}\/api\/calculator\/margin?account=${accountSelect.value}&pair=${pairSelect.value}&volume=${sizeInput.value}`;\n            const res = await fetchData(url);\n            \n            if (!res?.result) {\n                throw new Error('Invalid response from server');\n            }\n            \n            marginData = res.result;\n            updateMargin();\n        } catch (error) {\n            showError('Failed to fetch margin data. Using demo data.');\n            updateMarginDemo();\n        } finally {\n            setLoading(false);\n        }\n    }\n\n    function updateMargin() {\n        if (!marginData) return getMarginData();\n        \n        const account = accountSelect.value;\n        const size = parseFloat(sizeInput.value) || 0;\n        const leverage = parseFloat(leverageSelect.value) || 1;\n        const pair = pairSelect.value;\n        const curs = [pair.slice(0, 3), pair.slice(3)];\n        const from = curs[0];\n        const to = curs[1];\n        const price = marginData[1].rates[account] || 1;\n        \n        let currencyPair = CURRENCY_PAIRS.find(c => c.n === pair);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === to + from);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === from + 'USD');\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === 'USD' + from);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === to + 'USD');\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === 'USD' + to);\n        if (!currencyPair) currencyPair = { d: 5, p: 0.0001 };\n        \n        const digits = currencyPair.d;\n        const value = (price * size \/ leverage).toFixed(2);\n        \n        priceInput.value = price.toFixed(digits);\n        resultDiv.textContent = value;\n    }\n\n    \/\/ Demo function for fallback\n    function updateMarginDemo() {\n        const account = accountSelect.value;\n        const size = parseFloat(sizeInput.value) || 0;\n        const leverage = parseFloat(leverageSelect.value) || 1;\n        const pair = pairSelect.value;\n        \n        \/\/ Demo exchange rates\n        const demoRates = {\n            'USD': 1.0, 'EUR': 0.93, 'GBP': 0.79, 'JPY': 0.0067,\n            'AUD': 0.65, 'CAD': 0.74, 'CHF': 1.12, 'SGD': 0.74,\n            'NZD': 0.60, 'HKD': 0.128\n        };\n        \n        const price = demoRates[account] || 1.0;\n        const value = (price * size \/ leverage).toFixed(2);\n        \n        let currencyPair = CURRENCY_PAIRS.find(c => c.n === pair);\n        if (!currencyPair) currencyPair = { d: 5, p: 0.0001 };\n        \n        priceInput.value = price.toFixed(currencyPair.d);\n        resultDiv.textContent = value;\n    }\n\n    \/\/ Debounce function to limit API calls\n    function debounce(func, wait) {\n        let timeout;\n        return function executedFunction(...args) {\n            const later = () => {\n                clearTimeout(timeout);\n                func(...args);\n            };\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n        };\n    }\n\n    \/\/ Create debounced version of getMarginData\n    const debouncedGetMarginData = debounce(getMarginData, 300);\n\n    \/\/ Event listeners\n    sizeInput.addEventListener('input', debouncedGetMarginData);\n    accountSelect.addEventListener('change', () => {\n        marginData = null;\n        getMarginData();\n    });\n    pairSelect.addEventListener('change', () => {\n        marginData = null;\n        getMarginData();\n    });\n    leverageSelect.addEventListener('change', updateMargin);\n\n    \/\/ Initialize\n    getMarginData();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-401647d hide-on-global elementor-widget elementor-widget-html\" data-id=\"401647d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<body>\n    <div class=\"margin-calculator\">\n        <div class=\"calc-container\">\n            <div class=\"calc-row\">\n                <div class=\"calc-field\">\n                    <label>Account Currency<\/label>\n                    <select id=\"accountCurrency\">\n                        <option value=\"USD\">USD<\/option>\n                        <option value=\"EUR\" selected>EUR<\/option>\n                        <option value=\"AUD\">AUD<\/option>\n                        <option value=\"CAD\">CAD<\/option>\n                        <option value=\"GBP\">GBP<\/option>\n                        <option value=\"SGD\">SGD<\/option>\n                        <option value=\"NZD\">NZD<\/option>\n                        <option value=\"JPY\">JPY<\/option>\n                        <option value=\"HKD\">HKD<\/option>\n                        <option value=\"CHF\">CHF<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Currency Pair<\/label>\n                    <select id=\"currencyPair\">\n                        <option value=\"AUDCAD\">AUD\/CAD<\/option>\n                        <option value=\"AUDCHF\">AUD\/CHF<\/option>\n                        <option value=\"AUDJPY\">AUD\/JPY<\/option>\n                        <option value=\"AUDNZD\">AUD\/NZD<\/option>\n                        <option value=\"AUDSGD\">AUD\/SGD<\/option>\n                        <option value=\"AUDUSD\">AUD\/USD<\/option>\n                        <option value=\"CADCHF\">CAD\/CHF<\/option>\n                        <option value=\"CADJPY\">CAD\/JPY<\/option>\n                        <option value=\"CHFJPY\">CHF\/JPY<\/option>\n                        <option value=\"CHFSGD\">CHF\/SGD<\/option>\n                        <option value=\"EURAUD\">EUR\/AUD<\/option>\n                        <option value=\"EURCAD\">EUR\/CAD<\/option>\n                        <option value=\"EURCHF\">EUR\/CHF<\/option>\n                        <option value=\"EURDKK\">EUR\/DKK<\/option>\n                        <option value=\"EURGBP\">EUR\/GBP<\/option>\n                        <option value=\"EURHKD\">EUR\/HKD<\/option>\n                        <option value=\"EURJPY\">EUR\/JPY<\/option>\n                        <option value=\"EURNOK\">EUR\/NOK<\/option>\n                        <option value=\"EURNZD\">EUR\/NZD<\/option>\n                        <option value=\"EURPLN\">EUR\/PLN<\/option>\n                        <option value=\"EURSEK\">EUR\/SEK<\/option>\n                        <option value=\"EURSGD\">EUR\/SGD<\/option>\n                        <option value=\"EURTRY\">EUR\/TRY<\/option>\n                        <option value=\"EURUSD\" selected>EUR\/USD<\/option>\n                        <option value=\"EURZAR\">EUR\/ZAR<\/option>\n                        <option value=\"GBPAUD\">GBP\/AUD<\/option>\n                        <option value=\"GBPCAD\">GBP\/CAD<\/option>\n                        <option value=\"GBPCHF\">GBP\/CHF<\/option>\n                        <option value=\"GBPDKK\">GBP\/DKK<\/option>\n                        <option value=\"GBPJPY\">GBP\/JPY<\/option>\n                        <option value=\"GBPNOK\">GBP\/NOK<\/option>\n                        <option value=\"GBPNZD\">GBP\/NZD<\/option>\n                        <option value=\"GBPSEK\">GBP\/SEK<\/option>\n                        <option value=\"GBPSGD\">GBP\/SGD<\/option>\n                        <option value=\"GBPUSD\">GBP\/USD<\/option>\n                        <option value=\"NOKJPY\">NOK\/JPY<\/option>\n                        <option value=\"NOKSEK\">NOK\/SEK<\/option>\n                        <option value=\"NZDCAD\">NZD\/CAD<\/option>\n                        <option value=\"NZDCHF\">NZD\/CHF<\/option>\n                        <option value=\"NZDJPY\">NZD\/JPY<\/option>\n                        <option value=\"NZDUSD\">NZD\/USD<\/option>\n                        <option value=\"SEKJPY\">SEK\/JPY<\/option>\n                        <option value=\"SGDJPY\">SGD\/JPY<\/option>\n                        <option value=\"USDCAD\">USD\/CAD<\/option>\n                        <option value=\"USDCHF\">USD\/CHF<\/option>\n                        <option value=\"USDCNH\">USD\/CNH<\/option>\n                        <option value=\"USDCZK\">USD\/CZK<\/option>\n                        <option value=\"USDDKK\">USD\/DKK<\/option>\n                        <option value=\"USDHKD\">USD\/HKD<\/option>\n                        <option value=\"USDHUF\">USD\/HUF<\/option>\n                        <option value=\"USDJPY\">USD\/JPY<\/option>\n                        <option value=\"USDMXN\">USD\/MXN<\/option>\n                        <option value=\"USDNOK\">USD\/NOK<\/option>\n                        <option value=\"USDPLN\">USD\/PLN<\/option>\n                        <option value=\"USDSEK\">USD\/SEK<\/option>\n                        <option value=\"USDSGD\">USD\/SGD<\/option>\n                        <option value=\"USDTHB\">USD\/THB<\/option>\n                        <option value=\"USDTRY\">USD\/TRY<\/option>\n                        <option value=\"USDZAR\">USD\/ZAR<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Conversion Price<\/label>\n                    <input type=\"number\" id=\"conversionPrice\" value=\"2.28794\" readonly step=\"0.00001\">\n                <\/div>\n            <\/div>\n            \n            <div class=\"calc-row\">\n                <div class=\"calc-field\">\n                    <label>Leverage<\/label>\n                    <select id=\"leverage\">\n                        <option value=\"30\" selected>1:30<\/option>\n                        <option value=\"10\">1:10<\/option>\n                        <option value=\"1\">1:1<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"calc-field\">\n                    <label>Trade Size<\/label>\n                    <input type=\"number\" id=\"tradeSize\" value=\"10000\" min=\"0\" step=\"0.01\">\n                <\/div>\n            <\/div>\n            <div class=\"calc-field result\">\n                <div class=\"result-box\">\n                    <div class=\"result-label\">Required Margin<\/div>\n                    <div class=\"result-value\" id=\"result\">23.76<\/div>\n                <\/div>\n            <\/div>\n            <div class=\"error-message\" id=\"errorMessage\"><\/div>\n        <\/div>\n    <\/div>\n\n<script>\n    \/\/ Currency pair configurations\n    const CURRENCY_PAIRS = [\n        { n: \"AUDCAD\", d: 5, p: 0.0001 },\n        { n: \"AUDCHF\", d: 5, p: 0.0001 },\n        { n: \"AUDJPY\", d: 3, p: 0.01 },\n        { n: \"AUDNZD\", d: 5, p: 0.0001 },\n        { n: \"AUDSGD\", d: 5, p: 0.0001 },\n        { n: \"AUDUSD\", d: 5, p: 0.0001 },\n        { n: \"CADCHF\", d: 5, p: 0.0001 },\n        { n: \"CADJPY\", d: 3, p: 0.01 },\n        { n: \"CHFJPY\", d: 3, p: 0.01 },\n        { n: \"CHFSGD\", d: 5, p: 0.0001 },\n        { n: \"EURAUD\", d: 5, p: 0.0001 },\n        { n: \"EURCAD\", d: 5, p: 0.0001 },\n        { n: \"EURCHF\", d: 5, p: 0.0001 },\n        { n: \"EURDKK\", d: 5, p: 0.0001 },\n        { n: \"EURGBP\", d: 5, p: 0.0001 },\n        { n: \"EURHKD\", d: 5, p: 0.0001 },\n        { n: \"EURJPY\", d: 3, p: 0.01 },\n        { n: \"EURNOK\", d: 5, p: 0.0001 },\n        { n: \"EURNZD\", d: 5, p: 0.0001 },\n        { n: \"EURPLN\", d: 5, p: 0.0001 },\n        { n: \"EURSEK\", d: 5, p: 0.0001 },\n        { n: \"EURSGD\", d: 5, p: 0.0001 },\n        { n: \"EURTRY\", d: 5, p: 0.0001 },\n        { n: \"EURUSD\", d: 5, p: 0.0001 },\n        { n: \"EURZAR\", d: 5, p: 0.0001 },\n        { n: \"GBPAUD\", d: 5, p: 0.0001 },\n        { n: \"GBPCAD\", d: 5, p: 0.0001 },\n        { n: \"GBPCHF\", d: 5, p: 0.0001 },\n        { n: \"GBPDKK\", d: 5, p: 0.0001 },\n        { n: \"GBPJPY\", d: 3, p: 0.01 },\n        { n: \"GBPNOK\", d: 5, p: 0.0001 },\n        { n: \"GBPNZD\", d: 5, p: 0.0001 },\n        { n: \"GBPSEK\", d: 5, p: 0.0001 },\n        { n: \"GBPSGD\", d: 5, p: 0.0001 },\n        { n: \"GBPUSD\", d: 5, p: 0.0001 },\n        { n: \"NOKJPY\", d: 3, p: 0.01 },\n        { n: \"NOKSEK\", d: 5, p: 0.0001 },\n        { n: \"NZDCAD\", d: 5, p: 0.0001 },\n        { n: \"NZDCHF\", d: 5, p: 0.0001 },\n        { n: \"NZDJPY\", d: 3, p: 0.01 },\n        { n: \"NZDUSD\", d: 5, p: 0.0001 },\n        { n: \"SEKJPY\", d: 3, p: 0.01 },\n        { n: \"SGDJPY\", d: 3, p: 0.01 },\n        { n: \"USDCAD\", d: 5, p: 0.0001 },\n        { n: \"USDCHF\", d: 5, p: 0.0001 },\n        { n: \"USDCNH\", d: 5, p: 0.0001 },\n        { n: \"USDCZK\", d: 4, p: 0.001 },\n        { n: \"USDDKK\", d: 5, p: 0.0001 },\n        { n: \"USDHKD\", d: 5, p: 0.0001 },\n        { n: \"USDHUF\", d: 3, p: 0.01 },\n        { n: \"USDJPY\", d: 3, p: 0.01 },\n        { n: \"USDMXN\", d: 5, p: 0.0001 },\n        { n: \"USDNOK\", d: 5, p: 0.0001 },\n        { n: \"USDPLN\", d: 5, p: 0.0001 },\n        { n: \"USDSEK\", d: 5, p: 0.0001 },\n        { n: \"USDSGD\", d: 5, p: 0.0001 },\n        { n: \"USDTHB\", d: 5, p: 0.0001 },\n        { n: \"USDTRY\", d: 5, p: 0.0001 },\n        { n: \"USDZAR\", d: 5, p: 0.0001 }\n    ];\n\n    \/\/ API Configuration\n    const API_ENDPOINT = 'https:\/\/api.OneRoyal.io';\n\n    let marginData = null;\n    let isLoading = false;\n\n    const accountSelect = document.getElementById('accountCurrency');\n    const pairSelect = document.getElementById('currencyPair');\n    const priceInput = document.getElementById('conversionPrice');\n    const leverageSelect = document.getElementById('leverage');\n    const sizeInput = document.getElementById('tradeSize');\n    const resultDiv = document.getElementById('result');\n    const errorMessage = document.getElementById('errorMessage');\n    const container = document.querySelector('.margin-calculator');\n\n    function showError(message) {\n        errorMessage.textContent = message;\n        errorMessage.style.display = 'block';\n        setTimeout(() => {\n            errorMessage.style.display = 'none';\n        }, 5000);\n    }\n\n    function hideError() {\n        errorMessage.style.display = 'none';\n    }\n\n    function setLoading(loading) {\n        isLoading = loading;\n        if (loading) {\n            container.classList.add('loading');\n            resultDiv.textContent = 'Loading...';\n        } else {\n            container.classList.remove('loading');\n        }\n    }\n\n    async function fetchData(url) {\n        try {\n            const response = await fetch(url);\n            if (!response.ok) {\n                throw new Error(`HTTP error! status: ${response.status}`);\n            }\n            const data = await response.json();\n            return data;\n        } catch (error) {\n            console.error('Error fetching data:', error);\n            throw error;\n        }\n    }\n\n    async function getMarginData() {\n        if (isLoading) return;\n        \n        setLoading(true);\n        hideError();\n        \n        try {\n            const url = `${API_ENDPOINT}\/api\/calculator\/margin?account=${accountSelect.value}&pair=${pairSelect.value}&volume=${sizeInput.value}`;\n            const res = await fetchData(url);\n            \n            if (!res?.result) {\n                throw new Error('Invalid response from server');\n            }\n            \n            marginData = res.result;\n            updateMargin();\n        } catch (error) {\n            showError('Failed to fetch margin data. Using demo data.');\n            updateMarginDemo();\n        } finally {\n            setLoading(false);\n        }\n    }\n\n    function updateMargin() {\n        if (!marginData) return getMarginData();\n        \n        const account = accountSelect.value;\n        const size = parseFloat(sizeInput.value) || 0;\n        const leverage = parseFloat(leverageSelect.value) || 1;\n        const pair = pairSelect.value;\n        const curs = [pair.slice(0, 3), pair.slice(3)];\n        const from = curs[0];\n        const to = curs[1];\n        const price = marginData[1].rates[account] || 1;\n        \n        let currencyPair = CURRENCY_PAIRS.find(c => c.n === pair);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === to + from);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === from + 'USD');\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === 'USD' + from);\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === to + 'USD');\n        if (!currencyPair) currencyPair = CURRENCY_PAIRS.find(c => c.n === 'USD' + to);\n        if (!currencyPair) currencyPair = { d: 5, p: 0.0001 };\n        \n        const digits = currencyPair.d;\n        const value = (price * size \/ leverage).toFixed(2);\n        \n        priceInput.value = price.toFixed(digits);\n        resultDiv.textContent = value;\n    }\n\n    \/\/ Demo function for fallback\n    function updateMarginDemo() {\n        const account = accountSelect.value;\n        const size = parseFloat(sizeInput.value) || 0;\n        const leverage = parseFloat(leverageSelect.value) || 1;\n        const pair = pairSelect.value;\n        \n        \/\/ Demo exchange rates\n        const demoRates = {\n            'USD': 1.0, 'EUR': 0.93, 'GBP': 0.79, 'JPY': 0.0067,\n            'AUD': 0.65, 'CAD': 0.74, 'CHF': 1.12, 'SGD': 0.74,\n            'NZD': 0.60, 'HKD': 0.128\n        };\n        \n        const price = demoRates[account] || 1.0;\n        const value = (price * size \/ leverage).toFixed(2);\n        \n        let currencyPair = CURRENCY_PAIRS.find(c => c.n === pair);\n        if (!currencyPair) currencyPair = { d: 5, p: 0.0001 };\n        \n        priceInput.value = price.toFixed(currencyPair.d);\n        resultDiv.textContent = value;\n    }\n\n    \/\/ Debounce function to limit API calls\n    function debounce(func, wait) {\n        let timeout;\n        return function executedFunction(...args) {\n            const later = () => {\n                clearTimeout(timeout);\n                func(...args);\n            };\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n        };\n    }\n\n    \/\/ Create debounced version of getMarginData\n    const debouncedGetMarginData = debounce(getMarginData, 300);\n\n    \/\/ Event listeners\n    sizeInput.addEventListener('input', debouncedGetMarginData);\n    accountSelect.addEventListener('change', () => {\n        marginData = null;\n        getMarginData();\n    });\n    pairSelect.addEventListener('change', () => {\n        marginData = null;\n        getMarginData();\n    });\n    leverageSelect.addEventListener('change', updateMargin);\n\n    \/\/ Initialize\n    getMarginData();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5e47abc e-con-full e-flex e-con e-child\" data-id=\"5e47abc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25b2b39 elementor-widget elementor-widget-text-editor\" data-id=\"25b2b39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n<path d=\"M12 16V12M12 8H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"#111827\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>\n<p>Let\u2019s say, your base currency is EUR and you wish to trade the GBP\/USD forex pair. You will select EUR from the dropdown in the Account Currency field and GBP\/USD from the dropdown in the Currency Pair field. The tool instantly shows you the Conversion Price at top right of the calculator.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff785aa elementor-widget elementor-widget-text-editor\" data-id=\"ff785aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Let\u2019s assume you wish to trade with leverage of 1:50 and your trade size is 10,000. You can select 1:50 in the Leverage dropdown and input 10000 in the Trade Size field. You instantly see the Required Margin in the bottom right field.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Margin Calculator Calculate your margin requirement for better risk management Account Currency USDEURAUDCADGBPSGDNZDJPYHKDCHF Currency Pair AUD\/CADAUD\/CHFAUD\/JPYAUD\/NZDAUD\/SGDAUD\/USDCAD\/CHFCAD\/JPYCHF\/JPYCHF\/SGDEUR\/AUDEUR\/CADEUR\/CHFEUR\/DKKEUR\/GBPEUR\/HKDEUR\/JPYEUR\/NOKEUR\/NZDEUR\/PLNEUR\/SEKEUR\/SGDEUR\/TRYEUR\/USDEUR\/ZARGBP\/AUDGBP\/CADGBP\/CHFGBP\/DKKGBP\/JPYGBP\/NOKGBP\/NZDGBP\/SEKGBP\/SGDGBP\/USDNOK\/JPYNOK\/SEKNZD\/CADNZD\/CHFNZD\/JPYNZD\/USDSEK\/JPYSGD\/JPYUSD\/CADUSD\/CHFUSD\/CNHUSD\/CZKUSD\/DKKUSD\/HKDUSD\/HUFUSD\/JPYUSD\/MXNUSD\/NOKUSD\/PLNUSD\/SEKUSD\/SGDUSD\/THBUSD\/TRYUSD\/ZAR Conversion Price Leverage 1:10001:5001:4001:3001:2001:1001:501:301:101:1 Trade Size Required Margin 23.76 Account Currency USDEURAUDCADGBPSGDNZDJPYHKDCHF Currency Pair AUD\/CADAUD\/CHFAUD\/JPYAUD\/NZDAUD\/SGDAUD\/USDCAD\/CHFCAD\/JPYCHF\/JPYCHF\/SGDEUR\/AUDEUR\/CADEUR\/CHFEUR\/DKKEUR\/GBPEUR\/HKDEUR\/JPYEUR\/NOKEUR\/NZDEUR\/PLNEUR\/SEKEUR\/SGDEUR\/TRYEUR\/USDEUR\/ZARGBP\/AUDGBP\/CADGBP\/CHFGBP\/DKKGBP\/JPYGBP\/NOKGBP\/NZDGBP\/SEKGBP\/SGDGBP\/USDNOK\/JPYNOK\/SEKNZD\/CADNZD\/CHFNZD\/JPYNZD\/USDSEK\/JPYSGD\/JPYUSD\/CADUSD\/CHFUSD\/CNHUSD\/CZKUSD\/DKKUSD\/HKDUSD\/HUFUSD\/JPYUSD\/MXNUSD\/NOKUSD\/PLNUSD\/SEKUSD\/SGDUSD\/THBUSD\/TRYUSD\/ZAR Conversion Price Leverage 1:301:101:1 Trade Size Required Margin 23.76 Let\u2019s say, your base currency is EUR and you wish to trade the GBP\/USD forex [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":1127,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1131","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/pages\/1131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/comments?post=1131"}],"version-history":[{"count":45,"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/pages\/1131\/revisions"}],"predecessor-version":[{"id":2089,"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/pages\/1131\/revisions\/2089"}],"up":[{"embeddable":true,"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/pages\/1127"}],"wp:attachment":[{"href":"https:\/\/www.oneroyal.academy\/es\/wp-json\/wp\/v2\/media?parent=1131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}