import React, { useState, useEffect } from 'react';
import {
BookOpen,
CheckCircle2,
AlertTriangle,
ArrowRightCircle,
Target,
TrendingDown,
TrendingUp,
Zap,
Info,
ChevronRight,
MousePointer2
} from 'lucide-react';
const App = () => {
const [activeTab, setActiveTab] = useState('theory');
const [completedTasks, setCompletedTasks] = useState([]);
const toggleTask = (id) => {
setCompletedTasks(prev =>
prev.includes(id) ? prev.filter(t => t !== id) : [...prev, id]
);
};
const sections = {
theory: { label: 'Lý thuyết Gốc', icon: },
visualizer: { label: 'Mô phỏng Chart', icon: },
checklist: { label: 'Thực hành', icon: }
};
return (
{/* Navigation */}
{/* Header Section */}
Bài 3: Kết hợp Liquidity + Structure
Khi Nào Thị Trường
Thực Sự Đổi Vai?
Nối não giữa Bẫy Thanh Khoản (Bài 1) và Cấu Trúc (Bài 2) để tìm ra điểm xoay chiều chuẩn xác nhất của "Kẻ đi săn".
{activeTab === 'theory' && }
{activeTab === 'visualizer' && }
{activeTab === 'checklist' && }
{/* Footer */}
);
};
const TheorySection = () => (
{/* Core Rules */}
-
Chưa quét thanh khoản → Không đổi xu hướng.
-
Quét thanh khoản xong → Mới có khả năng CHoCH.
{['Tiếp cận Liquidity', 'Quét (Stop Hunt)', 'Mất động lực', 'CHoCH (Phá cấu trúc nhỏ)', 'Đổi vai'].map((step, i) => (
{i+1}
{step}
))}
{/* Comparison Table */}
Bảng Phân Biệt Nhanh
| Hiện tượng |
Quét Đỉnh/Đáy |
Phá Cấu Trúc |
Kết Luận |
| Liquidity Grab |
✅ Có |
❌ Không |
Chỉ là bẫy |
| CHoCH (Thật) |
✅ Có |
✅ Có |
Đổi Xu Hướng |
{/* Mistakes */}
3 Sai Lầm Chết Người
{[
"Vào lệnh ngay khi thấy râu nến quét (Chưa có CHoCH).",
"Nhầm râu nến với CHoCH (ICT dùng cấu trúc đóng nến).",
"Không xác định được Đáy/Đỉnh cấu trúc thật sự."
].map((m, i) => (
{i+1}.
{m}
))}
);
const VisualizerSection = () => {
const [scenario, setScenario] = useState('sweep');
return (
{scenario === 'sweep' ? : }
{scenario === 'sweep' ? "Case Study: Chỉ là quét" : "Case Study: Đổi cấu trúc"}
{scenario === 'sweep' ? (
<>
Giá phá đỉnh Equal Highs phía trên.
Nhưng KHÔNG phá đáy cấu trúc (HL).
KẾT LUẬN: Cấu trúc tăng vẫn còn nguyên. Đừng SELL!
>
) : (
<>
Giá quét thanh khoản tại đỉnh.
Giá quay xuống phá Đáy cấu trúc (HL) gần nhất.
KẾT LUẬN: Đã CHoCH. Chờ hồi lên vùng OB để SELL.
>
)}
);
}
const SweepDiagram = () => (
);
const ChochDiagram = () => (
);
const ChecklistSection = ({ completedTasks, toggleTask }) => {
const tasks = [
"Mở Chart M15 hoặc H1 của 1 cặp tiền bất kỳ.",
"Xác định các vùng đỉnh/đáy bằng nhau (Equal Highs/Lows).",
"Chờ đợi giá quét qua các vùng thanh khoản đó.",
"Quan sát nến đóng cửa: Có phá HL/LH gần nhất để CHoCH chưa?",
"Ghi nhật ký: 'Liquidity Grab' hay 'Sweep + CHoCH'?",
"KHÔNG VÀO LỆNH (Chỉ luyện tập con mắt)."
];
return (
Thực Hành 5 Ngày
Mỗi ngày tìm ít nhất 3 setup như trên chart thật.
{Math.round((completedTasks.length / tasks.length) * 100)}%
Hoàn thành
{tasks.map((task, i) => (
toggleTask(i)}
className={`flex items-center gap-4 p-4 rounded-xl border cursor-pointer transition-all ${
completedTasks.includes(i)
? 'bg-blue-600/10 border-blue-600/30 text-slate-400'
: 'bg-slate-950 border-slate-800 text-white hover:border-slate-700'
}`}
>
{completedTasks.includes(i) && }
{task}
))}
Nhấn vào mỗi mục để đánh dấu tiến độ
);
};
export default App;