{"id":13263,"date":"2023-05-15T11:41:50","date_gmt":"2023-05-15T11:41:50","guid":{"rendered":"https:\/\/finpros.com\/chi-so\/"},"modified":"2025-06-24T11:06:22","modified_gmt":"2025-06-24T11:06:22","slug":"chi-so","status":"publish","type":"page","link":"https:\/\/finpros.com\/vi\/chi-so\/","title":{"rendered":"Ch\u1ec9 s\u1ed1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13263\" class=\"elementor elementor-13263 elementor-956\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5ab52834 e-con-full calculator-sub-banner e-flex e-con e-parent\" data-id=\"5ab52834\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-290f322f e-flex e-con-boxed e-con e-child\" data-id=\"290f322f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-18579459 elementor-widget elementor-widget-heading\" data-id=\"18579459\" data-element_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\">Ch\u1ec9 s\u1ed1<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a6a0e34 elementor-widget elementor-widget-heading\" data-id=\"1a6a0e34\" data-element_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\">CFD ch\u1ec9 s\u1ed1 cho ph\u00e9p c\u00e1c nh\u00e0 giao d\u1ecbch suy \u0111o\u00e1n v\u1ec1 bi\u1ebfn \u0111\u1ed9ng gi\u00e1 c\u1ee7a c\u00e1c ch\u1ec9 s\u1ed1 th\u1ecb tr\u01b0\u1eddng ch\u1ee9ng kho\u00e1n l\u1edbn\u2014nh\u01b0 S&amp;P 500, NASDAQ, FTSE 100 ho\u1eb7c DAX, l\u00fd t\u01b0\u1edfng cho nh\u1eefng ng\u01b0\u1eddi mu\u1ed1n t\u1eadn d\u1ee5ng xu h\u01b0\u1edbng th\u1ecb tr\u01b0\u1eddng ho\u1eb7c ph\u00f2ng ng\u1eeba r\u1ee7i ro c\u1ed5 phi\u1ebfu.<\/p>\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<div class=\"elementor-element elementor-element-354ad985 e-con-full e-flex e-con e-child\" data-id=\"354ad985\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-76a8acad e-flex e-con-boxed e-con e-child\" data-id=\"76a8acad\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17bfe1ef elementor-align-left calc-banner-link bread-links elementor-widget elementor-widget-breadcrumbs\" data-id=\"17bfe1ef\" data-element_type=\"widget\" data-widget_type=\"breadcrumbs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p id=\"breadcrumbs\"><span><span><a href=\"https:\/\/finpros.com\/\">Trang ch\u1ee7<\/a><\/span><\/span><\/p>\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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7249516 e-flex e-con-boxed e-con e-parent\" data-id=\"7249516\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e0de0f3 e-con-full e-flex e-con e-child\" data-id=\"e0de0f3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e654c0e elementor-widget elementor-widget-heading\" data-id=\"e654c0e\" data-element_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\">Gi\u1edbi thi\u1ec7u v\u1ec1 <span>giao d\u1ecbch ch\u1ec9 s\u1ed1<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75187ee elementor-widget elementor-widget-text-editor\" data-id=\"75187ee\" data-element_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>Giao d\u1ecbch CFD ch\u1ec9 s\u1ed1 cho ph\u00e9p b\u1ea1n \u0111\u1ea7u c\u01a1 v\u00e0o bi\u1ebfn \u0111\u1ed9ng gi\u00e1 c\u1ee7a c\u00e1c ch\u1ec9 s\u1ed1 th\u1ecb tr\u01b0\u1eddng ch\u1ee9ng kho\u00e1n to\u00e0n c\u1ea7u m\u00e0 kh\u00f4ng c\u1ea7n s\u1edf h\u1eefu t\u00e0i s\u1ea3n c\u01a1 b\u1ea3n.<br><br> T\u1eeb S&amp;P 500 v\u00e0 Dow Jones \u0111\u1ebfn FTSE 100 v\u00e0 DAX 40, CFD ch\u1ec9 s\u1ed1 gi\u00fap b\u1ea1n ti\u1ebfp c\u1eadn hi\u1ec7u su\u1ea5t c\u1ee7a to\u00e0n b\u1ed9 n\u1ec1n kinh t\u1ebf v\u00e0 l\u0129nh v\u1ef1c th\u00f4ng qua m\u1ed9t giao d\u1ecbch duy nh\u1ea5t.<\/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-d540b08 elementor-align-left elementor-widget__width-auto btn-arrow-rotate elementor-widget elementor-widget-button\" data-id=\"d540b08\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/my.finpros.com\/register\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">B\u1eaft \u0111\u1ea7u ngay<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\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-6e63619 e-con-full e-flex e-con e-child\" data-id=\"6e63619\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c229fef elementor-widget elementor-widget-image\" data-id=\"c229fef\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"525\" height=\"362\" src=\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png\" class=\"attachment-large size-large wp-image-10132\" alt=\"\" srcset=\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png 571w, https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4-300x207.png 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/>\t\t\t\t\t\t\t\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<div class=\"elementor-element elementor-element-7a4f04f e-con-full e-flex e-con e-parent\" data-id=\"7a4f04f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a3bc259 elementor-widget elementor-widget-heading\" data-id=\"a3bc259\" data-element_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\">Giao d\u1ecbch ch\u1ec9 s\u1ed1<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1c918f elementor-widget elementor-widget-text-editor\" data-id=\"a1c918f\" data-element_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<h2>B\u1ea3ng <b>gi\u00e1<\/b> h\u00e0ng \u0111\u1ea7u tr\u00ean th\u1ecb tr\u01b0\u1eddng<\/h2>\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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9be504a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9be504a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f895cf8\" data-id=\"f895cf8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-208659a new-table-cs elementor-widget elementor-widget-shortcode\" data-id=\"208659a\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<!-- Chart Library -->\n<script src=\"https:\/\/unpkg.com\/lightweight-charts@3.8.0\/dist\/lightweight-charts.standalone.production.js\"><\/script>\n\n<!-- Custom CSS for full-width tabs -->\n<style type=\"text\/css\">\n    \/* Make tabs cover full length *\/\n    .mt5-data-viewer-container .category-tabs {\n        display: flex;\n        width: 100%;\n        margin-bottom: 15px;\n        border-bottom: 1px solid #ddd;\n    }\n    \n    .mt5-data-viewer-container .category-tab {\n        flex: 1;\n        text-align: center;\n        padding: 10px 5px;\n        background-color: #f8f8f8;\n        border: 1px solid #ddd;\n        border-bottom: none;\n        cursor: pointer;\n        margin: 0 2px;\n        border-radius: 5px 5px 0 0;\n        font-weight: normal;\n        transition: all 0.3s ease;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n    \n    \/* Category Icon Styles *\/\n    .mt5-data-viewer-container .category-icon {\n        width: 20px;\n        height: 20px;\n        margin-right: 7px;\n        display: inline-block;\n        background-size: contain;\n        background-position: center;\n        background-repeat: no-repeat;\n        vertical-align: middle;\n        filter: brightness(0); \/* Make icons take their color from parent *\/\n    }\n    \n    .mt5-data-viewer-container .icon-popular {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/popular.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-forex {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/forex.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-metals {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/metals.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-energy {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/energy.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-indices {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/indices.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-crypto {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/crypto.svg');\n    }\n    \n    .mt5-data-viewer-container .icon-stocks {\n        background-image: url('https:\/\/finpros.com\/wp-content\/plugins\/mt5-data-viewer\/assets\/icons\/stocks.svg');\n    }\n    \n    \/* Tab States *\/\n    .mt5-data-viewer-container .category-tab {\n        color: #555;\n    }\n    \n    .mt5-data-viewer-container .category-tab:hover {\n        color: #333;\n        background-color: #f0f0f0;\n    }\n    \n    .mt5-data-viewer-container .category-tab.active {\n        color: #0073aa;\n        background-color: #ffffff;\n        border-bottom: 2px solid #0073aa;\n        font-weight: bold;\n    }\n    \n    .mt5-data-viewer-container .category-tab:hover .category-icon {\n        filter: brightness(0); \/* Black for hover *\/\n    }\n    \n    .mt5-data-viewer-container .category-tab.active .category-icon {\n        filter: brightness(0) invert(48%) sepia(85%) saturate(2245%) hue-rotate(175deg) brightness(90%) contrast(101%); \/* Blue color for active *\/\n    }\n    \n    \/* Make timeframe tabs cover full length *\/\n    .mt5-data-viewer-container .timeframe-selector {\n        display: flex;\n        width: 100%;\n        margin: 10px 0;\n    }\n    \n    .mt5-data-viewer-container .timeframe-btn {\n        flex: 1;\n        text-align: center;\n        padding: 6px 3px;\n        background-color: #f8f8f8;\n        border: 1px solid #ddd;\n        cursor: pointer;\n        margin: 0 2px;\n        border-radius: 3px;\n        font-size: 13px;\n        transition: all 0.3s ease;\n    }\n    \n    .mt5-data-viewer-container .timeframe-btn:hover {\n        background-color: #f0f0f0;\n    }\n    \n    .mt5-data-viewer-container .timeframe-btn.active {\n        background-color: #0073aa;\n        color: white;\n        border-color: #0073aa;\n    }\n    \n    \/* Improve table styling *\/\n    .mt5-data-viewer-container .mt5-market-table {\n        width: 100%;\n        border-collapse: collapse;\n    }\n    \n    .mt5-data-viewer-container .mt5-market-table th {\n        background-color: #f2f2f2;\n        padding: 10px;\n        text-align: left;\n        border-bottom: 2px solid #ddd;\n    }\n    \n    .mt5-data-viewer-container .mt5-market-table td {\n        padding: 8px 10px;\n        border-bottom: 1px solid #eee;\n    }\n    \n    .mt5-data-viewer-container .mt5-market-table tr:hover {\n        background-color: #f9f9f9;\n    }\n    \n    \/* Style for graph buttons *\/\n    .mt5-data-viewer-container .view-chart-btn,\n    .mt5-data-viewer-container .trade-btn {\n        display: inline-block;\n        background-color: #0073aa;\n        color: white;\n        border: none;\n        padding: 6px 12px;\n        border-radius: 4px;\n        cursor: pointer;\n        width: 100%;\n        box-sizing: border-box;\n        text-align: center;\n    }\n    \n    .mt5-data-viewer-container .view-chart-btn:hover,\n    .mt5-data-viewer-container .trade-btn:hover {\n        background-color: #005177;\n    }\n    \n    \/* Loading overlay for market data *\/\n    .mt5-data-viewer-container .loading-overlay {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background-color: rgba(255, 255, 255, 0.9);\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        align-items: center;\n        z-index: 10;\n        min-height: 200px;\n    }\n    \n    .mt5-data-viewer-container .market-data-container {\n        position: relative;\n        min-height: 200px;\n    }\n    \n    .mt5-data-viewer-container .loading-overlay .spinner {\n        width: 40px;\n        height: 40px;\n        border: 3px solid rgba(0, 115, 170, 0.3);\n        border-radius: 50%;\n        border-top-color: #0073aa;\n        animation: spin 1s ease-in-out infinite;\n        margin-bottom: 15px;\n    }\n    \n    .mt5-data-viewer-container .loading-overlay p {\n        margin: 0;\n        color: #555;\n        font-size: 14px;\n    }\n    \n    @keyframes spin {\n        to { transform: rotate(360deg); }\n    }\n\n    \/* Loading spinner for chart *\/\n    .mt5-data-viewer-container .chart-spinner {\n        display: inline-block;\n        width: 40px;\n        height: 40px;\n        margin: 40px auto;\n        border: 3px solid rgba(0, 115, 170, 0.3);\n        border-radius: 50%;\n        border-top-color: #0073aa;\n        animation: chart-spin 1s ease-in-out infinite;\n    }\n    \n    @keyframes chart-spin {\n        to { transform: rotate(360deg); }\n    }\n    \n    .mt5-data-viewer-container .chart-loading-container {\n        width: 100%;\n        height: 200px;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        background-color: rgba(255, 255, 255, 0.8);\n    }\n    \n    \/* Responsive styles for smaller screens *\/\n    @media (max-width: 768px) {\n        .mt5-data-viewer-container .category-tab {\n            padding: 8px 5px;\n            font-size: 14px;\n        }\n        \n        .mt5-data-viewer-container .category-icon {\n            width: 16px;\n            height: 16px;\n            margin-right: 5px;\n        }\n    }\n    \n    @media (max-width: 480px) {\n        .mt5-data-viewer-container .category-tab {\n            padding: 8px 3px;\n            font-size: 12px;\n        }\n        \n        .mt5-data-viewer-container .category-icon {\n            width: 14px;\n            height: 14px;\n            margin-right: 3px;\n        }\n    }\n<\/style>\n\n<div id=\"mt5-data-viewer-69e0242138e0f\" class=\"mt5-data-viewer-container\">\n    \n    <!-- Category Tabs -->\n    <div class=\"category-tabs\"><button class=\"category-tab active\" data-category=\"indices\"><span class=\"category-icon icon-indices\"><\/span>Ch\u1ec9 s\u1ed1<\/button><\/div>    \n    <!-- Market Data Table -->\n    <div class=\"market-data-container\">\n        <div class=\"loading-overlay\">\n            <div class=\"spinner\"><\/div>\n            <p>\u0110ang t\u1ea3i d\u1eef li\u1ec7u th\u1ecb tr\u01b0\u1eddng...<\/p>\n        <\/div>\n        <div class=\"market-data-content\"><\/div>\n    <\/div>\n    \n        <!-- Chart Container -->\n    <div class=\"chart-container\" style=\"display: none;\">\n        <div class=\"chart-header\">\n            <h3 class=\"chart-symbol-name\"><\/h3>\n            <button class=\"close-chart-btn\">&times;<\/button>\n        <\/div>\n        \n        <!-- Timeframe Selector -->\n        <div class=\"timeframe-selector\"><button class=\"timeframe-btn\" data-timeframe=\"M1\">M1<\/button><button class=\"timeframe-btn\" data-timeframe=\"M5\">M5<\/button><button class=\"timeframe-btn\" data-timeframe=\"M15\">M15<\/button><button class=\"timeframe-btn\" data-timeframe=\"M30\">M30<\/button><button class=\"timeframe-btn\" data-timeframe=\"H1\">H1<\/button><button class=\"timeframe-btn\" data-timeframe=\"H4\">H4<\/button><button class=\"timeframe-btn active\" data-timeframe=\"D1\">D1<\/button><button class=\"timeframe-btn\" data-timeframe=\"W1\">W1<\/button><button class=\"timeframe-btn\" data-timeframe=\"MN\">MN<\/button><\/div>        \n        <!-- Chart Element -->\n        <div class=\"chart-element\"><\/div>\n        \n        <!-- Update Status -->\n        <div class=\"chart-update-status\" style=\"text-align: right; font-size: 12px; color: #888; padding: 5px;\"><\/div>\n    <\/div>\n        \n    <!-- Error Message Container -->\n    <div class=\"error-message\" style=\"display: none;\"><\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\njQuery(document).ready(function($) {\n    \/\/ Configuration variables from PHP - directly included without escaping\n    var containerId = 'mt5-data-viewer-69e0242138e0f';\n    var container = $('#' + containerId);\n    var defaultCategory = 'indices';\n    var ajaxUrl = 'https:\/\/finpros.com\/wp-admin\/admin-ajax.php';\n    var nonce = 'fb112200ae';\n    var refreshRate = 3000;\n    var defaultTimeframe = 'D1';\n    \n    \/\/ Chart-related variables\n    var activeSymbol = null;\n    var activeTimeframe = null;\n    var chartObj = null;\n    var candleSeriesObj = null;\n    var updaterTimer = null;\n    var lastUpdateTime = 0;\n    \n    \/\/ Initialize market data\n    loadMarketData(defaultCategory);\n    \n    \/\/ === EVENT HANDLERS ===\n    \n    \/\/ Category tabs\n    container.find('.category-tab').on('click', function() {\n        var category = $(this).data('category');\n        container.find('.category-tab').removeClass('active');\n        $(this).addClass('active');\n        loadMarketData(category);\n    });\n    \n    \/\/ View chart button\n    container.on('click', '.view-chart-btn', function() {\n        var symbol = $(this).data('symbol');\n        displayChart(symbol);\n    });\n    \n    \/\/ Close chart button\n    container.find('.close-chart-btn').on('click', function() {\n        closeChart();\n    });\n    \n    \/\/ Timeframe selector\n    container.find('.timeframe-btn').on('click', function() {\n        var timeframe = $(this).data('timeframe');\n        container.find('.timeframe-btn').removeClass('active');\n        $(this).addClass('active');\n        \n        if (activeSymbol) {\n            activeTimeframe = timeframe;\n            \/\/ Use the stored digit count from window.currentSymbolDigits\n            var digits = window.currentSymbolDigits || 5;\n            loadChartData(activeSymbol, timeframe, digits);\n            updateChartStatus(window.MT5DataViewer_getString('timeframeChanged') + ' ' + timeframe);\n        }\n    });\n    \n    \/\/ === MARKET DATA FUNCTIONS ===\n    \n    \/\/ Load market data for category\n    function loadMarketData(category) {\n        container.find('.loading-overlay').show();\n        \n        $.ajax({\n            url: ajaxUrl,\n            type: 'GET',\n            data: {\n                action: 'get_mt5_data',\n                nonce: nonce,\n                category: category\n            },\n            success: function(response) {\n                container.find('.loading-overlay').hide();\n                \n                if (response.success) {\n                    if (response.data) {\n                        var tableHtml = generateMarketTable(response.data);\n                        container.find('.market-data-content').html(tableHtml);\n                        startPriceUpdates();\n                    } else {\n                        showError(window.MT5DataViewer_getString('errorLoadingData') + ': ' + window.MT5DataViewer_getString('noDataAvailable'));\n                    }\n                } else {\n                    showError(window.MT5DataViewer_getString('errorLoadingData') + ': ' + (response.message || window.MT5DataViewer_getString('noDataAvailable')));\n                }\n            },\n            error: function(xhr, status, error) {\n                container.find('.loading-overlay').hide();\n                showError(window.MT5DataViewer_getString('ajaxError') + ': ' + error);\n            }\n        });\n    }\n    \n    \/\/ Generate market table HTML\n    function generateMarketTable(data) {\n        var tableHtml = '<table class=\"mt5-market-table\"><thead><tr><th>Symbol<\/th><th>Bid<\/th><th>Ask<\/th><th>Change<\/th><th>Graph<\/th><th>Action<\/th><\/tr><\/thead><tbody>';\n        \n        for (var symbol in data) {\n            \n            var symbolData = data[symbol];\n            var digits = symbolData.digit || 5;\n            \n            \/\/ Remove . suffix from display name\n            var displaySymbol = symbol.replace(\/\\.$\/, '');\n            \n            tableHtml += '<tr data-symbol=\"' + symbol + '\" data-digit=\"' + digits + '\">';\n            tableHtml += '<td class=\"symbol-name\">' + displaySymbol + '<\/td>';\n            tableHtml += '<td class=\"bid-price\">' + formatPrice(symbolData.bid, digits) + '<\/td>';\n            tableHtml += '<td class=\"ask-price\">' + formatPrice(symbolData.ask, digits) + '<\/td>';\n            tableHtml += '<td class=\"price-change-cell\">' + formatPriceChange(symbolData.bid, symbolData.previous_close) + '<\/td>';\n            tableHtml += '<td class=\"chart-action\"><button class=\"view-chart-btn\" data-symbol=\"' + symbol + '\">Chart<\/button><\/td>';\n            tableHtml += '<td class=\"trade-action\"><button class=\"trade-btn\" data-symbol=\"' + symbol + '\" onclick=\"window.open(\\'https:\/\/my.finpros.com\/login\\', \\'_blank\\')\">Trade<\/button><\/td>';\n            tableHtml += '<\/tr>';\n        }\n        \n        tableHtml += '<\/tbody><\/table>';\n        return tableHtml;\n    }\n    \n    \/\/ Format price with decimals\n    function formatPrice(price, decimals) {\n        return parseFloat(price).toFixed(decimals);\n    }\n    \n    \/\/ Format price change\n    function formatPriceChange(price, previousPrice) {\n        var change = price - previousPrice;\n        var changePercent = previousPrice > 0 ? (change \/ previousPrice) * 100 : 0;\n        \n        var className = change >= 0 ? 'positive' : 'negative';\n        var arrow = change >= 0 ? '\u25b2' : '\u25bc';\n        \n        return '<span class=\"price-change ' + className + '\">' + arrow + ' ' + \n               Math.abs(changePercent).toFixed(2) + '%<\/span>';\n    }\n    \n    \/\/ Start price updates\n    function startPriceUpdates() {\n        if (window.priceUpdateTimer) {\n            clearInterval(window.priceUpdateTimer);\n        }\n        \n        window.priceUpdateTimer = setInterval(function() {\n            updateMarketPrices();\n        }, refreshRate);\n    }\n    \n    \/\/ Update market prices\n    function updateMarketPrices() {\n        var category = container.find('.category-tab.active').data('category');\n        \n        $.ajax({\n            url: ajaxUrl,\n            type: 'GET',\n            data: {\n                action: 'get_mt5_data',\n                nonce: nonce,\n                category: category\n            },\n            success: function(response) {\n                if (response.success) {\n                    if (response.data) {\n                        for (var symbol in response.data) {\n                            var row = container.find('tr[data-symbol=\"' + symbol + '\"]');\n                            var symbolData = response.data[symbol];\n                            \n                            if (row.length) {\n                                if (symbolData) {\n                                    var currentBid = parseFloat(row.find('.bid-price').text()) || 0;\n                                    var currentAsk = parseFloat(row.find('.ask-price').text()) || 0;\n                                    var newBid = formatPrice(symbolData.bid, symbolData.digit || 5);\n                                    var newAsk = formatPrice(symbolData.ask, symbolData.digit || 5);\n                                    \n                                    var bidCell = row.find('.bid-price');\n                                    bidCell.removeClass('price-up price-down');\n                                    if (symbolData.bid > currentBid) {\n                                        bidCell.addClass('price-up');\n                                    } else if (symbolData.bid < currentBid) {\n                                        bidCell.addClass('price-down');\n                                    }\n                                    bidCell.text(newBid);\n                                    \n                                    var askCell = row.find('.ask-price');\n                                    askCell.removeClass('price-up price-down');\n                                    if (symbolData.ask > currentAsk) {\n                                        askCell.addClass('price-up');\n                                    } else if (symbolData.ask < currentAsk) {\n                                        askCell.addClass('price-down');\n                                    }\n                                    askCell.text(newAsk);\n                                    \n                                    row.find('.price-change-cell').html(formatPriceChange(symbolData.bid, symbolData.previous_close));\n                                    \n                                    setTimeout(function(b, a) {\n                                        return function() {\n                                            b.removeClass('price-up price-down');\n                                            a.removeClass('price-up price-down');\n                                        };\n                                    }(bidCell, askCell), 1000);\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        });\n    }\n    \n    \/\/ === CHART FUNCTIONS ===\n    \n    \/\/ Display chart for symbol\n    function displayChart(symbol) {\n        \/\/ Set active symbol and timeframe\n        activeSymbol = symbol;\n        activeTimeframe = container.find('.timeframe-btn.active').data('timeframe') || defaultTimeframe;\n        \n        \/\/ Determine decimal places from the bid price\n        var digits = 5; \/\/ Default\n        try {\n            var row = container.find('tr[data-symbol=\"' + symbol + '\"]');\n            if (row.length) {\n                var bidPriceCell = row.find('.bid-price');\n                if (bidPriceCell.length) {\n                    var priceText = bidPriceCell.text();\n                    \n                    \/\/ Get digit count from the symbol data if available\n                    var symbolData = row.data('digit');\n                    if (symbolData) {\n                        digits = parseInt(symbolData);\n                    } else {\n                        \/\/ Fallback to counting digits from the price\n                        var dotIndex = priceText.indexOf('.');\n                        if (dotIndex >= 0) {\n                            digits = priceText.length - dotIndex - 1;\n                        }\n                    }\n                }\n            }\n        } catch (error) {\n            console.error(\"Error detecting decimal places:\", error);\n        }\n        \n        \/\/ Ensure digits is a reasonable value between 1 and 10\n        digits = Math.max(1, Math.min(10, digits));\n        \n        \/\/ Store for later use\n        window.currentSymbolDigits = digits;\n        \n        \/\/ Show chart\n        container.find('.chart-container').show();\n        \n        \/\/ Remove . suffix from display name\n        var displaySymbol = symbol.replace('.', '');\n        container.find('.chart-symbol-name').text(displaySymbol);\n        \n        \/\/ Clear chart area\n        container.find('.chart-element').empty();\n        \n        \/\/ Load data\n        loadChartData(symbol, activeTimeframe, digits);\n        \n        \/\/ Start updates\n        startChartUpdater();\n    }\n    \n    \/\/ Close the chart\n    function closeChart() {\n        container.find('.chart-container').hide();\n        \n        \/\/ Clear update timer\n        if (updaterTimer) {\n            clearInterval(updaterTimer);\n            updaterTimer = null;\n        }\n        \n        \/\/ Clear chart\n        if (chartObj) {\n            chartObj.remove();\n            chartObj = null;\n            candleSeriesObj = null;\n        }\n        \n        activeSymbol = null;\n        activeTimeframe = null;\n    }\n    \n    \/\/ Load chart data\n    function loadChartData(symbol, timeframe, digits) {\n        $.ajax({\n            url: ajaxUrl,\n            type: 'GET',\n            data: {\n                action: 'get_mt5_chart_data',\n                nonce: nonce,\n                symbol: symbol,\n                timeframe: timeframe,\n                count: 300\n            },\n            success: function(response) {\n                if (response.success) {\n                    if (response.data) {\n                        if (Array.isArray(response.data)) {\n                            renderChart(response.data, digits);\n                            lastUpdateTime = new Date().getTime();\n                            updateChartStatus(window.MT5DataViewer_getString('chartLoaded'));\n                        } else {\n                            container.find('.chart-element').html('<div style=\"text-align:center;padding:20px;\">' + window.MT5DataViewer_getString('noDataAvailable') + '<\/div>');\n                            updateChartStatus(window.MT5DataViewer_getString('invalidChartData'));\n                        }\n                    } else {\n                        container.find('.chart-element').html('<div style=\"text-align:center;padding:20px;\">' + window.MT5DataViewer_getString('noDataAvailable') + '<\/div>');\n                        updateChartStatus(window.MT5DataViewer_getString('noChartData'));\n                    }\n                } else {\n                    container.find('.chart-element').html('<div style=\"text-align:center;padding:20px;\">' + window.MT5DataViewer_getString('noDataAvailable') + '<\/div>');\n                    updateChartStatus(window.MT5DataViewer_getString('failedToLoadChart'));\n                }\n            },\n            error: function(xhr, status, error) {\n                showError(window.MT5DataViewer_getString('errorLoadingChart') + ': ' + error);\n                updateChartStatus(window.MT5DataViewer_getString('errorLoadingChart'));\n            }\n        });\n    }\n    \n    \/\/ Render chart with data\n    function renderChart(chartData, digits) {\n        var chartElement = container.find('.chart-element')[0];\n        \n        \/\/ Check if library is loaded\n        if (typeof LightweightCharts === 'undefined') {\n            container.find('.chart-element').html('<div style=\"text-align:center;padding:20px;\">' + window.MT5DataViewer_getString('chartLibraryNotLoaded') + '<\/div>');\n            return;\n        }\n        \n        \/\/ Clear previous chart if exists\n        if (chartObj) {\n            chartObj.remove();\n            chartObj = null;\n            candleSeriesObj = null;\n        }\n        \n        \/\/ Determine minMove based on digits (e.g., 0.00001 for 5 digits)\n        var minMove = Math.pow(10, -digits);\n        \n        try {\n            \/\/ Create new chart\n            chartObj = LightweightCharts.createChart(chartElement, {\n                width: chartElement.clientWidth,\n                height: 400,\n                timeScale: {\n                    timeVisible: true,\n                    borderColor: '#D1D4DC',\n                    secondsVisible: false\n                },\n                rightPriceScale: {\n                    borderColor: '#D1D4DC',\n                    entireTextOnly: false,\n                    autoScale: true,\n                    mode: LightweightCharts.PriceScaleMode.Normal,\n                    ticksVisible: true,\n                    minMove: minMove\n                },\n                layout: {\n                    backgroundColor: '#ffffff',\n                    textColor: '#191919',\n                    fontSize: 12\n                },\n                grid: {\n                    horzLines: {\n                        color: '#F0F3FA',\n                    },\n                    vertLines: {\n                        color: '#F0F3FA',\n                    },\n                },\n                crosshair: {\n                    mode: LightweightCharts.CrosshairMode.Normal\n                }\n            });\n            \n            \/\/ Add candlestick series\n            candleSeriesObj = chartObj.addCandlestickSeries({\n                upColor: '#26a69a',\n                downColor: '#ef5350',\n                borderVisible: false,\n                wickUpColor: '#26a69a',\n                wickDownColor: '#ef5350',\n                priceScaleId: 'right',\n                priceFormat: {\n                    type: 'custom',\n                    minMove: minMove,\n                    formatter: function(price) {\n                        \/\/ Format to fixed number of decimal places to maintain trailing zeros\n                        var result = price.toFixed(digits);\n                        return result;\n                    }\n                }\n            });\n            \n            \/\/ Format data\n            var formattedData = formatChartData(chartData);\n            \n            \/\/ Set data\n            candleSeriesObj.setData(formattedData);\n            \n            \/\/ Make responsive\n            window.addEventListener('resize', function() {\n                if (chartObj) {\n                    chartObj.resize(chartElement.clientWidth, 400);\n                }\n            });\n        } catch (err) {\n            showError(window.MT5DataViewer_getString('errorCreatingChart') + ': ' + err.message);\n        }\n    }\n    \n    \/\/ Format chart data\n    function formatChartData(data) {\n        var formattedData = [];\n        \n        for (var i = 0; i < data.length; i++) {\n            var item = data[i];\n            formattedData.push({\n                time: parseInt(item.time, 10),\n                open: parseFloat(item.open),\n                high: parseFloat(item.high),\n                low: parseFloat(item.low),\n                close: parseFloat(item.close)\n            });\n        }\n        \n        return formattedData;\n    }\n    \n    \/\/ Start chart updater\n    function startChartUpdater() {\n        \/\/ Clear previous timer if exists\n        if (updaterTimer) {\n            clearInterval(updaterTimer);\n        }\n        \n        \/\/ Set a new timer\n        updaterTimer = setInterval(function() {\n            if (activeSymbol) {\n                if (activeTimeframe) {\n                    if (chartObj) {\n                        if (candleSeriesObj) {\n                            refreshChartData();\n                        }\n                    }\n                }\n            }\n        }, 3000); \/\/ 3 seconds\n    }\n    \n    \/\/ Refresh chart data\n    function refreshChartData() {\n        \/\/ Get current digits from stored value\n        var digits = window.currentSymbolDigits || 5;\n        \n        $.ajax({\n            url: ajaxUrl,\n            type: 'GET',\n            data: {\n                action: 'get_mt5_chart_data',\n                nonce: nonce,\n                symbol: activeSymbol,\n                timeframe: activeTimeframe,\n                count: 20 \/\/ Just get the most recent candles\n            },\n            success: function(response) {\n                if (response.success) {\n                    if (response.data) {\n                        if (Array.isArray(response.data)) {\n                            if (response.data.length > 0) {\n                                try {\n                                    \/\/ Sort data by time (newest first)\n                                    var sortedData = response.data.sort(function(a, b) {\n                                        return parseInt(b.time, 10) - parseInt(a.time, 10);\n                                    });\n                                    \n                                    \/\/ Only get the newest candle\n                                    var newestCandle = sortedData[0];\n                                    \n                                    if (newestCandle) {\n                                        \/\/ Format the newest candle\n                                        var formattedCandle = {\n                                            time: parseInt(newestCandle.time, 10),\n                                            open: parseFloat(newestCandle.open),\n                                            high: parseFloat(newestCandle.high),\n                                            low: parseFloat(newestCandle.low),\n                                            close: parseFloat(newestCandle.close)\n                                        };\n                                        \n                                        \/\/ Update only the newest candle\n                                        candleSeriesObj.update(formattedCandle);\n                                        \n                                        \/\/ Update status\n                                        lastUpdateTime = new Date().getTime();\n                                        updateChartStatus('Updated ' + timeAgo(lastUpdateTime));\n                                    }\n                                } catch (err) {\n                                    \/\/ Keep this console.error for troubleshooting chart issues\n                                    console.error('Chart update error:', err);\n                                    \n                                    \/\/ If update fails, try to reload the entire chart\n                                    if (err.message && err.message.includes('Cannot update oldest data')) {\n                                        loadChartData(activeSymbol, activeTimeframe, digits);\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        });\n    }\n    \n    \/\/ Update chart status text\n    function updateChartStatus(message) {\n        var statusEl = container.find('.chart-update-status');\n        statusEl.text(message);\n    }\n    \n    \/\/ Time ago formatter for status updates\n    function timeAgo(timestamp) {\n        var now = new Date().getTime();\n        var diff = Math.floor((now - timestamp) \/ 1000);\n        \n        if (diff < 5) return 'just now';\n        if (diff < 60) return diff + ' seconds ago';\n        \n        return 'recently';\n    }\n    \n    \/\/ Show error message\n    function showError(message) {\n        var errorElement = container.find('.error-message');\n        errorElement.text(message).show();\n        setTimeout(function() {\n            errorElement.hide();\n        }, 5000);\n    }\n});\n\/* ]]> *\/\n<\/script>\n\n <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-7752a42 e-flex e-con-boxed e-con e-parent\" data-id=\"7752a42\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2a7fe9 elementor-widget elementor-widget-heading\" data-id=\"e2a7fe9\" data-element_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\">T\u00ecm <span>c\u00e2u tr\u1ea3 l\u1eddi<\/span> cho c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<br> C\u00e2u h\u1ecfi<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5aae059 elementor-widget__width-initial elementor-widget elementor-widget-shortcode\" data-id=\"5aae059\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">            <div class=\"qae-faqs-container qae-faqs-toggle-container\">\n\t\t\t\t\t\t<div id=\"qaef-13509\" class=\"qe-faq-toggle giao-dich\">\n\t\t\t<div class=\"qe-toggle-title\">\n\t\t\t\t<h4>\n\t\t\t\t\t<i class=\"fa fa-minus-circle\"><\/i> L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 t\u00f4i thay \u0111\u1ed5i m\u1eadt kh\u1ea9u?\t\t\t\t<\/h4>\n\t\t\t<\/div>\n\t\t\t<div class=\"qe-toggle-content\">\n\t\t\t\t<ul>\n<li>Nh\u1ea5n v\u00e0o n\u00fat \u201c\u0110\u0103ng nh\u1eadp\u201d r\u1ed3i \u201cQu\u00ean m\u1eadt kh\u1ea9u\u201d<\/li>\n<li>Nh\u1eadp email b\u1ea1n \u0111\u00e3 \u0111\u0103ng k\u00fd v\u00e0o tr\u01b0\u1eddng b\u1eaft bu\u1ed9c v\u00e0 nh\u1ea5n n\u00fat \u201cG\u1eedi\u201d.<\/li>\n<li>Ch\u00fang t\u00f4i s\u1ebd g\u1eedi cho b\u1ea1n li\u00ean k\u1ebft qua email \u0111\u1ec3 thay \u0111\u1ed5i m\u1eadt kh\u1ea9u.<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div id=\"qaef-13506\" class=\"qe-faq-toggle giao-dich\">\n\t\t\t<div class=\"qe-toggle-title\">\n\t\t\t\t<h4>\n\t\t\t\t\t<i class=\"fa fa-minus-circle\"><\/i> L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 t\u00f4i c\u00f3 th\u1ec3 thay \u0111\u1ed5i th\u00f4ng tin t\u00e0i kho\u1ea3n c\u1ee7a m\u00ecnh?\t\t\t\t<\/h4>\n\t\t\t<\/div>\n\t\t\t<div class=\"qe-toggle-content\">\n\t\t\t\t<ul style=\"margin-left: -15px\">\n<li>Nh\u1ea5n v\u00e0o tab \u201cT\u00e0i kho\u1ea3n\u201d \u1edf g\u00f3c d\u01b0\u1edbi b\u00ean ph\u1ea3i, sau \u0111\u00f3 nh\u1ea5n v\u00e0o \u201cCh\u1ec9nh s\u1eeda h\u1ed3 s\u01a1\u201d.<\/li>\n<li>Tr\u00ean trang n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda \u201cX\u1eed l\u00fd t\u00ecm ki\u1ebfm\u201d, \u201cT\u00ean t\u00edn hi\u1ec7u\u201d v\u00e0 \u201cH\u01b0\u1edbng d\u1eabn v\u1ed1n ch\u1ee7 s\u1edf h\u1eefu\u201d c\u1ee7a m\u00ecnh<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div id=\"qaef-13508\" class=\"qe-faq-toggle giao-dich\">\n\t\t\t<div class=\"qe-toggle-title\">\n\t\t\t\t<h4>\n\t\t\t\t\t<i class=\"fa fa-minus-circle\"><\/i> L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i t\u00e0i kho\u1ea3n giao d\u1ecbch c\u1ee7a t\u00f4i?\t\t\t\t<\/h4>\n\t\t\t<\/div>\n\t\t\t<div class=\"qe-toggle-content\">\n\t\t\t\t<ul style=\"margin-left: -15px\">\n<li>Nh\u1ea5n v\u00e0o tab \u201cT\u00e0i kho\u1ea3n\u201d \u1edf g\u00f3c d\u01b0\u1edbi b\u00ean ph\u1ea3i.<\/li>\n<li>Cu\u1ed9n xu\u1ed1ng d\u01b0\u1edbi c\u00f9ng v\u00e0 ch\u1ea1m v\u00e0o n\u00fat \u201cLi\u00ean k\u1ebft t\u00e0i kho\u1ea3n\u201d.<\/li>\n<li>Nh\u1eadp th\u00f4ng tin t\u00e0i kho\u1ea3n giao d\u1ecbch m\u1edbi c\u1ee7a b\u1ea1n.<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t            <\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a8ba9e elementor-align-center elementor-widget__width-auto read-more-link elementor-widget elementor-widget-button\" data-id=\"4a8ba9e\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/finpros.com\/vi\/cau-hoi-thuong-gap\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0110\u1ecdc th\u00eam<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\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>CFD ch\u1ec9 s\u1ed1 cho ph\u00e9p c\u00e1c nh\u00e0 giao d\u1ecbch suy \u0111o\u00e1n v\u1ec1 bi\u1ebfn \u0111\u1ed9ng gi\u00e1 c\u1ee7a c\u00e1c ch\u1ec9 s\u1ed1 th\u1ecb tr\u01b0\u1eddng ch\u1ee9ng kho\u00e1n l\u1edbn\u2014nh\u01b0 S&amp;P 500, NASDAQ, FTSE 100 ho\u1eb7c DAX, l\u00fd t\u01b0\u1edfng cho nh\u1eefng ng\u01b0\u1eddi mu\u1ed1n t\u1eadn d\u1ee5ng xu h\u01b0\u1edbng th\u1ecb tr\u01b0\u1eddng ho\u1eb7c ph\u00f2ng ng\u1eeba r\u1ee7i ro c\u1ed5 phi\u1ebfu. Gi\u1edbi thi\u1ec7u v\u1ec1 giao d\u1ecbch [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"tpl-default-elementor.php","meta":{"footnotes":""},"class_list":["post-13263","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ch\u1ec9 s\u1ed1 - FinPros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/finpros.com\/vi\/chi-so\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ch\u1ec9 s\u1ed1 - FinPros\" \/>\n<meta property=\"og:description\" content=\"CFD ch\u1ec9 s\u1ed1 cho ph\u00e9p c\u00e1c nh\u00e0 giao d\u1ecbch suy \u0111o\u00e1n v\u1ec1 bi\u1ebfn \u0111\u1ed9ng gi\u00e1 c\u1ee7a c\u00e1c ch\u1ec9 s\u1ed1 th\u1ecb tr\u01b0\u1eddng ch\u1ee9ng kho\u00e1n l\u1edbn\u2014nh\u01b0 S&amp;P 500, NASDAQ, FTSE 100 ho\u1eb7c DAX, l\u00fd t\u01b0\u1edfng cho nh\u1eefng ng\u01b0\u1eddi mu\u1ed1n t\u1eadn d\u1ee5ng xu h\u01b0\u1edbng th\u1ecb tr\u01b0\u1eddng ho\u1eb7c ph\u00f2ng ng\u1eeba r\u1ee7i ro c\u1ed5 phi\u1ebfu. Gi\u1edbi thi\u1ec7u v\u1ec1 giao d\u1ecbch [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/finpros.com\/vi\/chi-so\/\" \/>\n<meta property=\"og:site_name\" content=\"FinPros\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T11:06:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"571\" \/>\n\t<meta property=\"og:image:height\" content=\"394\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/\",\"url\":\"https:\/\/finpros.com\/vi\/chi-so\/\",\"name\":\"Ch\u1ec9 s\u1ed1 - FinPros\",\"isPartOf\":{\"@id\":\"https:\/\/finpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png\",\"datePublished\":\"2023-05-15T11:41:50+00:00\",\"dateModified\":\"2025-06-24T11:06:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/#breadcrumb\"},\"inLanguage\":\"vi-VN\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/finpros.com\/vi\/chi-so\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi-VN\",\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage\",\"url\":\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png\",\"contentUrl\":\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/finpros.com\/vi\/chi-so\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Trang ch\u1ee7\",\"item\":\"https:\/\/finpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ch\u1ec9 s\u1ed1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/finpros.com\/#website\",\"url\":\"https:\/\/finpros.com\/\",\"name\":\"FinPros\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/finpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/finpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi-VN\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/finpros.com\/#organization\",\"name\":\"FinPros\",\"url\":\"https:\/\/finpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi-VN\",\"@id\":\"https:\/\/finpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/03\/FinPros-PNG-1.png\",\"contentUrl\":\"https:\/\/finpros.com\/wp-content\/uploads\/2025\/03\/FinPros-PNG-1.png\",\"width\":1050,\"height\":369,\"caption\":\"FinPros\"},\"image\":{\"@id\":\"https:\/\/finpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ch\u1ec9 s\u1ed1 - FinPros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/finpros.com\/vi\/chi-so\/","og_locale":"vi_VN","og_type":"article","og_title":"Ch\u1ec9 s\u1ed1 - FinPros","og_description":"CFD ch\u1ec9 s\u1ed1 cho ph\u00e9p c\u00e1c nh\u00e0 giao d\u1ecbch suy \u0111o\u00e1n v\u1ec1 bi\u1ebfn \u0111\u1ed9ng gi\u00e1 c\u1ee7a c\u00e1c ch\u1ec9 s\u1ed1 th\u1ecb tr\u01b0\u1eddng ch\u1ee9ng kho\u00e1n l\u1edbn\u2014nh\u01b0 S&amp;P 500, NASDAQ, FTSE 100 ho\u1eb7c DAX, l\u00fd t\u01b0\u1edfng cho nh\u1eefng ng\u01b0\u1eddi mu\u1ed1n t\u1eadn d\u1ee5ng xu h\u01b0\u1edbng th\u1ecb tr\u01b0\u1eddng ho\u1eb7c ph\u00f2ng ng\u1eeba r\u1ee7i ro c\u1ed5 phi\u1ebfu. Gi\u1edbi thi\u1ec7u v\u1ec1 giao d\u1ecbch [&hellip;]","og_url":"https:\/\/finpros.com\/vi\/chi-so\/","og_site_name":"FinPros","article_modified_time":"2025-06-24T11:06:22+00:00","og_image":[{"width":571,"height":394,"url":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/finpros.com\/vi\/chi-so\/","url":"https:\/\/finpros.com\/vi\/chi-so\/","name":"Ch\u1ec9 s\u1ed1 - FinPros","isPartOf":{"@id":"https:\/\/finpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage"},"image":{"@id":"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage"},"thumbnailUrl":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png","datePublished":"2023-05-15T11:41:50+00:00","dateModified":"2025-06-24T11:06:22+00:00","breadcrumb":{"@id":"https:\/\/finpros.com\/vi\/chi-so\/#breadcrumb"},"inLanguage":"vi-VN","potentialAction":[{"@type":"ReadAction","target":["https:\/\/finpros.com\/vi\/chi-so\/"]}]},{"@type":"ImageObject","inLanguage":"vi-VN","@id":"https:\/\/finpros.com\/vi\/chi-so\/#primaryimage","url":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png","contentUrl":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/05\/Rectangle-4.png"},{"@type":"BreadcrumbList","@id":"https:\/\/finpros.com\/vi\/chi-so\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang ch\u1ee7","item":"https:\/\/finpros.com\/"},{"@type":"ListItem","position":2,"name":"Ch\u1ec9 s\u1ed1"}]},{"@type":"WebSite","@id":"https:\/\/finpros.com\/#website","url":"https:\/\/finpros.com\/","name":"FinPros","description":"","publisher":{"@id":"https:\/\/finpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/finpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi-VN"},{"@type":"Organization","@id":"https:\/\/finpros.com\/#organization","name":"FinPros","url":"https:\/\/finpros.com\/","logo":{"@type":"ImageObject","inLanguage":"vi-VN","@id":"https:\/\/finpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/03\/FinPros-PNG-1.png","contentUrl":"https:\/\/finpros.com\/wp-content\/uploads\/2025\/03\/FinPros-PNG-1.png","width":1050,"height":369,"caption":"FinPros"},"image":{"@id":"https:\/\/finpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/pages\/13263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/comments?post=13263"}],"version-history":[{"count":4,"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/pages\/13263\/revisions"}],"predecessor-version":[{"id":18246,"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/pages\/13263\/revisions\/18246"}],"wp:attachment":[{"href":"https:\/\/finpros.com\/vi\/wp-json\/wp\/v2\/media?parent=13263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}