Nhật ký giao dịch — bảng tính, thống kê và rà soát hiệu suất

Hướng dẫn đầy đủ để xây bảng nhật ký trong khoảng 20 phút (thời gian tham khảo cho người biết cơ bản bảng tính; nhập lần đầu và kiểm tra dữ liệu có thể lâu hơn): 26 cột có tên kỹ thuật nhất quán với bài 15.9, công thức hàng và bảng tổng hợp chín chỉ số với hai biến thể (Excel tiếng Ba Lan và tiếng Anh; thiết lập bảng tính đám mây được nói bên dưới), cùng CSV khởi đầu tạo trong trình duyệt. Có thể tải XLSX làm sẵn hoặc tự xây theo toàn bộ hướng dẫn dưới. Hiểu công thức giúp nắm phép tính và tự sửa; nhờ tên cột chung, bản xuất CSV từ nhật ký này, khi chọn đúng dấu phân cách, mã hóa và định dạng ngày, dùng được với script S1–S3 có sẵn trong phụ lục I và script từ prompt P5; kiểm toán P6–P7 cần thêm hai cột (bên dưới).

Bảng nhật ký giao dịch với thống kê tự động — các cột kế hoạch và thực thi, công thức tỷ lệ thắng, profit factor, kỳ vọng cùng bảng chỉ số trên màn hình
Điểm cốt lõi trong 60 giây
  • 26 cột trong năm nhóm: nhận diện, bối cảnh, kế hoạch so với thực thi, chi phí và kết quả, quy trình — chỉ dùng công thức ở nơi số liệu suy ra từ trường khác (slippage, r_net, execution_drag)
  • Bảng tổng hợp chín công thức: số giao dịch, tỷ lệ thắng, profit factor, kỳ vọng, tổng R, drawdown tối đa theo R, MAE/MFE trung bình, tỷ lệ thực thi không lỗi — chỉ số hiệu suất tính từ r_net, chỉ số quy trình từ các cột riêng; phạm vi MAE/MFE được giải thích dưới
  • Hai biến thể công thức: Excel PL (ŚREDNIA, LICZ.JEŻELI, chấm phẩy) và Excel EN (AVERAGE, COUNTIF, dấu phẩy) — có nút chuyển và sao chép mỗi khối
  • Chỉ số mô tả mẫu từ lần ghi đầu tiên: khoảng 50 giao dịch là mốc rà soát ví dụ trong khóa học, không phải mức tối thiểu phổ quát hay bằng chứng lợi thế. Kết luận tùy độ phân tán, phụ thuộc giữa kết quả và kế hoạch kiểm thử. Vi phạm giới hạn hoặc lỗi dữ liệu cần xử lý ngay; đổi quy tắc chiến lược cần giả thuyết và xác thực riêng

Nhật ký XLSX làm sẵn

Tải nhật ký giao dịch — XLSX tiếng Việt

Tệp có ba trang tính: Statistics (thống kê), Journal (nhật ký), Instructions (hướng dẫn), 999 hàng chuẩn bị sẵn và công thức lãi/lỗ ròng, R, trượt giá, drawdown. Cột A–Z giữ định dạng bên dưới; tệp còn có AA–AC (tự đánh giá từ 15.9), AD (ghi chú), AE–AF (đường vốn và drawdown), AG (thực thi không lỗi) — xuất CSV cho script chỉ gồm A:Z. Ô vàng nhận dữ liệu; không ghi đè cột công thức bằng bản xuất broker. Swap hoặc hoa hồng thật sự bằng không thì nhập 0 — dữ liệu thiếu vẫn là thiếu.

Ví dụ trong hướng dẫn không đi vào thống kê của tệp. Drawdown gồm điểm xuất phát 0 R: lỗ đầu tiên −1 R tạo drawdown 1 R. Sắp giao dịch theo thời gian đóng; giữ thứ tự nhất quán nếu cùng thời điểm. Không chỉ sắp riêng cột C — mọi trường của bản ghi phải đi cùng. Sau đổi thứ tự, kiểm tra AE/AF còn cộng dồn từ hàng 2. Cột phụ coded_clean không coi mã lỗi trống là thực thi không lỗi.

Bảng tính hiển thị MAE và MFE trung bình cho mọi phép đo đã nhập (kể cả giá trị bằng không), còn biến thể riêng cho giao dịch thắng/thua ở bên dưới. Tệp tính profit factor theo R, không phải tiền tài khoản. Chỉ điền lãi/lỗ dự kiến ở cột T cho cùng loại thoát: SL dự kiến với SL thực thi, TP với TP. Để trống nếu kiểu thoát không có đối chiếu tương ứng.

Bản PL dùng PLN trong các trường *_pln của nó. Bản tiếng Anh có cùng thứ tự cột và tên trường tiền trung tính, không có hậu tố _pln ; bạn chỉ định tiền tài khoản trong hướng dẫn. Khi chuyển CSV giữa ngôn ngữ, ánh xạ tiêu đề và kiểm tra tiền tệ. Chỉ đổi nhãn tiền không chuyển đổi giá trị.

