← Về bài spinning top và doji

Cùng một nến, hai quy tắc doji

Phương pháp và công cụ tiếng Việt cho kết quả phân loại đã công bố: 120 nến hoàn tất trên một thị trường giao ngay EUR/USD của Kraken. Bản này giữ mẫu, nguồn và kết quả gốc; không lấy thêm giá thị trường hoặc đo khả năng sinh lời.

So sánh một nến

Nhập thân B, biên độ R = High − Low, cùng biên độ bình quân của 10 nến hoàn tất trước đó, đều cùng đơn vị. Ví dụ dùng pip; EUR/USD có 1 pip = 0,0001. Không đưa nến đang xét vào bình quân của chính nó. Chấp nhận dấu phẩy hoặc chấm thập phân, không dùng dấu phân cách hàng nghìn. 1,000 nghĩa là một; viết một nghìn là 1000. Dạng dấu chấm với ba số thập phân như 1.000 bị từ chối vì mơ hồ.

Tối đa 9 chữ số phần nguyên và 6 số thập phân. Quyết định dùng số nguyên có hệ số tỷ lệ, không làm tròn; hiển thị tối đa 3 số thập phân. Không suy phân loại từ tỷ lệ hiển thị đã làm tròn.

Ví dụ đầu: B = 0,5 pip, R = 2 pip, bình quân trước là 8,6 pip. B/R = 25%, nên không đạt quy tắc 5%. Ngưỡng tham chiếu 0,86 pip khiến quy tắc TA-Lib phân loại là doji.

Hai nhãn phân loại hình học giá, không chỉ dẫn mở giao dịch.

Đang so sánh chính xác điều gì?

Nguồn và loại giá
API công khai Kraken, cặp EURUSD với khóa ZEURZUSD, khung 60 phút. OHLC chứa giá giao dịch trên một thị trường giao ngay EUR/USD, không phải Bid/Ask của nhà môi giới CFD hoặc toàn thị trường ngoại hối.
Giai đoạn đánh giá
21/9/2026 00:00 UTC đến 25/9 23:00 UTC: 120 nến H1 liền nhau. Timestamp là đầu nến. Đầu tiên: 21/9 07:00 WIB, 08:00 WITA, 09:00 WIT; cuối: 26/9 06:00 WIB, 07:00 WITA, 08:00 WIT. Đó là cùng các thời điểm ở ba vùng giờ, không phải ba mẫu. Tại Việt Nam (UTC+7), đầu nến đầu là 21/9 07:00, đầu nến cuối là 26/9 06:00.
Dữ liệu khởi tạo
10 nến trước: 20/9/2026 14:00–23:00 UTC. Tổng cộng 130 bản ghi. Mẫu được chọn không có giờ thiếu, nến biên độ bằng 0 hoặc nội suy.
Bản dữ liệu đã chốt
Phản hồi nguồn được lấy ngày 2/10/2026 19:48:29 UTC, tức 3/10 02:48:29 WIB, 03:48:29 WITA, 04:48:29 WIT; tại Việt Nam là 02:48:29 ngày 3/10. Nến API cuối chưa hoàn tất được bỏ trước khi chọn giai đoạn. Phản hồi gốc nằm trong hồ sơ nghiên cứu riêng. Không chọn giai đoạn theo lợi nhuận giao dịch.
Quy tắc trong bài
R > 0 và B ≤ 0,05 × R. Các ngưỡng 3% và 10% cũng được chọn trước để kiểm tra độ nhạy, không phải kết quả tối ưu hóa.
Quy tắc tham chiếu
B ≤ 0,1 × bình quân số học High − Low của 10 nến trước. Đây là cấu hình BodyDoji mặc định TA-Lib 0.6.4. Nến hiện tại không tham gia bình quân tham chiếu.
Kiểm tra nguồn gốc
Mã Python gốc dùng Decimal. Manifest gốc ghi khớp 120/120 với CDLDOJI, thư viện C TA-Lib 0.6.4 và binding Python 0.6.8. Bản tiếng Việt không tuyên bố chạy lại thư viện C đó. Không dùng nến tương lai để phân loại.

Kết quả trên 120 nến hoàn tất

Quy tắc 5% trong bài so với tham chiếu TA-Lib
Quy tắc 5%Tham chiếu: dojiTham chiếu: không dojiTổng
Doji10111
Không doji9100109
Tổng19101120

Hai nhãn khác nhau trên 10 nến. Ngưỡng 3% cho 7 doji, 5% cho 11, 10% cho 14. Không nghiên cứu lợi suất sau đó, nên không khẳng định ngưỡng nào tốt nhất.

Hai quan sát giải thích sự khác biệt

21/9 23:00 UTC = 22/9 06:00 WIB, 07:00 WITA, 08:00 WIT; Việt Nam 22/9 06:00: B = 0,5 pip, R = 2 pip, bình quân 8,6 pip. Thân bằng 25% biên độ hiện tại, không đạt quy tắc 5% nhưng vẫn thấp hơn ngưỡng tham chiếu 0,86 pip.

