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 */}

"Liquidity là CÁI BẪY. CHoCH là DẤU HIỆU KẺ ĐI SĂN ĐỔI HƯỚNG."

Hệ thống ICT Trading - Bài 3 Visualizer

); }; const TheorySection = () => (
{/* Core Rules */}

Quy Luật Gốc

  • 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.

Trình Tự Chuẩn

{['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 = () => ( {/* Equal Highs */} EQUAL HIGHS (Buy-side Liq) {/* Price Action Path */} {/* Annotations */} LIQ GRAB (SWEEP) HL (Đáy cấu trúc) ❌ KHÔNG PHÁ HL ); const ChochDiagram = () => ( {/* Equal Highs */} {/* Price Action Path */} {/* Annotations */} SWEEP HL (PHÁ VỠ) CHoCH ⬇️ {/* Order Block */} OB Cần Chờ ); 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;