Bảng tính làm sẵn hoặc tự xây

  • Hai cách đến cùng một nhật ký: XLSX làm sẵn có công thức hiển thị, hướng dẫn đầy đủ cho phép tự dựng lại bảng tính. Tệp không có macro hoặc kết nối broker. CSV khởi đầu vẫn tạo cục bộ trong trình duyệt. Phiên bản tệp nằm ở trang Instructions (hiện 1.2, ngày 21 tháng Chín năm 2026; bài có số phiên bản riêng).
  • Bảng tính tự xây giúp bạn hiểu tận gốc: nhiều năm sau công thức báo lỗi (cặp mới, định dạng xuất khác), bạn dễ tìm nguyên nhân hơn vì biết nó tính gì. Mẫu “ma thuật” có thể hỏng âm thầm — nhật ký sai còn tệ hơn không có nhật ký.
  • Tên cột dùng chung toàn khóa học: tiêu đề lấy từ đặc tả CSV ngắn ở 15.9 (bảng tính bao quát khoảng 20 trong 29 trường logic được đánh số ở 15.9 — trường thiếu liệt kê ở Nguồn), script S1–S3 có sẵn trong phụ lục I và script prompt P5 cũng chờ cùng tên; kiểm toán P6–P7 trong xưởng AI còn cần trạng thái tuân thủ kế hoạch và ghi chú trạng thái — thêm: status = “plan” cho error_code 0, “breach” cho mã 1–9; bỏ hàng mã 10 (hạ tầng) khỏi bản xuất P6 hoặc gắn status “infrastructure” và giải thích trong prompt; lấy ghi chú trạng thái từ trường tự đánh giá (AA–AC). Một định dạng giúp giảm chuyển đổi dữ liệu giữa công cụ.
  • Đám mây tiện, nhưng đây là dữ liệu tài khoản: khối lượng vị thế, kết quả, lỗi quy trình. Chủ động chọn lưu đám mây hay cục bộ — theo cùng tiêu chí khi dán dữ liệu vào mô hình AI (phần vệ sinh dữ liệu trong phụ lục H).
Cấu trúc hàng nhật ký: nhận diện, bối cảnh, kế hoạch và thực thi, chi phí và kết quả, quy trình — kết quả theo R tính từ lãi/lỗ ròng và rủi ro dự kiến 1. Nhận diệnID · thời gian · cặp tiền hướng 2. Bối cảnhsetup · cấp · phiên 3. Kế hoạch / thực thigiá vào/SL/TP dự kiến/thực tế trượt giá 4. Chi phí và kết quảswap · hoa hồng PnL · r_net 5. Quy trìnherror_code trạng thái · chất lượng r_net = lãi/lỗ ròng / rủi ro dự kiến một cột cấp dữ liệu cho toàn bảng chỉ số — vì vậy nó dùng lãi/lỗ RÒNG

Cấu trúc: 26 cột trong 5 nhóm

Chữ cột (A–Z) khớp bố cục dùng trong công thức dưới — đổi thứ tự phải cập nhật tham chiếu. Giữ tiêu đề kỹ thuật tiếng Anh để CSV dùng với script P5 không cần ánh xạ. Có thể thêm ba trường tự đánh giá (mental_state, sleep_hours, decision_quality từ 15.9) thành cột tùy chọn AA–AC (đã có trong tệp) — công thức không cần chúng.

CộtTiêu đềNhóm 1: nhận diệnVí dụ
Atrade_idsố thứ tự hoặc ID nền tảng2026-041
Bopen_time_utcngày giờ mở theo UTC — bản xuất MT4/MT5 dùng giờ máy chủ broker (ví dụ GMT+2/+3 — kiểm tra thông số broker); đổi từ múi giờ máy chủ (15.9); định dạng YYYY-MM-DD HH:MM2026-07-08 07:42
Cclose_time_utcngày giờ đóng theo UTC (như B); giá trị ngày/giờ thực trong bảng tính, không phải văn bản. Trống = giao dịch mở, không tính chỉ số; ngày không hợp lệ hoặc giờ đóng trước giờ mở đã nhập sẽ không cho R2026-07-08 13:15
Dpaircông cụ — 6 ký tự không phân cách hoặc hậu tố broker (EURUSD, không phải EUR/USD hay EURUSD.m); công thức pip chỉ cho cặp FX (pip là 0.0001, hoặc 0.01 với JPY — nhận diện theo phần cuối); công cụ khác cần nhập kích thước pip theo thông số và đổi hệ sốEURUSD
Edirectionlong / short (chữ thường — công thức trượt giá so sánh văn bản)long
CộtTiêu đềNhóm 2: bối cảnhVí dụ
Fsetuptên setup trong playbook (phụ lục E)asia-london-breakout
Gsetup_classA+ / A / B / C — cấp playbook lúc vào; danh sách tệp theo 15.9. Không phân cấp dựa kết quả sau đóA+
Hsessionphiên vào (Asia / London / NY / overlap)London
CộtTiêu đềNhóm 3: kế hoạch / thực thiVí dụ
Iplanned_entrygiá vào dự kiến (ghi TRƯỚC khi đặt lệnh)1.0850
Jactual_entrygiá khớp thực từ nền tảng1.0852
Kplanned_slstop-loss dự kiến1.0820
Lplanned_tptake-profit dự kiến1.0910
Mactual_exitgiá đóng thực tế1.0907
Nspread_pipsspread lúc vào0.7
Oslippage_entry_pipscông thức — trượt giá lúc vào theo pip, dương = khớp tệ hơn2.0
CộtTiêu đềNhóm 4: chi phí và kết quảVí dụ
Pswapswap có dấu trong tiền tài khoản (chi phí âm)−3.20
Qcommissionhoa hồng là chi phí không âm; 0 nếu không có. Đổi chi phí âm trong bản xuất broker thành số dương để công thức không cộng vào lợi nhuận7.00
Rbroker_gross_pnllãi/lỗ gộp từ nền tảng: sau spread và thực thi giá, trước swap và hoa hồng201.67
Sbroker_net_pnlcông thức (hoặc nhập tay nếu broker báo lãi/lỗ ròng)191.47
Tplanned_gross_pnllãi/lỗ dự kiến cho cùng loại thoát (số tiền): TP dự kiến cho thoát TP, SL dự kiến cho thoát stop; để trống khi thoát tay hoặc theo thời gian — tệp để W trống, còn 15.9 tính hao hụt bằng tổng trượt giá vào, hoa hồng và swap theo R: (O × giá trị pip + Q − P) / U, swap P giữ dấu (âm = chi phí) — tính tay, ngoài công thức220.00
Uplanned_riskrủi ro dự kiến trong tiền tài khoản (USD ở ví dụ; khoảng giá vào dự kiến → SL dự kiến theo pip × giá trị pip cho khối lượng dự kiến). Đây là mẫu số R cố định của giao dịch, không chỉnh sau để khớp khoản lỗ. Không phải lỗ tối đa được bảo đảm: gap, trượt giá và chi phí có thể làm lớn hơn110.00
Vr_netcông thức — lãi/lỗ ròng theo R; cột cấp dữ liệu cho chỉ số hiệu suất1.74
Wexecution_drag_Rcông thức — chênh lệch giữa lãi/lỗ gộp dự kiến và lãi/lỗ ròng thực theo R; có thể âm khi kết quả tốt hơn dự kiến0.26
CộtTiêu đềNhóm 5: quy trìnhVí dụ
Xmae_rđộ đi ngược giá lớn nhất trong thời gian giữ vị thế, theo R (định nghĩa: 15.9, mục 7)0.35
Ymfe_rđộ đi thuận giá lớn nhất trong thời gian giữ vị thế, theo R2.10
Zerror_code0 = thực thi không lỗi; 1–9 = mã lỗi quyết định; 10 = lỗi hạ tầng (danh mục: 15.9)0

