امتحان الخليجية الكندية

import React, { useState, useEffect } from 'react'; import { motion } from 'framer-motion'; // استيراد بيانات السهم const stockData = [ { date: '5/12/25', price: 4.14, open: 4.00, high: 4.14, low: 3.85, volume: 933.10 }, { date: '5/11/25', price: 3.95, open: 4.10, high: 4.15, low: 3.91, volume: 2.18 }, { date: '5/8/25', price: 4.10, open: 4.25, high: 4.28, low: 4.05, volume: 1.39 }, { date: '5/7/25', price: 4.26, open: 4.30, high: 4.48, low: 4.19, volume: 1.97 }, ]; // حساب مستويات الدعم والمقاومة const calculateSupportResistance = (data) => { const prices = data.map(item => item.price); const highs = data.map(item => item.high); const lows = data.map(item => item.low); return { support: Math.min(...lows), resistance: Math.max(...highs), lowestPrice: Math.min(...prices), highestPrice: Math.max(...prices) }; }; const StockAnalysisApp = () => { const [showQuiz, setShowQuiz] = useState(false); const [quizAnswers, setQuizAnswers] = useState(Array(10).fill(null)); const [quizScore, setQuizScore] = useState(null); const [showVerseLight, setShowVerseLight] = useState(true); const supportResistance = calculateSupportResistance(stockData); const quizQuestions = [ { question: "ما هو السعر الأعلى للسهم في الفترة؟", options: [ supportResistance.highestPrice.toFixed(2), (supportResistance.highestPrice - 0.2).toFixed(2), (supportResistance.highestPrice + 0.2).toFixed(2) ], correctAnswer: supportResistance.highestPrice.toFixed(2) }, { question: "ما هو مستوى الدعم الرئيسي للسهم؟", options: [ supportResistance.support.toFixed(2), (supportResistance.support + 0.1).toFixed(2), (supportResistance.support - 0.1).toFixed(2) ], correctAnswer: supportResistance.support.toFixed(2) }, { question: "ما هو مستوى المقاومة الرئيسي للسهم؟", options: [ supportResistance.resistance.toFixed(2), (supportResistance.resistance + 0.1).toFixed(2), (supportResistance.resistance - 0.1).toFixed(2) ], correctAnswer: supportResistance.resistance.toFixed(2) }, { question: "كم بلغ حجم التداول في آخر جلسة؟", options: [ stockData[0].volume.toFixed(2), (stockData[0].volume + 100).toFixed(2), (stockData[0].volume - 100).toFixed(2) ], correctAnswer: stockData[0].volume.toFixed(2) }, { question: "ما هو سعر افتتاح آخر جلسة؟", options: [ stockData[0].open.toFixed(2), (stockData[0].open + 0.1).toFixed(2), (stockData[0].open - 0.1).toFixed(2) ], correctAnswer: stockData[0].open.toFixed(2) }, { question: "ما هو السعر الأدنى في آخر جلسة؟", options: [ stockData[0].low.toFixed(2), (stockData[0].low + 0.1).toFixed(2), (stockData[0].low - 0.1).toFixed(2) ], correctAnswer: stockData[0].low.toFixed(2) }, { question: "كم يبلغ نطاق التداول في آخر جلسة؟", options: [ (stockData[0].high - stockData[0].low).toFixed(2), ((stockData[0].high - stockData[0].low) + 0.1).toFixed(2), ((stockData[0].high - stockData[0].low) - 0.1).toFixed(2) ], correctAnswer: (stockData[0].high - stockData[0].low).toFixed(2) }, { question: "كم يبلغ متوسط أسعار الإغلاق للفترة؟", options: [ (stockData.reduce((sum, item) => sum + item.price, 0) / stockData.length).toFixed(2), ((stockData.reduce((sum, item) => sum + item.price, 0) / stockData.length) + 0.1).toFixed(2), ((stockData.reduce((sum, item) => sum + item.price, 0) / stockData.length) - 0.1).toFixed(2) ], correctAnswer: (stockData.reduce((sum, item) => sum + item.price, 0) / stockData.length).toFixed(2) }, { question: "ما هو السعر الأخير للسهم؟", options: [ stockData[0].price.toFixed(2), (stockData[0].price + 0.1).toFixed(2), (stockData[0].price - 0.1).toFixed(2) ], correctAnswer: stockData[0].price.toFixed(2) }, { question: "كم يبلغ التصحيح السعري التلقائي؟", options: [ ((stockData[0].high - stockData[0].low) / stockData[0].price * 100).toFixed(2) + '%', (((stockData[0].high - stockData[0].low) / stockData[0].price * 100) + 1).toFixed(2) + '%', (((stockData[0].high - stockData[0].low) / stockData[0].price * 100) - 1).toFixed(2) + '%' ], correctAnswer: ((stockData[0].high - stockData[0].low) / stockData[0].price * 100).toFixed(2) + '%' } ]; const handleAnswerSelect = (questionIndex, selectedAnswer) => { const newAnswers = [...quizAnswers]; newAnswers[questionIndex] = selectedAnswer; setQuizAnswers(newAnswers); }; const submitQuiz = () => { const score = quizAnswers.reduce((total, answer, index) => answer === quizQuestions[index].correctAnswer ? total + 1 : total, 0); setQuizScore(score); }; return (
{showVerseLight && ( )}
{!showQuiz ? (

بَدِيعُ ٱلسَّمَٰوَٰتِ وَٱلۡأَرۡضِۖ

وَإِذَا قَضَىٰٓ أَمۡرٗا فَإِنَّمَا يَقُولُ لَهُۥ كُن فَيَكُونُ

) : (

اختبار تحليل السهم

{quizScore === null ? ( <> {quizQuestions.map((q, index) => (

{q.question}

{q.options.map((option, optionIndex) => ( ))}
))} ) : (

النتيجة النهائية

{quizScore}/10

{quizScore === 10 && "إحسنت! نتيجة مثالية"} {quizScore >= 7 && quizScore < 10 && "ممتاز! أداء رائع"} {quizScore >= 5 && quizScore < 7 && "جيد! هناك مجال للتحسن"} {quizScore < 5 && "حاول مرة أخرى وراجع التحليل"}

)}
)}
); }; export default StockAnalysisApp;

إرسال تعليق

أحدث أقدم

نموذج الاتصال