Mục lục bài viết

Bằng chứng và phạm vi

Fidelity mô tả MFI và lưu ý chỉ báo có thể ở vùng cực trị lâu. Tài liệu TradingView xác nhận đây là oscillator có sử dụng volume. Chưa có bằng chứng độc lập cho chiến lược threshold/divergence tự thiết kế trong bài. [1] [2]

Dữ liệu và thị trườngOHLCV cùng đơn vị và lịch bar. Cần thêm một nến trước cửa sổ để biết chiều thay đổi typical price ở nến đầu tiên.
Khung thời gian nghiên cứuKhung ngày hoặc intraday phải được thử riêng; các cửa sổ trong bài là cấu hình nghiên cứu, không phải tham số tối ưu.
Chuỗi MFI tổng hợp giảm qua 20 rồi tiếp tục xuống 12 trước khi hồi; trục dọc là oscillator 0–100, không phải phần trăm xác suất.Mở hình kích thước đầy đủ
Dữ liệu minh họa tự tạo. Chuỗi MFI tổng hợp giảm qua 20 rồi tiếp tục xuống 12 trước khi hồi; trục dọc là oscillator 0–100, không phải phần trăm xác suất.

Quy trình thực hành

Sơ đồ quy trình Money Flow Index: tính MFI và kiểm tra phân kỳ đúng thời điểm
Các bước được mô tả đầy đủ bên dưới. Tại mỗi bước, dữ liệu thiếu hoặc điều kiện sai phải có lý do loại bỏ.
  1. Tính TPHLC3 từ nến đã đóng và cùng đơn vị volume.
  2. Phân nhóm flowTheo TP tăng/giảm so nến trước.
  3. Xử lý biênP+N bằng 0 trả NA; một phía bằng 0 trả 0 hoặc 100.
  4. Xác nhận giáCrossover hoặc divergence cần trigger riêng.
  5. Đối chứngSo MFI, RSI và biến thể không volume.

Không phải RSI chỉ đổi tên

Typical price TP=(H+L+C)/3. Raw flow là TP nhân V, được xếp nhóm dương nếu TP tăng, âm nếu TP giảm. Hai chữ dương/âm ở đây là nhãn phân nhóm; tổng âm lưu độ lớn không âm để tính tỷ số. TP không đổi được bỏ khỏi cả hai nhóm theo quy ước bài.

MFI dùng volume trong trọng số nên có thể khác RSI chỉ dựa biến động close. [1] Một ngày volume lớn có thể chi phối tổng nhiều nến. Tuy nhiên đây vẫn là phép biến đổi OHLCV, không cho biết mua chủ động, tiền mới vào quỹ hay tài khoản tổ chức.

Tỷ số và các trường hợp biên

MFI chuẩn được viết 100−100/(1+P/N), tương đương 100P/(P+N) khi P+N dương. Dạng sau tránh phép chia trực tiếp cho N bằng 0. Nếu P>0,N=0 thì bằng 100; P=0,N>0 bằng 0; cả hai bằng 0 thì NA. Một số phần mềm có quy ước giá bằng nhau khác, cần đối chiếu từng nến.

Bản này yêu cầu TP dương, volume không âm và đủ 15 quan sát hợp lệ. Giá futures không dương có thể làm raw flow âm, phá vỡ cách chia hai tổng độ lớn không âm và thang 0–100; khi gặp trường hợp đó trả unsupported_price_domain, không tự lấy trị tuyệt đối hoặc đổi trọng số.

if not valid_full_window(t,15): return INSUFFICIENT_DATA
for i in t-14..t:
    if not finite(H[i],L[i],C[i],V[i]): return INVALID_DATA
    if not (L[i] <= C[i] <= H[i]) or V[i] < 0: return INVALID_DATA
    TP[i] = (H[i]+L[i]+C[i])/3
    if TP[i] <= 0: return UNSUPPORTED_PRICE_DOMAIN
for i in t-13..t:
    positive[i] = TP[i]*V[i] if TP[i] > TP[i-1] else 0
    negative[i] = TP[i]*V[i] if TP[i] < TP[i-1] else 0
P = sum(positive[t-13:t+1])
N = sum(negative[t-13:t+1])
MFI[t] = NA if P+N == 0 else 100*P/(P+N)
# 14 closed bars plus a previous TP are required.
# No decision uses an unfinished bar.

Ví dụ tính tay và thất bại của lệnh bắt đáy

Dùng ba nến để dễ thấy công thức, không thay kỳ 14 trong thử nghiệm: TP trước cửa sổ là 100. Ba TP sau là 101,100,102; volume lần lượt 10,20,10. P=1010+1020=2030, N=2000; MFI=100×2030/4030≈50,37. Volume ở nến TP giảm lớn đủ cân bằng hai nến TP tăng.

Trường hợp thất bại: MFI đi từ 25 xuống 18, giá từ 100 xuống 97. Mua vì dưới 20 có thể tiếp tục chịu giảm tới 92 khi MFI còn quanh 10. Chỉ báo cực trị không đảm bảo dòng giảm kết thúc. Ngược lại MFI>80 có thể đi cùng xu hướng tăng kéo dài; short ngay mỗi lần vượt 80 là giả thuyết riêng, không phải kết luận từ định nghĩa. [1]