Công thức hàng — cột tính toán

Biến thể công thức:

Thiết lập: PL dùng tên hàm tiếng Ba Lan và dấu chấm phẩy; EN dùng tên tiếng Anh và dấu phẩy. Dấu phân cách tùy thiết lập vùng; trong Google Sheets, ngôn ngữ hàm được đặt riêng. Khi nhập, đặt B/C là ngày giờ rồi kiểm tra =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): kết quả đúng là PRAWDA/TRUE. Chỉ đổi cách hiển thị ô là chưa đủ.

Nhập công thức ở hàng 2 và điền xuống (hoặc sao chép vào vùng). Vùng đến hàng 1000 — nhật ký dài hơn cần mở rộng công thức hàng, xác thực và mọi vùng bảng chỉ số, kể cả kiểm tra đầy đủ.

O2 · slippage_entry_pips dương = khớp tệ hơn dự kiến; cặp JPY dùng hệ số 100
=JEŻELI(ORAZ(CZY.LICZBA(I2);CZY.LICZBA(J2);DŁ(D2)=6;LUB(E2="long";E2="short"));JEŻELI(E2="long";J2-I2;I2-J2)*JEŻELI(PRAWY(D2;3)="JPY";100;10000);"")
=IF(AND(ISNUMBER(I2),ISNUMBER(J2),LEN(D2)=6,OR(E2="long",E2="short")),IF(E2="long",J2-I2,I2-J2)*IF(RIGHT(D2,3)="JPY",100,10000),"")
S2 · broker_net_pnl nếu broker báo lãi/lỗ ròng, nhập tay và bỏ công thức
=JEŻELI(ORAZ(ILE.LICZB(P2:R2)=3;Q2>=0);R2+P2-Q2;"")
=IF(AND(COUNT(P2:R2)=3,Q2>=0),R2+P2-Q2,"")
V2 · r_net lãi/lỗ ròng theo R — trống đến khi có ngày đóng (C), lãi/lỗ ròng (S) và rủi ro (U); giao dịch mở không tính chỉ số
=JEŻELI(ORAZ(CZY.LICZBA(C2);CZY.LICZBA(S2);CZY.LICZBA(U2));JEŻELI(ORAZ(C2>=1;C2<2958466;U2>0;LUB(B2="";ORAZ(CZY.LICZBA(B2);B2>=1;B2<=C2)));S2/U2;"");"")
=IF(AND(ISNUMBER(C2),ISNUMBER(S2),ISNUMBER(U2)),IF(AND(C2>=1,C2<2958466,U2>0,OR(B2="",AND(ISNUMBER(B2),B2>=1,B2<=C2))),S2/U2,""),"")
W2 · execution_drag_R so với kết quả dự kiến cho cùng loại thoát (T) — để T và W trống khi thoát tay hoặc theo thời gian (15.9: khi đó hao hụt = (O × giá trị pip + Q − P) / U, tính thủ công)
=JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(T2));(T2-S2)/U2;"")
=IF(AND(ISNUMBER(V2),ISNUMBER(T2)),(T2-S2)/U2,"")

Bảng tổng hợp: 9 chỉ số và cách diễn giải

Dán chỉ số trên trang tính riêng (như tệp: thêm tên trang trước mỗi vùng, ví dụ 'Journal'!V2:V1000) hoặc phía trên bảng — khi đó tiêu đề rời hàng 1, cần chỉnh tham chiếu. Sao chép khối cho nhiều công thức ở dòng riêng; đặt từng công thức vào ô phù hợp. AE2, AF2, AG2 thuộc trang Journal, không phải Statistics.

