{"id":7,"date":"2026-06-25T12:39:35","date_gmt":"2026-06-25T12:39:35","guid":{"rendered":"https:\/\/nik67e15v.com\/?page_id=7"},"modified":"2026-06-25T12:41:44","modified_gmt":"2026-06-25T12:41:44","slug":"elementor-7","status":"publish","type":"page","link":"https:\/\/nik67e15v.com\/","title":{"rendered":"Elementor #7"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7\" class=\"elementor elementor-7\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8148350 e-grid e-con-boxed e-con e-parent\" data-id=\"8148350\" 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-161cbac elementor-widget elementor-widget-html\" data-id=\"161cbac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  \n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/moment@2.29.1\/moment.min.js\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-adapter-moment@1.0.0\"><\/script>\n    \n<\/head>\n<body>\n\n<div class=\"dax-main-content\">\n    <div class=\"dax-header-row\">\n        <div class=\"dax-section-title\">\u65e5\u7d4c\u5e73\u5747V Nkkei<\/div>\n    <\/div>\n    \n    <div class=\"dax-price-info\">\n        <div class=\"dax-current-price-section\">\n            <div class=\"dax-current-price\" id=\"current-price\">0.00<\/div>\n            <div class=\"dax-change-data\">(<span id=\"change-value\">0.00<\/span> \/ <span id=\"change-percent-value\">0.00 %<\/span>)<\/div>\n        <\/div>\n        <div class=\"dax-data-status\">\n            - Real-time Data. Currency in MYR (<span style=\"color: #4a4a4a; text-decoration: underline;\">Disclaimer<\/span>)\n        <\/div>\n    <\/div>\n\n    <div class=\"dax-chart-wrapper\">\n        <div class=\"dax-chart-controls\">\n            <button class=\"time-active\">1<\/button> \n            <button>5<\/button>\n            <button>15<\/button>\n            <button>30<\/button>\n            <button>1H<\/button>\n            <button>5H<\/button>\n            <button>1D<\/button>\n            <button>1W<\/button>\n            <button>1M<\/button>\n        <\/div>\n        \n        <div id=\"chart-container\" class=\"dax-chart-area\" style=\"height: 400px;\"> <canvas id=\"myChart\"><\/canvas> <\/div>\n        \n        <div class=\"dax-info-table-bottom\">\n            <div class=\"dax-info-row dax-row-header\">\n                <div class=\"dax-info-label\">Volume<\/div> \n                <div class=\"dax-info-value\" id=\"volume-value\">0<\/div>\n                <div class=\"dax-info-label-right\">Open<\/div>\n                <div class=\"dax-info-value-right\" id=\"open-value\">0.00<\/div>\n            <\/div>\n            <div class=\"dax-info-row\">\n                <div class=\"dax-info-label\">Last<\/div> \n                <div class=\"dax-info-value\" id=\"last-value\">0.00<\/div>\n                <div class=\"dax-info-label-right\">Day's Range<\/div>\n                <div class=\"dax-info-value-right\" id=\"range-value\"><span id=\"high-value\">0.00<\/span> - <span id=\"low-value\">0.00<\/span><\/div> \n            <\/div>\n            <div class=\"dax-info-row\">\n                <div class=\"dax-info-label\">1-Year Change<\/div> \n                <div class=\"dax-info-value\">-<\/div> \n                <div class=\"dax-info-label-right\">52 wk Range<\/div>\n                <div class=\"dax-info-value-right\" id=\"wk-range-value\"><span id=\"prev-close-value\">0.00<\/span> - <span id=\"amount-value\">0.00<\/span><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"dax-custom-table-wrapper\">\n            <div class=\"dax-custom-cell dax-custom-label\">Session<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">Top<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">Result<\/div> \n            <div class=\"dax-custom-cell dax-custom-label\">Bottom<\/div>\n            <div class=\"dax-custom-cell dax-custom-label\">Result<\/div> \n\n            <div class=\"dax-custom-cell dax-custom-label dax-session-label\">Morning<\/div>\n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">Top<\/div> \n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-top-am\">-<\/div> \n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">Bottom<\/div>\n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-bottom-am\">-<\/div> \n\n            <div class=\"dax-custom-cell dax-custom-label dax-session-label\">Evening<\/div>\n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">Top<\/div> \n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-top-pm\">-<\/div> \n            <div class=\"dax-custom-cell dax-custom-label dax-result-label\">Bottom<\/div>\n            <div class=\"dax-custom-cell dax-custom-value\" id=\"custom-bottom-pm\">-<\/div> \n        <\/div>\n\n        <div class=\"dax-bottom-data-row\">\n            As at <span id=\"custom-date\">0000-00-00<\/span>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n    const sheetID = '1A5NXPoMVR-EXPNYyD_SfIyEyhHTnXp9YcZ893jMRrrg';\n    const sheetGID = '0';\n    const csvURL = `https:\/\/docs.google.com\/spreadsheets\/d\/${sheetID}\/export?format=csv&gid=${sheetGID}`;\n    const apiBaseURL = \"https:\/\/engine-v.com\/public_api\/stock\/get_live_result.php\";\n    const lottoCodeMorning = \"stock_nikkei_am\"; \n    const lottoCodeEvening = \"stock_nikkei_pm\"; \n\n    let myChart;\n\n    const domElements = {\n        currentPrice: document.getElementById('current-price'),\n        change: document.getElementById('change-value'),\n        changePercent: document.getElementById('change-percent-value'),\n        prevClose: document.getElementById('prev-close-value'),\n        open: document.getElementById('open-value'),\n        last: document.getElementById('last-value'),\n        high: document.getElementById('high-value'),\n        low: document.getElementById('low-value'),\n        volume: document.getElementById('volume-value'),\n        amount: document.getElementById('amount-value'),\n        customTopAM: document.getElementById('custom-top-am'), \n        customBottomAM: document.getElementById('custom-bottom-am'), \n        customTopPM: document.getElementById('custom-top-pm'), \n        customBottomPM: document.getElementById('custom-bottom-pm'), \n        customDate: document.getElementById('custom-date') \n    };\n\n    const parseAndFormat = (value, decimals = 2) => {\n        const parsed = parseFloat(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0.00' : parsed.toLocaleString(undefined, { minimumFractionDigits: decimals, maximumFractionDigits: decimals });\n    };\n    const parseAndFormatInt = (value) => {\n        const parsed = parseInt(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0' : parsed.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 0 });\n    };\n    function formatDateToLocal(time) {\n        const localDate = new Date(time);\n        const year = localDate.getFullYear();\n        const month = String(localDate.getMonth() + 1).padStart(2, '0');\n        const day = String(localDate.getDate()).padStart(2, '0');\n        return `${year}-${month}-${day}`;\n    }\n\n    async function fetchCsvData(url) {\n        try {\n            const response = await fetch(url, { cache: \"no-store\" });\n            if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); }\n            const csvText = await response.text();\n            return csvText.trim().split('\\n').map(line => line.split(','));\n        } catch (error) {\n            console.error(\"Error fetching CSV data:\", error);\n            return [];\n        }\n    }\n\n    async function fetchLottoDataAndUpdate(code, topElement, bottomElement) {\n        const finalApiURL = `${apiBaseURL}?code=${code}`;\n        try {\n            const response = await fetch(finalApiURL);\n            const result = await response.json();\n            if (result.success && result.top3 && result.bottom2) {\n                topElement.textContent = result.top3;\n                bottomElement.textContent = result.bottom2;\n            } else {\n                topElement.textContent = \"-\";\n                bottomElement.textContent = \"-\";\n            }\n        } catch (err) {\n            console.error(`\u274c Error fetching API (${code}):`, err);\n            topElement.textContent = \"-\";\n            bottomElement.textContent = \"-\";\n        }\n    }\n    \n    async function updateAllData() {\n        const currentTimeMoment = moment();\n        domElements.customDate.textContent = formatDateToLocal(currentTimeMoment.toDate());\n\n        \/\/ ... (\u0e2a\u0e48\u0e27\u0e19 API \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e34\u0e21) ...\n        const morningResultStartAPI = currentTimeMoment.clone().hour(9).minute(35).second(0);\n        const eveningResultStartAPI = currentTimeMoment.clone().hour(13).minute(35).second(0);\n        const nextDayResetAPI = currentTimeMoment.clone().add(1, 'days').startOf('day');\n        if (currentTimeMoment.isSameOrAfter(morningResultStartAPI) && currentTimeMoment.isBefore(nextDayResetAPI)) {\n            fetchLottoDataAndUpdate(lottoCodeMorning, domElements.customTopAM, domElements.customBottomAM);\n        }\n        if (currentTimeMoment.isSameOrAfter(eveningResultStartAPI) && currentTimeMoment.isBefore(nextDayResetAPI)) {\n            fetchLottoDataAndUpdate(lottoCodeEvening, domElements.customTopPM, domElements.customBottomPM);\n        }\n\n        const rows = await fetchCsvData(csvURL);\n        if (rows.length < 2) {\n            console.warn(\"No data in CSV.\");\n            return;\n        }\n\n        \/\/ \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e02\u0e2d\u0e07\u0e15\u0e25\u0e32\u0e14\n        const marketOpenHour = 7, marketOpenMinute = 0;\n        const marketMorningCloseHour = 9, marketMorningCloseMinute = 35;\n        const marketCloseHour = 13, marketCloseMinute = 35;\n        let sessionStartMoment = currentTimeMoment.clone().hour(marketOpenHour).minute(marketOpenMinute).second(0);\n        let marketMorningCloseMoment = currentTimeMoment.clone().hour(marketMorningCloseHour).minute(marketMorningCloseMinute).second(0);\n        let sessionEndMoment = currentTimeMoment.clone().hour(marketCloseHour).minute(marketCloseMinute).second(0);\n        if (currentTimeMoment.isBefore(sessionStartMoment)) {\n            sessionStartMoment.subtract(1, 'days');\n            marketMorningCloseMoment.subtract(1, 'days');\n            sessionEndMoment.subtract(1, 'days');\n        }\n\n        \/\/ \u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01 Sheet\n        let allChartData = rows.slice(1).map(row => {\n            if (!row[0] || !row[1]) return null;\n            let parsedMoment = moment(row[0], \"HH:mm:ss\");\n            if (!parsedMoment.isValid()) return null;\n            let baseDate = parsedMoment.hour() < marketOpenHour ? sessionEndMoment : sessionStartMoment;\n            parsedMoment.year(baseDate.year()).month(baseDate.month()).date(baseDate.date());\n            const price = parseFloat(String(row[1]).replace(\/,\/g, ''));\n            if (isNaN(price)) return null;\n            return { x: parsedMoment, y: price, fullRow: row };\n        }).filter(point => point !== null);\n        \n\n        const dataForDisplay = allChartData.filter(p => p.x.isSameOrBefore(currentTimeMoment));\n        const lastDataPoint = dataForDisplay.length > 0 ? dataForDisplay[dataForDisplay.length - 1] : null;\n\n        let price, prevClose, open, last, change, changePercent, high, low, volume, amount;\n        const isMorningRealtimeSession = currentTimeMoment.isBetween(sessionStartMoment, marketMorningCloseMoment, 'second', '[]');\n\n        if (isMorningRealtimeSession && lastDataPoint) {\n         \n            const dataRow = lastDataPoint.fullRow;\n            price = parseFloat(String(dataRow[1] || 0).replace(\/,\/g, ''));\n            prevClose = parseFloat(String(dataRow[2] || 0).replace(\/,\/g, ''));\n            open = parseFloat(String(dataRow[3] || 0).replace(\/,\/g, ''));\n            last = parseFloat(String(dataRow[4] || 0).replace(\/,\/g, ''));\n            change = parseFloat(String(dataRow[5] || 0).replace(\/,\/g, ''));\n            changePercent = parseFloat(String(dataRow[6] || 0).replace(\/,\/g, ''));\n            high = parseFloat(String(dataRow[7] || 0).replace(\/,\/g, ''));\n            low = parseFloat(String(dataRow[8] || 0).replace(\/,\/g, ''));\n            volume = parseFloat(String(dataRow[9] || 0).replace(\/,\/g, ''));\n            amount = parseFloat(String(dataRow[10] || 0).replace(\/,\/g, ''));\n        } else {\n         \n            let summaryRowIndex = 1;\n            if (rows.length > 2 && currentTimeMoment.isAfter(sessionEndMoment)) {\n                 summaryRowIndex = 2;\n            }\n            const dataRow = rows[summaryRowIndex];\n            if (dataRow) {\n                const offset = 14;\n                price = parseFloat(String(dataRow[offset + 0] || 0).replace(\/,\/g, ''));\n                prevClose = parseFloat(String(dataRow[offset + 1] || 0).replace(\/,\/g, ''));\n                open = parseFloat(String(dataRow[offset + 3] || 0).replace(\/,\/g, ''));\n                last = parseFloat(String(dataRow[offset + 2] || 0).replace(\/,\/g, ''));\n                change = parseFloat(String(dataRow[offset + 4] || 0).replace(\/,\/g, ''));\n                changePercent = parseFloat(String(dataRow[offset + 5] || 0).replace(\/,\/g, ''));\n                high = parseFloat(String(dataRow[offset + 6] || 0).replace(\/,\/g, ''));\n                low = parseFloat(String(dataRow[offset + 7] || 0).replace(\/,\/g, ''));\n                volume = parseFloat(String(dataRow[offset + 8] || 0).replace(\/,\/g, ''));\n                amount = parseFloat(String(dataRow[offset + 9] || 0).replace(\/,\/g, ''));\n            }\n        }\n\n        \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e21\u0e32\n        domElements.currentPrice.textContent = parseAndFormat(price);\n        domElements.prevClose.textContent = parseAndFormat(prevClose);\n        domElements.open.textContent = parseAndFormat(open);\n        domElements.last.textContent = parseAndFormat(last);\n        domElements.change.textContent = parseAndFormat(change);\n        domElements.changePercent.textContent = isNaN(changePercent) ? '0.00 %' : parseAndFormat(changePercent) + ' %';\n        domElements.high.textContent = parseAndFormat(high);\n        domElements.low.textContent = parseAndFormat(low);\n        domElements.volume.textContent = parseAndFormatInt(volume);\n        domElements.amount.textContent = parseAndFormat(amount);\n        let displayColor = !isNaN(change) ? (change > 0 ? '#10b981' : (change < 0 ? '#ef4444' : '#333')) : '#333';\n        domElements.currentPrice.style.color = displayColor;\n        domElements.change.style.color = displayColor;\n        domElements.changePercent.style.color = displayColor;\n\n        const chartOptions = {\n            responsive: true, maintainAspectRatio: false,\n            scales: {\n                x: { \n                    type: 'time', time: { unit: 'hour', displayFormats: { hour: 'HH:mm' } }, \n                    min: sessionStartMoment.toISOString(), max: sessionEndMoment.toISOString(), \n                    grid: { display: false }, ticks: { color: '#666' }\n                },\n                y: { position: 'right', grid: { color: '#eee' }, ticks: { color: '#666' } }\n            },\n            plugins: { legend: { display: false }, tooltip: { enabled: true } }\n        };\n\n        if (myChart) {\n            \/\/ ================== START: \u0e42\u0e04\u0e49\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e01\u0e49\u0e44\u0e02 ==================\n            myChart.data.datasets[0].data = dataForDisplay; \/\/ <--- \u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e01\u0e23\u0e2d\u0e07\u0e41\u0e25\u0e49\u0e27\n            \/\/ ================== END: \u0e42\u0e04\u0e49\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e41\u0e01\u0e49\u0e44\u0e02 ==================\n            myChart.options.scales.x.min = sessionStartMoment.toISOString();\n            myChart.options.scales.x.max = sessionEndMoment.toISOString();\n            myChart.update('none');\n        } else {\n            const ctx = document.getElementById('myChart').getContext('2d');\n            myChart = new Chart(ctx, {\n                type: 'line',\n                data: { datasets: [{ \n                    data: dataForDisplay, \/\/ <--- \u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e01\u0e23\u0e2d\u0e07\u0e41\u0e25\u0e49\u0e27\u0e15\u0e2d\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01\n                    borderColor: '#0A5890', backgroundColor: '#0A58904A',\n                    fill: true, borderWidth: 1.5, pointRadius: 0\n                }] },\n                options: chartOptions\n            });\n        }\n    }\n\n    updateAllData();\n    setInterval(updateAllData, 30 * 1000); \n<\/script>\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-c0edbf8 e-flex e-con-boxed e-con e-parent\" data-id=\"c0edbf8\" 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-e8b5544 elementor-widget elementor-widget-html\" data-id=\"e8b5544\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"kabutan-container\">\n  \n  <main class=\"kabutan-main\">\n    \n    <div class=\"ranking-bar\">\n      <span class=\"ranking-title\">\u691c\u7d22\u30e9\u30f3\u30ad\u30f3\u30b0:<\/span>\n      <span>1\u4f4d <a href=\"#\">JX\u91d1\u5c5e<\/a><\/span>\n      <span>2\u4f4d <a href=\"#\">\u30ad\u30aa\u30af\u30b7\u30a2<\/a><\/span>\n      <span>3\u4f4d <a href=\"#\">\u30d5\u30b8\u30af\u30e9<\/a><\/span>\n      <span>4\u4f4d <a href=\"#\">\u6751\u7530\u88fd\u4f5c<\/a><\/span>\n      <span>5\u4f4d <a href=\"#\">SBG<\/a><\/span>\n    <\/div>\n\n    <section class=\"news-section\">\n      <h2 class=\"section-title\">Top News<\/h2>\n      <div class=\"news-grid\">\n        <div class=\"chart-box\">\n  <span class=\"stock-title\">F\u30a4\u30f3\u30bf &lt;7050&gt;<\/span>\n  <div class=\"mock-chart\">\n    <img decoding=\"async\" src=\"https:\/\/n3241.com\/wp-content\/uploads\/2026\/06\/chart-1.gif\" alt=\"Chart\" style=\"width:100%;height:auto;\">\n  <\/div>\n<\/div>\n        <ul class=\"news-list\">\n          <li><a href=\"#\">\u300c\u30d5\u30a3\u30b8\u30ab\u30ebAI\u300d\u304c7\u4f4d\u3001\u30ed\u30dc\u30c6\u30a3\u30af\u30b9\u3068\u81ea\u52d5\u904b\u8ee2\u3067\u793e\u4f1a\u5b9f\u88c5\u672c\u756a...<\/a> <span class=\"badge badge-new\">NEW<\/span><\/li>\n          <li><a href=\"#\">\u682a\u4fa1\u6307\u6570\u5148\u7269\u3010\u663c\u3011\u30ea\u30d0\u30e9\u30f3\u30b9\u306e\u52d5\u304d\u3082\u3042\u3063\u3066\u524d\u65e5\u7d42\u5024\u3092\u631f\u3093\u3067\u306e...<\/a> <span class=\"badge badge-new\">NEW<\/span><\/li>\n          <li><a href=\"#\">\u65e5\u7d4c\u5e73\u5747\u306f\u5c0f\u53cd\u843d\u3001\u5c0f\u5e45\u306a\u5024\u52d5\u304d\u3067\u63a8\u79fb\uff0f\u30e9\u30f3\u30c1\u30bf\u30a4\u30e0\u30b3\u30e1\u30f3\u30c8<\/a> <span class=\"badge badge-new\">NEW<\/span><\/li>\n          <li><a href=\"#\">\u8a71\u984c\u682a\u30d4\u30c3\u30af\u30a2\u30c3\u30d7\u3010\u663c\u520a\u3011\uff1a\u30c6\u30e9\u30c9\u30ed\u30fc\u30f3\u3001JX\u91d1\u5c5e\u3001\u30d1\u30fc\u30af\uff12\uff14<\/a> <span class=\"badge badge-new\">NEW<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/section>\n\n    <section class=\"flash-section\">\n      <h2 class=\"section-title\">\u6c7a\u7b97\u901f\u5831 <span class=\"sub-title\">\u3010\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u914d\u4fe1\u4e2d\u3011 \u66f4\u65b0 6\u670815\u65e5 18:45<\/span><\/h2>\n      <div class=\"flash-grid\">\n        <ul class=\"flash-list\">\n          <li><span class=\"time-stamp\">06\/15 18:45<\/span> <a href=\"#\">F\u30a4\u30f3\u30bf\u3001\u4eca\u671f\u7d4c\u5e38\u306f\u5fae\u5897\u76ca\u3001\u524d\u671f\u914d\u5f53\u30925\u5186\u5897\u984d\u30fb...<\/a><\/li>\n          <li><span class=\"time-stamp\">06\/15 17:00<\/span> <a href=\"#\">\u30d9\u30eb\u30b0\u30a2\u30fc\u30b9\u3001\u4e0a\u671f\u7d4c\u5e38\u304c\u8d64\u5b57\u7e2e\u5c0f\u3067\u7740\u5730\u30fb2-4\u6708\u671f\u306f...<\/a><\/li>\n          <li><span class=\"time-stamp\">06\/15 16:30<\/span> <a href=\"#\">GMO\u30b3\u30de\u30b9\u3001\u4eca\u671f\u7d4c\u5e38\u30922%\u4e0a\u65b9\u4fee\u6b63\u3001\u914d\u5f53\u30822.32...<\/a><\/li>\n        <\/ul>\n        <div class=\"chart-box\">\n  <span class=\"stock-title\">F\u30a4\u30f3\u30bf &lt;7050&gt;<\/span>\n  <div class=\"mock-chart\">\n    <img decoding=\"async\" src=\"https:\/\/n3241.com\/wp-content\/uploads\/2026\/06\/chart-1.gif\" alt=\"Chart\" style=\"width:100%;height:auto;\">\n  <\/div>\n\n      <\/div>\n    <\/section>\n    \n  <\/main>\n\n  <aside class=\"kabutan-sidebar\">\n    \n   <div class=\"chart-box\">\n  <span class=\"stock-title\">\u30c6\u30e9\u30c9\u30ed\u30fc\u30f3 &lt;278A&gt;<\/span>\n  <div class=\"mock-chart\">\n    <img decoding=\"async\" src=\"https:\/\/n3241.com\/wp-content\/uploads\/2026\/06\/chart.gif\" alt=\"Chart\" style=\"width:100%;height:auto;\">\n  <\/div>\n<\/div>\n\n    <div class=\"notice-box\">\n      <div class=\"notice-title\">\u682a\u63a2\u304b\u3089\u306e\u304a\u77e5\u3089\u305b<\/div>\n      <ul class=\"notice-list\">\n        <li><a href=\"#\">\u300cMINKABU\u300d\u3092\u9a19\u308b\u4e0d\u5be9\u30b5\u30a4\u30c8\u3001SNS\u3067\u306e\u52e7\u8a98\u7b49\u306b\u3054\u6ce8\u610f\u304f\u3060\u3055\u3044<\/a><\/li>\n        <li><span class=\"badge badge-new\">NEW<\/span> <a href=\"#\">\u300c\u914d\u5f53\u671f\u5f85\u306e\u30c8\u30c3\u30d7\u3001\u5168\u4f53\u306fJT\u3001\u5f37\u3044\u4eba\u306f2\u3064\u306e...<\/a><\/li>\n      <\/ul>\n    <\/div>\n    \n  <\/aside>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2306ab5 elementor-widget elementor-widget-html\" data-id=\"2306ab5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"history-table-container\">\n    <h2>Historical Data<\/h2>\n    <div id=\"loading-status\" style=\"text-align: center; margin: 20px; font-weight: bold;\">\n        \u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25..\n    <\/div>\n\n    <table id=\"nikkei-history-table\" class=\"history-table\">\n        <thead>\n            <tr>\n                <th rowspan=\"2\">Date<\/th>\n                <th colspan=\"4\">Morning<\/th>\n                <th colspan=\"4\">Evening<\/th>\n            <\/tr>\n            <tr>\n                <th class=\"session-header\">Top<\/th>\n                <th class=\"session-header\">Result<\/th>\n                <th class=\"session-header\">Bottom<\/th>\n                <th class=\"session-header\">Result<\/th>\n                <th class=\"session-header\">Top<\/th>\n                <th class=\"session-header\">Result<\/th>\n                <th class=\"session-header\">Bottom<\/th>\n                <th class=\"session-header\">Result<\/th>\n            <\/tr>\n        <\/thead>\n        <tbody>\n            <\/tbody>\n    <\/table>\n<\/div>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    const tbody = document.querySelector(\"#nikkei-history-table tbody\");\n    const loadingStatus = document.getElementById(\"loading-status\");\n\n  \n    const DOMAIN = \"https:\/\/engine-v.com\";\n    \/\/ \ud83d\uded1 \u0e43\u0e0a\u0e49 API \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14\n    const API_HISTORY = DOMAIN + \"\/public_api\/get_multi_round_history.php\"; \n    \n    const LOTTO_CODE_AM = 'stock_nikkei_am'; \n    const LOTTO_CODE_PM = 'stock_nikkei_pm';\n    \n    const OPEN_TIME_AM = \"9:35\"; \n    const OPEN_TIME_PM = \"13:35\";\n\n \n    async function fetchHistoryData() {\n        const url = `${API_HISTORY}?code_am=${LOTTO_CODE_AM}&code_pm=${LOTTO_CODE_PM}&openTime_am=${OPEN_TIME_AM}&openTime_pm=${OPEN_TIME_PM}`;\n\n        try {\n            const response = await fetch(url);\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            \n            const result = await response.json();\n           \n            return result.data || []; \n        } catch (error) {\n            console.error(`Error fetching history data:`, error);\n            return [];\n        }\n    }\n\n    \n    async function renderNikkeiHistory() {\n        const finalData = await fetchHistoryData();\n        \n        if (finalData.length === 0) {\n            loadingStatus.textContent = \"No history data available.\";\n            return;\n        }\n\n       \n        tbody.innerHTML = \"\"; \n        loadingStatus.style.display = \"none\";\n\n        finalData.forEach(item => {\n            \n            const [year, month, day] = item.date.split('-');\n            const thaiDate = `${day}\/${month}\/${parseInt(year) + 543}`;\n            \n            const tr = document.createElement(\"tr\");\n            tr.innerHTML = `\n                <td>${thaiDate}<\/td>\n                \n                <td class=\"session-header\">Top<\/td>\n                <td class=\"result-value\">${item.am_top}<\/td>\n                <td class=\"session-header\">Bottom<\/td>\n                <td class=\"result-value\">${item.am_bottom}<\/td>\n                \n                <td class=\"session-header\">Top<\/td>\n                <td class=\"result-value\">${item.pm_top}<\/td>\n                <td class=\"session-header\">Bottom<\/td>\n                <td class=\"result-value\">${item.pm_bottom}<\/td>\n            `;\n            tbody.appendChild(tr);\n        });\n    }\n\n    renderNikkeiHistory();\n});\n<\/script>\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>\u65e5\u7d4c\u5e73\u5747V Nkkei 0.00 (0.00 \/ 0.00 %) &#8211; Real-time Data. Currency in MYR (Disclaimer) 1 5 15 30 1H 5H [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":4,"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/nik67e15v.com\/index.php\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}