23/9 14:00 UTC = 23/9 21:00 WIB, 22:00 WITA, 23:00 WIT; Việt Nam 23/9 21:00: B = 3,6 pip, R = 232,1 pip, bình quân trước 15,53 pip. B/R khoảng 1,55% đạt quy tắc nến hiện tại, nhưng thân vượt ngưỡng tham chiếu 1,553 pip.

High của quan sát thứ hai bất thường trong mẫu. Nó khớp High nến M30 bắt đầu 14:30 UTC được lấy riêng từ Kraken trong nghiên cứu gốc. Đây là kiểm tra nhất quán trong cùng nhà cung cấp, không phải xác minh thị trường độc lập. Chưa xác định nguyên nhân, không loại quan sát sau khi biết kết quả. Biên độ lớn còn ảnh hưởng 10 ngưỡng tiếp theo. So nguồn khác và chốt cách xử lý dữ liệu trước khi kiểm định chiến lược.

Tải xuống và giới hạn tái lập

Tải kết quả 120 dòng CSV

Tải mã và phương pháp gốc ZIP

CSV có B/R, B/bình quân trước và quyết định: 1 là doji, 0 là không doji. Phân cột bằng chấm phẩy, UTF-8, dấu chấm thập phân. Nhập dạng văn bản. Đây không phải OHLC đầy đủ. Giữ tên cột kỹ thuật và tài liệu tiếng Ba Lan trong ZIP để gói nguồn không đổi; giải thích tiếng Việt nằm trên trang này.

1. Kiểm tra các đặc trưng đã công bố

Giải nén ZIP. Dùng Python 3.10 trở lên; lệnh sau tính lại nhãn và số lượng từ đặc trưng, không cần thư viện bổ sung:

python doji_analysis.py --features doji-klasyfikacje-20260921-25.csv

2. Tính lại từ OHLC nguồn

Cần bản ghi Kraken H1 EUR/USD của giai đoạn đó và 10 nến khởi tạo. Đầu vào có thể là phản hồi API đã lưu dạng JSON. Kho H1 chính thức cũng có thể chuyển thành CSV có hàng tiêu đề timestamp,open,high,low,close; giữ Unix giây, dấu chấm thập phân, giá giao dịch và UTC. Định dạng kho chính thức không có hàng tiêu đề khác định dạng đầu vào có tiêu đề mà mã yêu cầu.

python doji_analysis.py --input kraken-eurusd-h1.json --expect-original manifest.json --output wyniki

Endpoint OHLC Kraken chỉ trả tối đa 720 bản ghi mới nhất; bản ghi cuối chưa hoàn tất. Tham số since không tự mở được mọi giai đoạn cũ. Kiểm tra phạm vi ngày kho chính thức; không có nến có thể vì không có giao dịch. Không đổi ngày nghiên cứu hoặc điền khoảng trống. Không có giá nguồn thì chỉ kiểm tra đặc trưng và số lượng, chưa tái lập toàn bộ từ OHLC. Nhà cung cấp sửa dữ liệu có thể làm đổi hash; --expect-original sẽ dừng quy trình.

Nếu có NumPy và TA-Lib, --verify-talib là tùy chọn. Mã ghi phiên bản và số kết quả khớp. Không đổi cấu hình nến TA-Lib.

Dấu vết dữ liệu

SHA-256 phản hồi API gốc:

0ae5d42eaad7bc167490204719257afddbfc752af1dfdf2442f07ae06e3db68d

SHA-256 của 130 bản ghi OHLC được chọn; cách chuẩn hóa nằm trong mã:

74053898bb51b9f9c5d52dadb19487a417c2e6929fcc214d6d1c46312458de57

Gói giữ mã gốc, kết quả đặc trưng, phương pháp và manifest hash. Không kèm phản hồi thô nhà cung cấp; tệp đó nằm trong hồ sơ nghiên cứu riêng.

Bài tập · 2 phút: hai nhãn giờ không tạo hai nến

Quan sát 21/9 23:00 UTC hiển thị tại Việt Nam là 22/9 06:00. Nếu lưu cả hai dòng mà bỏ vùng giờ, có thể kết luận đây là hai nến khác nhau hoặc dữ liệu có khoảng trống bảy giờ không?

Xem giải thích

Không. 22/9 06:00 tại Asia/Ho_Chi_Minh (UTC+7) trừ bảy giờ là 21/9 23:00 UTC. Hai dòng cùng khóa thời gian; giữ timestamp UTC và khung 60 phút làm định danh, vùng giờ địa phương chỉ để hiển thị. Mô hình gốc WIB 06:00 và WIT 08:00 cũng là cùng thời điểm, không phải khoảng trống hai giờ. Đây là kiểm tra định danh, không chứng minh mọi dữ liệu nhà cung cấp đều đầy đủ.

Giới hạn kết luận

Kết quả so hai định nghĩa trên một mẫu một tuần ở một thị trường. Không xác định tần suất doji toàn Forex, hướng nến kế tiếp hoặc lợi thế chiến lược. Không tính lợi suất, phí, vào/thoát lệnh hay ý nghĩa thống kê. Nhiều nhãn doji hơn không đồng nghĩa dự báo đúng nhiều hơn.

Phương pháp và nguồn

Nghiên cứu nguồn đầu tiên: 2/10/2026. Bản tiếng Việt giữ mẫu gốc. Về bài doji →