Nhật ký trống cho N = 0, tổng R = 0, drawdown tối đa = 0; WR, PF, kỳ vọng và trung bình chưa có phép đo để trống. PF cũng trống nếu không có lỗ vì tỷ số không có giá trị hữu hạn. Kết quả R cần lãi/lỗ ròng ở S, U dương, ngày/giờ dạng số ở C trong phạm vi ngày Excel. Nếu B được điền, phải là ngày nhận diện được không muộn hơn C. Excel lưu ngày dưới dạng số; định dạng ô không đổi văn bản thành ngày hoặc kiểm tra giờ có thật sự nhập theo UTC.

Tệp 1.2 dùng xác thực kiểu Stop cho ngày, hướng, cấp, chi phí hoa hồng, rủi ro, MAE/MFE và mã. Dán dữ liệu có thể vượt xác thực — vì vậy V từ chối ngày văn bản và rủi ro không dương, S từ chối chi phí hoa hồng âm, AG chỉ nhận mã nguyên 0–10. Kiểm tra hàng 16–19 của Statistics cho biết số lần đóng thiếu R, giao dịch có R nhưng thiếu mã hợp lệ, MAE và MFE không hợp lệ. Công thức ngày trả văn bản rỗng được coi là thiếu thời gian đóng, không phải giao dịch đóng sai. Mọi số đếm lớn hơn không đều cần giải thích trước khi đánh giá toàn mẫu.

Chỉ số hiệu suất dùng V. MAE/MFE trung bình trên mọi phép đo đã nhập dùng mẫu riêng: gồm số không âm, kể cả không, ngay khi V còn trống. Số âm, văn bản (kể cả “0.5” lưu dạng chữ), dấu cách hoặc giá trị Boolean trong cột đo sẽ chặn trung bình đến khi xử lý, thay vì âm thầm làm lệch. Số ô không hợp lệ nằm ở Statistics B18 cho MAE, B19 cho MFE; lỗi cột này không chặn trung bình hợp lệ cột kia. Không tự so cỡ mẫu đó với số giao dịch đóng. Nhập phép đo không âm cho cùng giai đoạn xác định trong đời vị thế; thiếu thì để trống. Biến thể thắng/thua dưới đây chọn tập con dựa V.