Hai cách dùng phải thử tách biệt

Phiên bản hồi quy đề xuất: sau MFI<20, đợi MFI cắt lại trên 20 và giá đóng vượt đỉnh nến trước trong bối cảnh range đã xác định bằng dữ liệu trước sự kiện. Entry ở nến kế tiếp, stop dưới đáy vùng sự kiện; hủy nếu không có xác nhận trong năm nến. Mức 20 và timeout là cấu hình cần kiểm định.

Phiên bản theo trend: giữ cấu trúc higher-low và dùng MFI hồi xuống rồi phục hồi như feature phụ, không bắt buộc chạm 20. Chọn hai phiên bản trước khi chia test; không nhìn chart rồi tùy hoàn cảnh gọi cùng một tín hiệu là trend-following hoặc mean-reversion.

Ghép MFI với pivot nhân quả

Lấy p1 và p2 là hai đáy giá đã xác nhận. Đòi low2 thấp hơn low1 nhưng MFI tại p2 cao hơn MFI tại p1; dùng giá trị indicator tại đúng mốc pivot. Candidate xuất hiện tại confirmed_at của p2 và chỉ chờ trigger sau đó. Có thể thử min MFI trong cửa sổ quanh pivot nhưng phải quy định bán kính, delay và tie-break trước.

Ví dụ: low1=100, MFI1=18; low2=98, MFI2=28 có phân kỳ tăng theo định nghĩa. Nếu p2 cần hai nến bên phải thì ta chờ đủ; nếu giá đã phá neckline trước lúc đó, không được gắn entry hồi tố. Nếu low tiếp tục thủng 98 trước xác nhận vào lệnh, candidate bị hủy theo rule cấu trúc.

Volume có thực sự thêm thông tin?

So cùng tập candidate với RSI, MFI và một phiên bản bỏ V (đặt V bằng hằng số). Kiểm tra xem cải thiện đến từ volume, typical price hay đơn giản cửa sổ khác. Không tối ưu RSI và MFI trên hai tập khác nhau rồi gọi chênh lệch là tác dụng volume.

Chia test theo trend/range và nhóm thanh khoản; tính spread, slippage, borrow khi short. Báo tỷ lệ NA, số cực trị không đảo chiều, số candidate bị hủy và expectancy ròng. Kiểm tra nguồn volume trước khi kết luận; cảnh báo chất lượng của nghiên cứu sàn lịch sử không phải tỷ lệ sai số hiện tại cho mọi feed. [3]

Sai lầm thường gặp

Âm hóa tổng N

N là tổng độ lớn của nhóm giảm; đưa N âm làm oscillator sai.

Dùng current bar

Volume và TP chưa chốt làm tín hiệu thay đổi; cần backtest intrabar nếu muốn giao dịch sớm.

Thêm MFI vào RSI như xác nhận độc lập

Hai indicator dùng nhiều thông tin chung; phải đo phần tăng thêm.

Checklist trước khi dùng phương pháp

Tự đánh dấu khi đã kiểm tra trên dữ liệu của bạn. Trạng thái lưu trong trình duyệt này; đây không phải chứng nhận chiến lược có lãi.

0/8 mục

Câu hỏi thường gặp

MFI dưới 20 có phải đáy không?

Không. Đó chỉ là phân bố flow của cửa sổ; cần bối cảnh và xác nhận giá.

MFI bằng 100 có lỗi không?

Không nếu chỉ có positive flow trong cửa sổ. Khi không có cả positive lẫn negative flow, bài này trả NA.

Nguồn nghiên cứu

Các nguồn dưới đây hỗ trợ phần định nghĩa hoặc bằng chứng được ghi bên cạnh. Mã giả, ví dụ minh họa và tham số đề xuất trong bài cần được kiểm định riêng.

  1. Money Flow IndexFidelity. Định nghĩa MFI và giới hạn các vùng cực trị. Đối chiếu: .
  2. Pine functions for popular indicatorsTradingView. Tài liệu MFI trong Pine; không cung cấp track record. Đối chiếu: .
  3. Crypto Wash TradingNBER. Thông tin nghiên cứu về chất lượng volume trong mẫu sàn lịch sử; không suy rộng tỷ lệ cho tất cả sàn hiện nay. Đối chiếu: .

Đọc tiếp theo phương pháp

Lưu ý rủi ro

Nội dung phục vụ giáo dục và thiết kế nghiên cứu, không phải lời khuyên tài chính. Backtest là mô phỏng lịch sử, không bảo đảm hiệu quả tương lai và không đặt lệnh giao dịch thật. Các phương pháp trong thư viện không mặc nhiên là tính năng đã có trong ứng dụng. Xem phương pháp tính và trung tâm học.

Kiểm tra quy tắc trước khi dùng vốn thật

Đối chiếu khả năng hỗ trợ của ứng dụng, dữ liệu và từng giao dịch mô phỏng; các detector nâng cao có thể cần triển khai riêng.

Tải Backtest trên App Store