import React, { useState } from 'react';
import { CheckCircle, XCircle, RotateCcw } from 'lucide-react';
const RisingFlagQuiz = () => {
const [currentQuestion, setCurrentQuestion] = useState(0);
const [selectedAnswer, setSelectedAnswer] = useState(null);
const [showResult, setShowResult] = useState(false);
const [score, setScore] = useState(0);
const [answeredQuestions, setAnsweredQuestions] = useState([]);
const questions = [
{
question: "ما هو نموذج العلم الصاعد؟",
options: [
"نموذج انعكاسي هابط",
"نموذج استمراري صاعد",
"نموذج حيادي",
"نموذج انعكاسي صاعد"
],
correct: 1,
explanation: "نموذج العلم الصاعد هو نموذج استمراري صاعد يظهر بعد حركة سعرية قوية ويشير إلى استمرار الاتجاه الصاعد"
},
{
question: "ما هي مكونات نموذج العلم الصاعد؟",
options: [
"قمة مزدوجة وقاع",
"سارية العلم والعلم",
"رأس وكتفين",
"مثلث متماثل فقط"
],
correct: 1,
explanation: "يتكون نموذج العلم من جزئين: سارية العلم (الحركة القوية الأولى) والعلم نفسه (فترة التماسك)"
},
{
question: "ما هي زاوية ميل العلم في نموذج العلم الصاعد؟",
options: [
"ميل صاعد حاد",
"ميل هابط طفيف أو أفقي",
"ميل هابط حاد",
"عمودي تماماً"
],
correct: 1,
explanation: "العلم في النموذج الصاعد يميل للأسفل بشكل طفيف أو يكون أفقياً، وهو عكس اتجاه سارية العلم"
},
{
question: "متى يتم تأكيد نموذج العلم الصاعد؟",
options: [
"عند تكوين العلم",
"عند كسر الحد العلوي للعلم",
"عند الوصول للحد السفلي",
"بعد شهر من التكوين"
],
correct: 1,
explanation: "يتم تأكيد النموذج عند كسر السعر للحد العلوي للعلم مع زيادة في حجم التداول"
},
{
question: "كيف يتم حساب الهدف السعري لنموذج العلم الصاعد؟",
options: [
"ضعف طول السارية",
"طول سارية العلم يضاف لنقطة الاختراق",
"50% من طول السارية",
"ارتفاع العلم فقط"
],
correct: 1,
explanation: "الهدف السعري = طول سارية العلم + نقطة اختراق الحد العلوي للعلم"
},
{
question: "ما هي المدة المثالية لتكوين العلم؟",
options: [
"أقل من يوم واحد",
"من 1 إلى 3 أسابيع",
"أكثر من 6 أشهر",
"سنة كاملة"
],
correct: 1,
explanation: "المدة المثالية لتكوين العلم تتراوح من 1 إلى 3 أسابيع، فترات أطول قد تضعف قوة النموذج"
},
{
question: "ما هو دور حجم التداول في نموذج العلم الصاعد؟",
options: [
"غير مهم على الإطلاق",
"يجب أن يكون مرتفعاً في السارية ومنخفضاً في العلم",
"يجب أن يكون منخفضاً دائماً",
"يجب أن يكون ثابتاً"
],
correct: 1,
explanation: "حجم التداول يكون مرتفعاً أثناء تكوين السارية، ثم ينخفض خلال فترة العلم، ثم يرتفع عند الاختراق"
},
{
question: "أين يُفضل وضع أمر وقف الخسارة؟",
options: [
"فوق الحد العلوي للعلم",
"أسفل الحد السفلي للعلم",
"عند منتصف السارية",
"لا حاجة لوقف الخسارة"
],
correct: 1,
explanation: "يُفضل وضع وقف الخسارة أسفل الحد السفلي للعلم لحماية رأس المال في حالة فشل النموذج"
},
{
question: "ما الذي يميز سارية العلم؟",
options: [
"حركة بطيئة ومتذبذبة",
"حركة سعرية قوية وسريعة للأعلى",
"حركة جانبية",
"حركة هابطة"
],
correct: 1,
explanation: "سارية العلم تتميز بحركة سعرية قوية وسريعة للأعلى تعكس زخماً شرائياً قوياً"
},
{
question: "ماذا يحدث إذا كسر السعر الحد السفلي للعلم؟",
options: [
"إشارة شراء قوية",
"فشل النموذج وإشارة بيع محتملة",
"لا يحدث شيء",
"النموذج يصبح أقوى"
],
correct: 1,
explanation: "كسر الحد السفلي للعلم يعني فشل النموذج ويمكن أن يكون إشارة بيع"
},
{
question: "في أي اتجاه يظهر نموذج العلم الصاعد؟",
options: [
"في الاتجاه الهابط فقط",
"في الاتجاه الصاعد",
"في الاتجاه الجانبي فقط",
"لا يهم الاتجاه"
],
correct: 1,
explanation: "نموذج العلم الصاعد يظهر خلال الاتجاه الصاعد ويشير إلى استمراره"
},
{
question: "ما هو شكل العلم في النموذج؟",
options: [
"دائرة",
"مستطيل أو متوازي أضلاع منحدر للأسفل",
"مثلث متساوي الأضلاع",
"خط أفقي مستقيم"
],
correct: 1,
explanation: "العلم يكون على شكل مستطيل أو متوازي أضلاع بميل هابط طفيف"
},
{
question: "ما هي نسبة نجاح نموذج العلم الصاعد تقريباً؟",
options: [
"أقل من 30%",
"حوالي 65-70%",
"100%",
"15%"
],
correct: 1,
explanation: "نموذج العلم الصاعد له معدل نجاح مرتفع يتراوح بين 65-70% وفقاً للدراسات الإحصائية"
},
{
question: "متى يُفضل الدخول في صفقة شراء؟",
options: [
"قبل تكوين العلم",
"عند اختراق الحد العلوي للعلم بحجم تداول مرتفع",
"عند الحد السفلي للعلم",
"في منتصف السارية"
],
correct: 1,
explanation: "أفضل وقت للدخول هو عند اختراق الحد العلوي للعلم بشكل واضح مع زيادة حجم التداول"
},
{
question: "ما الفرق بين العلم والراية (Pennant)؟",
options: [
"لا يوجد فرق",
"العلم متوازي أضلاع والراية مثلث متماثل",
"العلم للهبوط والراية للصعود",
"الراية أطول مدة"
],
correct: 1,
explanation: "العلم يكون على شكل متوازي أضلاع بينما الراية على شكل مثلث صغير متماثل"
},
{
question: "هل يمكن أن يظهر نموذج العلم على جميع الأطر الزمنية؟",
options: [
"لا، فقط على الأطر اليومية",
"نعم، على جميع الأطر الزمنية",
"فقط على الأطر الشهرية",
"فقط على الدقائق"
],
correct: 1,
explanation: "يمكن أن يظهر نموذج العلم على جميع الأطر الزمنية من الدقائق إلى الشهرية"
},
{
question: "ماذا يمثل العلم في النموذج؟",
options: [
"فترة تجميع قوية",
"فترة استراحة وتماسك",
"فترة بيع مكثف",
"نهاية الاتجاه"
],
correct: 1,
explanation: "العلم يمثل فترة استراحة وتماسك حيث يأخذ السوق نفساً قبل استكمال الحركة الصاعدة"
},
{
question: "ما هي أهمية تزايد حجم التداول عند الاختراق؟",
options: [
"غير مهم إطلاقاً",
"يؤكد قوة الاختراق ومصداقية النموذج",
"يعني فشل النموذج",
"يدل على نهاية الحركة"
],
correct: 1,
explanation: "تزايد حجم التداول عند الاختراق يؤكد قوة الحركة ومشاركة المتداولين مما يزيد من احتمالية النجاح"
},
{
question: "هل يمكن استخدام نموذج العلم الصاعد في التداول اليومي؟",
options: [
"لا، فقط للاستثمار طويل الأجل",
"نعم، يمكن استخدامه في جميع أنواع التداول",
"فقط في تداول الأسهم",
"فقط في العملات"
],
correct: 1,
explanation: "يمكن استخدام نموذج العلم في التداول اليومي والمتأرجح وطويل الأجل على مختلف الأسواق"
},
{
question: "ما هو أفضل مؤشر فني يمكن استخدامه مع نموذج العلم؟",
options: [
"لا حاجة لمؤشرات",
"مؤشرات الزخم مثل RSI أو حجم التداول",
"المتوسطات المتحركة فقط",
"مؤشر ستوكاستيك فقط"
],
correct: 1,
explanation: "مؤشرات الزخم وحجم التداول مفيدة لتأكيد قوة النموذج واحتمالية نجاح الاختراق"
}
];
const handleAnswer = (index) => {
if (selectedAnswer !== null) return;
setSelectedAnswer(index);
const isCorrect = index === questions[currentQuestion].correct;
setAnsweredQuestions([...answeredQuestions, {
question: currentQuestion,
selected: index,
correct: questions[currentQuestion].correct,
isCorrect
}]);
if (isCorrect) {
setScore(score + 1);
}
};
const nextQuestion = () => {
if (currentQuestion < questions.length - 1) {
setCurrentQuestion(currentQuestion + 1);
setSelectedAnswer(null);
} else {
setShowResult(true);
}
};
const resetQuiz = () => {
setCurrentQuestion(0);
setSelectedAnswer(null);
setShowResult(false);
setScore(0);
setAnsweredQuestions([]);
};
const getScoreColor = () => {
const percentage = (score / questions.length) * 100;
if (percentage >= 80) return 'text-green-600';
if (percentage >= 60) return 'text-blue-600';
if (percentage >= 40) return 'text-yellow-600';
return 'text-red-600';
};
const getScoreMessage = () => {
const percentage = (score / questions.length) * 100;
if (percentage >= 80) return 'ممتاز! لديك فهم عميق لنموذج العلم الصاعد';
if (percentage >= 60) return 'جيد جداً! فهمك للنموذج جيد';
if (percentage >= 40) return 'جيد! تحتاج لمزيد من المراجعة';
return 'يحتاج لمزيد من الدراسة والممارسة';
};
if (showResult) {
return (
))}
);
}
return (
{selectedAnswer !== null && (
)}
{selectedAnswer !== null && (
)}
);
};
export default RisingFlagQuiz;
النتيجة النهائية
{score} / {questions.length}
النسبة المئوية: {((score / questions.length) * 100).toFixed(1)}%
{getScoreMessage()}
مراجعة الإجابات:
{answeredQuestions.map((answer, index) => (
{answer.isCorrect ? (
) : (
)}
س{index + 1}: {questions[answer.question].question}
{!answer.isCorrect && (
<>
إجابتك: {questions[answer.question].options[answer.selected]}
الإجابة الصحيحة: {questions[answer.question].options[answer.correct]}
>
)}
{questions[answer.question].explanation}
امتحان نموذج العلم الصاعد
السؤال {currentQuestion + 1} من {questions.length}
النقاط: {score} / {currentQuestion + (selectedAnswer !== null ? 1 : 0)}
{questions[currentQuestion].question}
{questions[currentQuestion].options.map((option, index) => {
const isSelected = selectedAnswer === index;
const isCorrect = index === questions[currentQuestion].correct;
const shouldShowCorrect = selectedAnswer !== null && isCorrect;
const shouldShowWrong = selectedAnswer !== null && isSelected && !isCorrect;
return (
);
})}
{selectedAnswer === questions[currentQuestion].correct ? (
) : (
)}
{selectedAnswer === questions[currentQuestion].correct ? 'إجابة صحيحة!' : 'إجابة خاطئة!'}
{questions[currentQuestion].explanation}