Chỉ số 1–5 số giao dịch · tỷ lệ thắng · profit factor · kỳ vọng · tổng R
Số giao dịch:  =ILE.LICZB(V2:V1000)
Tỷ lệ thắng:           =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000))
Profit factor:      =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0"))
Kỳ vọng (R):     =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000))
Tổng R:             =SUMA(V2:V1000)
Số giao dịch:  =COUNT(V2:V1000)
Tỷ lệ thắng:           =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000))
Profit factor:      =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0"))
Kỳ vọng (R):     =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000))
Tổng R:             =SUM(V2:V1000)
Chỉ số 6 · drawdown tối đa theo R cột phụ AE (đường vốn), AF (drawdown hiện tại) — điền cả hai xuống
AE2 (đường vốn):       =JEŻELI(CZY.LICZBA(V2);SUMA($V$2:V2);"")
AF2 (drawdown):   =JEŻELI(CZY.LICZBA(AE2);MAX(0;$AE$2:AE2)-AE2;"")
Drawdown tối đa (R): =MAX(AF2:AF1000)
AE2 (đường vốn):       =IF(ISNUMBER(V2),SUM($V$2:V2),"")
AF2 (drawdown):   =IF(ISNUMBER(AE2),MAX(0,$AE$2:AE2)-AE2,"")
Drawdown tối đa (R): =MAX(AF2:AF1000)
Chỉ số 7–9 · MAE/MFE và thực thi không lỗi (+ hao hụt trung bình) kiểm toán stop, thoát và quy trình
MAE trung bình (tất cả):  =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI(ILE.LICZB(X2:X1000)=0;"";ŚREDNIA(X2:X1000)))   (như trong tệp, B11)
MFE trung bình (tất cả):  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI(ILE.LICZB(Y2:Y1000)=0;"";ŚREDNIA(Y2:Y1000)))   (như trong tệp, B12)
MAE trung bình của giao dịch thắng:    =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;">0";X2:X1000);""))
MFE trung bình của giao dịch thua:  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;"<0";Y2:Y1000);""))
AG2 (coded_clean):    =JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(Z2));JEŻELI(ORAZ(Z2>=0;Z2<=10;Z2=LICZBA.CAŁK(Z2));JEŻELI(Z2=0;1;0);"");"")
Thực thi không lỗi:     =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000))
Hao hụt thực thi trung bình:   =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000))   (tùy chọn, không có trong tệp)
MAE trung bình (tất cả):  =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IF(COUNT(X2:X1000)=0,"",AVERAGE(X2:X1000)))   (như trong tệp, B11)
MFE trung bình (tất cả):  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IF(COUNT(Y2:Y1000)=0,"",AVERAGE(Y2:Y1000)))   (như trong tệp, B12)
MAE trung bình của giao dịch thắng:    =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),""))
MFE trung bình của giao dịch thua:  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,"<0",Y2:Y1000),""))
AG2 (coded_clean):    =IF(AND(ISNUMBER(V2),ISNUMBER(Z2)),IF(AND(Z2>=0,Z2<=10,Z2=INT(Z2)),IF(Z2=0,1,0),""),"")
Thực thi không lỗi:     =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000))
Hao hụt thực thi trung bình:   =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000))   (tùy chọn, không có trong tệp)
Kiểm tra đầy đủ — như Statistics B16:B19 số đếm trên không nghĩa là cần kiểm tra bản ghi
Đã đóng nhưng thiếu R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000)
Có R nhưng thiếu mã:       =ILE.LICZB(V2:V1000)-ILE.LICZB(AG2:AG1000)
MAE không hợp lệ:       =WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")
MFE không hợp lệ:       =WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")
Đã đóng nhưng thiếu R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000)
Có R nhưng thiếu mã:       =COUNT(V2:V1000)-COUNT(AG2:AG1000)
MAE không hợp lệ:       =ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")
MFE không hợp lệ:       =ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")
Hai đơn vị R — ví dụ kiểm tra. Giao dịch có rủi ro U = USD 50, lãi/lỗ ròng −USD 50 cho −1R; giao dịch khác U = USD 200, lãi/lỗ ròng +USD 200 cho +1R. Tổng r_net là 0R nhưng tài khoản tăng USD 150. Nếu 1R cơ sở kế hoạch là USD 100 trong kỳ, kết quả so với giới hạn là +1.5 R cơ sở. PF cũng khác: 1 theo R giao dịch, 4 theo USD. Đây là thước đo khác nhau, không mâu thuẫn. Chọn kỳ theo múi giờ và ranh giới tuần trong kế hoạch; dấu thời gian nguồn nhật ký vẫn UTC. Tổng kết quả vị thế đóng không thay theo dõi vốn chủ sở hữu hiện tại hoặc lỗ vị thế mở. Nếu R cơ sở đổi, theo quy tắc ghi trong kế hoạch, không chia cả kỳ bằng số tùy ý ở cuối kỳ.
Chỉ sốCách đọc kết quả và hạn chế
Tỷ lệ thắngRiêng nó không nói lên lợi thế — xem biểu đồ dưới. Trống khi chưa có giao dịch đóng; 0% nghĩa là mẫu không có lệnh thắng. Dùng để so với giả định playbook, không để phán xét “mình có giỏi không?”
Profit factorDưới 1.0 = kết quả theo R âm trong mẫu đang xét; chỉ có ý nghĩa cùng số giao dịch và drawdown. Mẫu không lỗ nghĩa là chia cho không, không phải “lợi thế vô hạn”
Kỳ vọng (R)Con số quan trọng nhất của nhật ký: kết quả ròng trung bình mỗi giao dịch. Dương sau chi phí mô tả mẫu này, nhưng không tự chứng minh lợi thế. Đánh giá độ phân tán, phụ thuộc giữa kết quả, sự ổn định điều kiện và kết quả xác thực theo biên bản kiểm thử (N). Con số 50 là mốc rà soát ví dụ; quyết định tăng quy mô còn cần tuân thủ kế hoạch rủi ro
Drawdown tối đa (R)Thước đo toàn lịch sử: AF tính drawdown từ đỉnh cao nhất của đường vốn, không phải lỗ tuần. Giới hạn tuần trong kế hoạch (phụ lục E) dùng R cơ sở kế hoạch hoặc phần trăm vốn. Không so trực tiếp với tổng r_net nếu U khác nhau giữa giao dịch. Khi R cơ sở bằng tiền tài khoản không đổi, kết quả kỳ theo đơn vị kế hoạch bằng tổng lãi/lỗ ròng S trong kỳ chia số tiền R cơ sở. Giới hạn phần trăm dùng cơ sở vốn trong kế hoạch. AF mô tả đường R giao dịch lũy kế, không phải drawdown số dư hoặc vốn chủ sở hữu. Drawdown bất thường cần kiểm tra dữ liệu, điều kiện và giả định kiểm thử
Trung bình MAE của giao dịch thắngThấp (ví dụ < 0.4R) = giả thuyết stop rộng hơn cần thiết — kiểm thử trên mẫu mới, không thu hẹp ngay (15.9); gần 1R = giao dịch thắng từng đi ngược gần hết rủi ro — kiểm tra điểm vào, vị trí stop trước khi kết luận lỗi thực thi
MFE trung bình của giao dịch thuaCao = giá từng đi thuận rồi đảo chiều — kiểm toán quy tắc thoát và chốt từng phần
Hao hụt thực thi (trung bình)Công thức tùy chọn ở trên, chỉ tính giao dịch có T. Giá trị cao kéo dài cho thấy chênh lệch giữa lãi/lỗ gộp dự kiến và lãi/lỗ ròng thực với kiểu thoát so sánh được: gồm chi phí và khác biệt giá thực thi. Thoát tay/sớm không có đối chiếu không vào trung bình này. Không gộp với ước tính chi phí đơn giản cho các lần thoát đó
Thực thi không lỗiTỷ lệ giao dịch đóng có error_code = 0 (AG chỉ đếm giao dịch có R hợp lệ và mã nguyên từ 0 đến 10; thiếu mã không tính là không lỗi). Khoảng 90% có thể là ngưỡng làm việc trong một kế hoạch, không phải chuẩn chất lượng. Kiểm tra số giao dịch được đánh giá và mã thiếu: 100% từ một mã 0 cùng nhiều ô trống không mô tả toàn nhật ký. Vi phạm nghiêm trọng cần hành động bất kể tỷ lệ. Chỉ số từ giao dịch phá quy tắc không phải kiểm thử sạch các quy tắc đó
So sánh hai hệ thống: tỷ lệ thắng cao hơn 60 phần trăm cho kỳ vọng âm với tỷ lệ lãi/lỗ kém, còn tỷ lệ thắng 40 phần trăm với lệnh thắng 2R cho kỳ vọng dương Tỷ lệ thắng A: 60% B: 40% lãi TB 0.5R · lỗ TB 1R lãi TB 2R · lỗ TB 1R Kỳ vọng mỗi giao dịch A: −0.10R B: +0.20R vì vậy bảng chỉ số bắt đầu từ kỳ vọng, tỷ lệ thắng chỉ đọc cùng phân phối R

