{ "rule_version": "fm58-practice-v1", "purpose": "Hai tình huống giảng dạy riêng được chọn không xem kết quả về sau. Chỉ chuẩn bị, không sửa bài.", "frozen_before_first_scan": true, "dataset_order": [ "USDJPY-H1.csv", "GBPUSD-H1.csv", "EURUSD-H1.csv" ], "selection_order": "Thời điểm nhận diện đủ điều kiện sớm nhất trên mọi bộ dữ liệu; thứ tự liệt kê phân xử khi trùng giờ. Chọn trường hợp đầu tiên cho mỗi bài. Không lọc theo giá sau, đảo chiều, khả năng sinh lời, hình đẹp hay số ví dụ.", "original_data": "patterns-5-4-real-2026-10-21/data; kiểm tra SHA-256 thông tin nguồn gốc và SHA-256 từng bộ được chọn trước tính toán", "price_input": "OHLC Bid đã đóng. Close là đầu vào RSI và Bollinger/SMA; cửa sổ High/Low là đầu vào stochastic và True Range. Không có Ask, spread, khớp lệnh hay tick đặt thêm.", "decimal_policy": "Chỉ lượng tử hóa nhiễu lưu CSV từ số thực nhị phân về số chữ số gốc của nhà cung cấp, mức chỉnh tuyệt đối tối đa cho phép nhỏ hơn 1e-12. Giữ chuỗi gốc và SHA kho gốc.", "time_basis": "Nhãn giờ mở thanh MT5 gốc. Độ lệch đồng hồ nhà môi giới chưa xác minh độc lập; không đổi nhãn thành UTC/giờ địa phương. Thời điểm nhận diện là ranh giới đủ điều kiện sớm nhất sau khi thanh kết thúc, không phải received_at trực tiếp đã đo.", "source_prefix": "Chỉ báo luôn dùng mọi bản ghi trước đó đã xuất từ chỉ mục gốc 0. Không khởi tạo lại ở cửa sổ ví dụ, đầu quý hay mép ảnh.", "rsi14": { "input": "Close", "seed": "Trung bình phần dương và âm của 14 thay đổi giữa các giá đóng cửa liên tiếp đầu tiên; RSI đầu tại chỉ mục nguồn 14", "recurrence": "U_t=(13*U_prev+gain_t)/14; D_t=(13*D_prev+loss_t)/14; RSI=100*U/(U+D), không làm tròn trung gian", "zero_policy": "Trước khởi tạo: chưa có. U=D=0: chưa có. U dương với D=0:100. U=0 với D dương:0." }, "divergence": { "centre_range_start_inclusive": "2026-01-01 00:00", "recognition_range_end_exclusive": "2026-04-01 00:00", "pivot": "Cực đại hoặc cực tiểu cục bộ chung nghiêm ngặt của Close AND RSI tại cùng tâm, cao/thấp hơn cả hai thanh đã đóng bên trái và hai bên phải. Loại bằng nhau và RSI chưa có. Định nghĩa này so điểm xoay giá đóng, không phải bóng High/Low.", "pairing": "Ghép cực đại chung xác nhận liên tiếp hoặc cực tiểu chung xác nhận liên tiếp cùng loại. Không bỏ qua điểm xoay chung cùng loại ở giữa để làm phân kỳ đẹp hơn.", "spacing_bars_inclusive": [ 5, 30 ], "continuity": "Mọi thanh từ tâm đầu trừ 2 đến tâm sau cộng 2 phải cách đúng một giờ danh nghĩa; không suy ra nguyên nhân khoảng trống.", "bearish": "Close2 >= Close1 + one pip; RSI1 >=60; RSI2 <= RSI1 -3 points", "bullish": "Close2 <= Close1 - one pip; RSI1 <=40; RSI2 >= RSI1 +3 points", "recognition": "Hai thanh bên phải pivot2 phải đóng. Ghi sự kiện ở chỉ mục pivot2+2; đủ điều kiện sớm nhất tại epoch mở thanh đó cộng 3600 giây, còn phải nhận bản ghi cuối.", "threshold_meaning": "Một pip và 3 điểm RSI là ngưỡng tách biệt cố định để giảng dạy, không phải tham số tối ưu giao dịch hay lợi thế thống kê.", "before_frame": "Tại lúc đóng tâm điểm xoay thứ hai đề xuất: hiện là tạm thời, chưa xác nhận, chỉ dùng dữ liệu khi đó.", "recognition_frame": "Tại lúc đóng pivot2+2: lần đầu kiểm tra được điểm xoay chung và phân kỳ theo quy tắc này.", "after_horizon_observed_H1": 12, "after_use": "Mở 12 thanh H1 quan sát đã đóng tiếp theo sau nhận diện, không chọn theo hướng. Ghi rõ khoảng trống lịch. Kết quả này không đo vào/ra lệnh hay khả năng sinh lời.", "plot_context_bars_before_first_pivot": 24 }, "stochastic_persistence": { "run_start_range_inclusive": "2026-04-01 00:00", "recognition_range_end_exclusive": "2026-07-01 00:00", "K_period": 14, "slowing": 3, "D_period": 3, "K_formula": "Tính cho mỗi thanh Ln=min(Low over latest 14), Hn=max(High over latest 14), A=Close-Ln, B=Hn-Ln. SlowK=100*sum(A over latest 3)/sum(B over latest 3). Đây là cách dựng tỷ lệ tổng Low/High đã công bố, không phải SMA của 3 %K thô hay số đọc lại từ terminal.", "D_formula": "SMA của 3 SlowK sẵn có mới nhất; chưa có giá trị khi cửa sổ chưa đủ", "zero_policy": "Mẫu số tổng bằng không làm SlowK chưa có và đặt lại chuỗi; không giữ giá trị trước hay tạo giá trị giả", "extreme_upper_inclusive": 80, "extreme_lower_inclusive": 20, "consecutive_extreme_bars": 6, "trigger": "Lần đầu hoàn tất chuỗi sáu thanh liên tiếp. Chỉ kích hoạt lại sau khi SlowK rời vùng cực trị đó. Sáu thanh phải cách đúng một giờ và đều mở trong khoảng ví dụ Q2.", "past_only_upward_descriptor": "Tại thanh thứ sáu: Close > SMA50, SMA50 > SMA50 mười thanh quan sát trước, và Close > Close hai mươi thanh quan sát trước", "past_only_downward_descriptor": "Tại thanh thứ sáu: Close < SMA50, SMA50 < SMA50 mười thanh quan sát trước, và Close < Close hai mươi thanh quan sát trước", "direction_matching": "Cực trị trên cần mô tả hướng tăng; cực trị dưới cần mô tả hướng giảm. Đây là mô tả rõ dữ liệu quá khứ, không phải bằng chứng chế độ xu hướng tương lai.", "descriptor_continuity": "60 thanh mới nhất dùng mô tả phải cách đúng một giờ. Loại ứng viên có khoảng trống trong đoạn đó, không đổi ngưỡng.", "ATR_context": "TR_i=max(High-Low,abs(High-Close_prev),abs(Low-Close_prev)) for i>=1. ATR14=SMA của 14 TR mới nhất, đầu tiên ở index14. Biến thể SMA nêu rõ theo mã MT5, không phải RMA Wilder. Chỉ là bối cảnh, không phải cổng chọn hay phiếu độc lập.", "Bollinger_context": "SMA20 Close ±2 độ lệch chuẩn tổng thể trên cùng 20 giá đóng, mẫu số20. Chỉ cửa sổ đầy đủ. Chỉ là bối cảnh, không phải cổng chọn hay phiếu độc lập.", "before_frame": "Tại thanh thứ năm của chuỗi: chưa biết số đọc thứ sáu đạt điều kiện; mọi giá trị xu hướng/bối cảnh hiển thị dừng tại đó.", "recognition_frame": "Khi thanh thứ sáu đóng: lần đầu xác lập chuỗi sáu số đọc theo quy tắc đã đóng băng.", "after_horizon_observed_H1": 12, "plot_context_bars_before_run": 36 }, "disjointness": "Hai cửa sổ được chọn không được chồng nhau hay chồng EURUSD cũ từ 2025-12-02 đến 2025-12-04. Báo lỗi, không sửa bằng cách chọn kết quả sau đẹp hơn.", "no_match_policy": "Báo không có trường hợp đạt v1; không âm thầm nới ngày, ngưỡng, thứ tự dữ liệu hay định nghĩa điểm xoay. Muốn sửa phải có phiên bản quy tắc mới rõ ràng trước lượt quét mới.", "not_authorised": [ "gọi MT5", "giao dịch", "sửa bài", "ghi NAS", "triển khai (deploy)", "tuyên bố hiệu suất thống kê" ] }