CSV khởi đầu và nhập

Nút tạo CSV hoàn toàn trong trình duyệt, không gửi dữ liệu hoặc tạo yêu cầu mạng riêng: 26 tiêu đề và hai hàng ví dụ — một thắng, một thua — để minh họa công thức. PL dùng chấm phẩy, thập phân dấu phẩy (chọn dấu phân cách rõ khi nhập; hành vi nhấp đúp tùy hệ thống), EN dùng dấu phẩy, thập phân dấu chấm. Sau nhập, thay cột tính O, S, V, W trong hàng ví dụ bằng công thức trên, xóa ví dụ trước lần ghi đầu (hoặc giữ trong tệp riêng). CSV có thể lưu độ chính xác đang hiển thị; trong XLSX 1.2, V và W dùng sáu chữ số thập phân. CSV khởi đầu cũng dùng sáu chữ số, tính từ số tiền mỗi hàng. Với làm tròn này, sai số R riêng lẻ không quá 0.0000005 R; PF nhạy hơn khi tổng lỗ rất nhỏ. Kết quả có trị tuyệt đối dưới 0.0000005 R có thể tròn thành không, đổi phân loại thắng/thua và tỷ lệ thắng; với dữ liệu đó, tăng độ chính xác trước xuất. Phân tích cần chính xác hơn phải tăng trước xuất, không chỉ sau trong script.

Tệp nhật ký khởi đầu tạo cục bộ theo biến thể chọn bằng nút công thức
Xuất sang phụ lục H và I, từng bước: sao chép tiêu đề và hàng đã dùng A:Z từ trang Journal sang tệp mới bằng “Paste values”. Đặt B/C thành yyyy-mm-dd hh:mm (giao diện tiếng Ba Lan có thể hiện rrrr-mm-dd gg:mm), V/W ít nhất sáu chữ số thập phân, không phân cách hàng nghìn. Lưu CSV UTF-8. Trước gộp tệp, kiểm tra trade_id duy nhất: S1 không loại trùng. Gộp khớp từng phần của một vị thế theo đơn vị giao dịch đã chọn (gồm chi phí), giữ U ban đầu; không đếm cùng giao dịch vừa thành nhiều lần khớp vừa thành một tổng hợp. Mở bản sao trong soạn thảo văn bản: kiểm tra 26 trường mỗi bản ghi, dấu phân cách, ngày UTC và số. CSV chứa giá trị, không công thức hay trang khác — giữ XLSX gốc. Với S1, đặt PL: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 có BOM có thể đọc bằng utf-8-sig.

Kiểm tra hai ví dụ: lãi/lỗ ròng USD 191.47 với rủi ro USD 110 cho 1.740636 R; lãi/lỗ ròng −USD 113.10 với rủi ro USD 105 cho −1.077143 R. Từ các giá trị sáu chữ số, script nên cho N = 2, WR = 50%, tổng 0.663493 R, kỳ vọng 0.3317465 R, PF khoảng 1.615974852, max DD 1.077143 R. S2 in số làm tròn: WR 0.5; PF 1.62; kỳ vọng 0.332 R; tổng 0.66 R; max DD 1.08 R. Công thức XLSX đầy đủ tính từ tỷ số chưa tròn, nên chữ số cuối có thể khác. S1 dừng khi giao dịch đóng không hợp lệ; P5 yêu cầu script loại và báo bản ghi đó. Chỉ so chỉ số sau đối soát mẫu. P5 là chỉ dẫn tạo script, không phải tệp sẵn với kết quả bảo đảm.

Xây từng bước

  1. Tạo bảng tính trống trong Excel hoặc LibreOffice Calc; bảng tính đám mây cũng dùng được — nhưng đây là dữ liệu tài khoản, cần chủ động chọn.
  2. Nhập CSV khởi đầu (hoặc chép tiêu đề từ bảng cấu trúc). Kiểm tra số được nhập thành số — nếu “1.0850” là văn bản, biến thể dấu phân cách không khớp thiết lập hệ thống.
  3. Dán công thức hàng vào O2, S2, V2, W2 rồi điền xuống một vùng hàng dự phòng.
  4. Dán bảng chỉ số (chỉ số 1–9) phía trên bảng hoặc trên trang riêng; điền cột phụ AE, AF, AG xuống như công thức hàng đến hàng cuối đã chuẩn bị.
  5. Đặt lịch làm việc: ghi sau mỗi giao dịch đóng (checklist EOD trong phụ lục J có bước này), đọc chỉ số khi rà tuần, quyết định playbook hàng quý (phụ lục E).
Bảng chỉ số nhật ký trong bảng tính — ô tỷ lệ thắng, profit factor, kỳ vọng, drawdown tối đa theo R phía trên bảng, cạnh đường vốn từ cột phụ
Bảng chỉ số nhật ký trong bảng tính — ô tỷ lệ thắng, profit factor, kỳ vọng, drawdown tối đa theo R phía trên bảng, cạnh đường vốn từ cột phụ

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

Excel, LibreOffice hay bảng tính đám mây?

Công thức dùng hàm cơ bản có trong Excel, LibreOffice Calc, Google Sheets. Tuy nhiên tên hàm, dấu phân cách tùy chương trình và tệp: PL dùng tên Ba Lan, chấm phẩy; EN dùng tiếng Anh, dấu phẩy. Bảng đám mây có thể cần tên tiếng Anh với chấm phẩy. Chúng tôi không tuyên bố kiểm thử mọi phiên bản. Khác biệt chính: nhật ký chứa khối lượng vị thế, kết quả và danh mục lỗi — trên đám mây, dữ liệu chịu chính sách nhà cung cấp và nằm ngoài ổ đĩa riêng. Quy tắc phần này là mặc định giữ dữ liệu tài khoản cục bộ; dùng đám mây có chủ đích, xuất bản sao lưu. Cùng lựa chọn mà phần vệ sinh dữ liệu phụ lục H yêu cầu trước dán nhật ký vào chat.

Cần bao nhiêu giao dịch để chỉ số có ý nghĩa?

Chỉ số mô tả mẫu từ giao dịch đầu; khoảng năm mươi là mốc làm việc ví dụ cho lần rà hệ thống đầu, không phải ngưỡng ý nghĩa thống kê — trước đó kỳ vọng và tỷ lệ thắng đổi mạnh sau từng chuỗi, phản ánh chuỗi gần đây hơn hệ thống; độ phân tán và phụ thuộc cũng quan trọng (vì vậy cùng số xuất hiện trong playbook phụ lục E như ngưỡng cấp A+). Không có nghĩa nhật ký vô ích trước mốc ấy: chỉ số quy trình hoạt động từ lần ghi đầu — tỷ lệ thực thi không lỗi, độ đầy đủ — và quyết định liệu số liệu hệ thống có đáng tin hay không. Thứ tự luôn là quy trình, mẫu, rồi đánh giá hệ thống. Cập nhật theo phiên bản E hiện tại: khoảng năm mươi giao dịch được nêu là thời điểm rà soát minh họa, không phải ngưỡng A+ trong playbook hiện tại. Xếp hạng dựa trên điều kiện bắt buộc và tiêu chí chất lượng định trước; riêng cỡ mẫu không quyết định hạng.

Vì sao cần error_code khi đã thấy kết quả?

Vì kết quả và chất lượng quyết định là hai chiều riêng: có giao dịch lãi nhưng phá kế hoạch (nguy hiểm nhất — vi phạm được thưởng sẽ được củng cố), có thực thi chuẩn vẫn lỗ. Error_code 0–10 cho phép tính kỳ vọng RIÊNG cho thực thi không lỗi: nếu sau lọc vi phạm hệ thống có lãi, đó là gợi ý vấn đề ở thực thi hơn quy tắc — khác biệt nhóm chưa chứng minh nguyên nhân, chỉ hướng nơi tìm. Tách mã 10 (hạ tầng) khỏi lỗi quyết định; quy trình các trường hợp đó trong phụ lục K, danh mục mã 1–9 ở 15.9.

Excel không nhận công thức — kiểm tra gì?

Gần như luôn là ba điểm. Đầu: biến thể — ngôn ngữ hàm và dấu phân cách đối số là thiết lập riêng. Nút cung cấp hai tổ hợp phổ biến (PL: tên Ba Lan + chấm phẩy; EN: tên Anh + dấu phẩy), nhưng kiểm tra vùng. Google Sheets cần kiểm tra cả tùy chọn tên hàm tiếng Anh. Hai: dấu thập phân — hệ dùng dấu phẩy sẽ đọc “1.0850” thành văn bản, nên có hai CSV. Ba: dấu nháy — chép qua ứng dụng nhắn tin có thể đổi nháy thẳng thành nháy cong; dùng nút trên trang, không qua trung gian. Nếu vẫn không tính, prompt P3 phụ lục H có thể rà công thức như mã.

Tình huống minh họa: hệ thống “có lãi” đến khi nhật ký tính chi phí. Nhật ký ghi cẩn thận, nhưng cột lãi/lỗ chép từ nền tảng là GỘP — thiếu hoa hồng và swap. Sau quý, kỳ vọng +0.12R dẫn đến quyết định tăng tần suất: nhiều giao dịch = nhiều lãi. Thêm cột chi phí, tính lại r_net từ lãi/lỗ ròng cho −0.04R — hệ thống không kiếm tiền, chỉ luân chuyển tiền, tăng tần suất làm lỗ thêm đúng chi phí mỗi giao dịch mới. Vì vậy nhóm 4 có thứ tự chặt: chi phí riêng, lãi/lỗ ròng riêng, r_net chỉ tính từ ròng.
Tình huống mô hình: MAE cho thấy stop quá hẹp với thị trường. Trader có tỷ lệ thắng thấp hơn rõ so với backtest nghi broker săn stop. Nhật ký có mae_r, mfe_r cho sự thật ít ly kỳ: giao dịch thua thường có MAE kết thúc vừa quá 1.0R, còn MFE cùng lần vào trước đó đạt 1.5R+ — giá đi đúng, đảo rồi mới chạm stop. MAE/MFE chỉ đo trong đời vị thế, nên giá sau stop cần phép đo riêng trên cửa sổ xác định — phép đo đó cho thấy giá quay lại hướng dự kiến. Từ đó hình thành giả thuyết SL nằm trong dao động thường và quy tắc thoát bỏ lỡ phần chuyển động. ATR mô tả quy mô biến động, không tự xác lập stop tối ưu. Trong mô hình này, dịch stop ngoài cấu trúc và giảm khối lượng để giữ tiền rủi ro được kiểm thử trên mẫu riêng; chỉ kết quả mẫu đó mới làm cơ sở đánh giá tiếp thay đổi. Không có MAE/MFE, giả thuyết không xuất hiện — chỉ còn thuyết âm mưu về broker.
  • 15.9 Nhật ký và chỉ số — đầy đủ trường (kể cả mã lỗi 0–10), định nghĩa MAE/MFE, chỉ số nâng cao (SQN, Sortino)
  • 15.10 Kiểm toán chiến lược — có thể suy ra gì từ chỉ số và từ mẫu nào
  • Phụ lục I — bộ mã — script S1–S3 sẵn có, đã kiểm thử: đọc CSV xuất từ bảng này (A–Z), tính chỉ số và vẽ đường vốn
  • Phụ lục H, prompt P5–P7 — script tính chỉ số từ CSV của bảng này, cùng kiểm toán mẫu hình (P6–P7: thêm trạng thái tuân thủ và ghi chú trạng thái; P7 cần chỉ số tuần — chép hàng đóng trong tuần ra trang riêng rồi tính cùng công thức; chỉ lọc tự động không đổi kết quả COUNT/SUM/AVERAGE)
  • Phụ lục E — mẫu kế hoạch — playbook hiệu chỉnh hàng quý bằng số liệu nhật ký
  • Phụ lục J — checklist — quy trình EOD/EOW giữ nhật ký được dùng đều
Lưu ý: trang phục vụ giáo dục, không phải tư vấn đầu tư. Công thức và cấu trúc đo kết quả riêng, không dự đoán; hàng và số ví dụ minh họa định dạng, không phải kết quả kỳ vọng. Chỉ số từ mẫu nhỏ hoặc kết quả gộp dẫn quyết định kém — vì vậy r_net lấy từ lãi/lỗ ròng, đánh giá hệ thống cần kế hoạch kiểm thử và chú ý bất định, phụ thuộc kết quả — chỉ vượt 50 giao dịch không xác nhận điều gì.

Nguồn

  1. Van K. Tharp, Trade Your Way to Financial Freedom, ấn bản thứ 2, McGraw-Hill 2007 — bội số R và kỳ vọng là chỉ số hệ thống cốt lõi, cơ sở cột r_net và bảng chỉ số.
  2. Nội bộ: 15.9 Nhật ký và chỉ số (cấu trúc trường, mã lỗi, MAE/MFE) và 15.10 Kiểm toán chiến lược (suy luận có kỷ luật từ mẫu) — 26 cột A–Z cộng 3 trường tự đánh giá cho 29 cột trong tệp, nhưng bảng bao quát khoảng 20 trong 29 trường logic đánh số ở 15.9; trường thiếu là regime, actual_tp, slippage_exit_pips và bốn trường mà chính 15.9 yêu cầu thêm (“bảng tính có trước phần này”): lots, pip_value_at_open, strategy_version, evidence_link — nếu dùng script 15.9, thêm chúng thành cột tùy chọn từ AH trở đi để không ghi đè AA–AG; với script chờ A:Z, vẫn chỉ xuất vùng đó.
  3. Tài liệu: Microsoft — dấu phân cách đối số và CSV, Microsoft — nhập và xuất CSV, Google Sheets — vùng và ngôn ngữ hàm. Kiểm tra ngày 21 tháng Chín năm 2026; đây là quy tắc cấu hình, không phải tuyên bố đã thử mọi ứng dụng.
  4. NIST — bất định của trung bình: phụ thuộc kích thước mẫu và độ phân tán; không làm cơ sở cho ngưỡng phổ quát 50 giao dịch. Kiểm tra ngày 21 tháng Chín năm 2026.

Jarosław Wasiński

Tổng biên tập, ForexMechanics.com • Chuyên gia phân tích vĩ mô và FX

Chuyên gia phân tích độc lập và chuyên nghiệp với hơn 20 năm kinh nghiệm trong các thị trường tài chính. Hoạt động trong lĩnh vực Forex từ năm 2004, tập trung vào phân tích cơ bản, cấu trúc thị trường OTC và quản lý rủi ro vốn một cách kỷ luật.

  • Người sáng lập và tổng biên tập của MyBank.pl, cung cấp giáo dục tài chính đáng tin cậy từ năm 2004.
  • Tác giả của hàng trăm bài bình luận thị trường chuyên sâu, phân tích cấu trúc và tài liệu giáo dục dành cho trader và nhà đầu tư.
  • Người ủng hộ sự minh bạch của thị trường, thúc đẩy giáo dục dựa trên dữ liệu cụ thể và các báo cáo của tổ chức (BIS, ESMA, CFTC).

Toàn bộ nội dung chỉ mang tính chất giáo dục và cung cấp thông tin – không phải là tư vấn đầu tư hay khuyến nghị bất kỳ. Xin lưu ý: giao dịch có đòn bẩy (Forex/CFD) tiềm ẩn rủi ro cao về mất vốn nhanh chóng.