Hướng dẫn sử dụng FatBoy Studio

bản 1.2.0 · 09/2026 · FatBoy AI — aifatboy.com · Hỗ trợ: 0981807460 (Zalo)

Tài liệu này viết cho bạn — người không biết lập trình. Mỗi mục có ảnh chụp màn hình thật, các bước đánh số, và khung "Nếu thấy lỗi X thì làm Y". Bạn chỉ cần làm theo từ trên xuống.

1. FatBoy Studio là gì

FatBoy Studio là phần mềm chạy trên Windows giúp bạn tự dạy một con bot AI đọc biểu đồ giá, bằng cách cho nó xem dữ liệu thật hàng triệu lần — bạn không phải viết một dòng lệnh nào, chỉ tick chọn và bấm nút. Phần mềm đã kèm sẵn 5 năm dữ liệu nến giờ và nến phút của 5 cặp (EURUSD, USDJPY, XAUUSD, BTCUSDT, ETHUSDT), chia sẵn phần "học" và phần "thi" niêm phong, nên bạn không cần đi tìm dữ liệu ở đâu cả. Sau khi bot học xong, bạn cho nó đi thi trên khúc dữ liệu nó chưa từng thấy, và nếu bot qua được Bộ tiêu chuẩn FatBoy thì bạn có thể đưa nó lên FatBoy Arena (Đấu trường bot) tại aifatboy.com/arena để được chấm công khai — đúng, sai, thắng, thua đều hiện cho mọi người xem và không ai sửa được. Tất cả nằm trong một cửa sổ duy nhất, bên trái là lựa chọn, bên phải là nhật ký chạy thời gian thực.

Màn hình chính FatBoy Studio 1.2.0

Nói cho dễ hiểu: bạn là giáo viên, bot là học sinh, 5 năm dữ liệu là sách giáo khoa, khúc "thi" là đề thi niêm phong, và FatBoy Arena là kỳ thi ngoài đời. Việc của bạn là chọn bot học môn gì, chấm điểm thế nào, và học bao lâu.


2. Máy của bạn cần gì

Yêu cầuChi tiết
Hệ điều hànhWindows 10 hoặc Windows 11 (64-bit). Không chạy trên macOS / Linux / điện thoại.
Ổ cứng trốngít nhất 5 GB. Bản tải về ~363 MB, giải nén ra ~1,5 GB (phần mềm + 5 năm dữ liệu), còn lại để chứa các bot bạn train.
PythonKhông cần cài gì cả. Python và toàn bộ thư viện đã nằm sẵn bên trong thư mục phần mềm.
RAM8 GB chạy được; 16 GB thì thoải mái. Máy ít RAM xem mục 16 (dòng "Máy đơ / MemoryError").
Card đồ hoạKhông bắt buộc. Có card NVIDIA thì train nhanh hơn khoảng 7 lần (đo trên máy FatBoy: 86 bước/giây bằng CPU so với ~615–800 bước/giây bằng GPU). Bật bằng một nút — xem mục 14. Card AMD/Intel: vẫn chạy, chỉ chậm hơn.
Mạng InternetCần lúc đăng nhập, lúc cập nhật, và lúc gửi bot lên FatBoy Arena. Train và thi thì không cần mạng — mất mạng vẫn chạy bình thường.
MetaTrader 5Không bắt buộc. Chỉ cần khi bạn muốn lấy nến trực tiếp từ MT5 đang mở trên máy, hoặc khi chạy bot với giá sống. Học bằng bộ dữ liệu 5 năm kèm sẵn thì không cần MT5.

Lưu ý về máy laptop: train là việc nặng, máy sẽ nóng và quạt kêu to. Cắm điện, đừng để máy tự ngủ (Settings → System → Power → Screen and sleep → chọn Never cho mục "When plugged in, put my device to sleep after").


3. Tải và mở lần đầu

Các bước

  1. Vào aifatboy.com → Đăng nhập (bằng email của bạn). Chưa có tài khoản thì nhập email, hệ thống tự tạo.
  2. Vào aifatboy.com/hub/tai-ve. Trang này bắt buộc đăng nhập — chưa đăng nhập thì nó tự đưa bạn về trang đăng nhập. Nếu hệ thống hỏi số điện thoại thì điền rồi quay lại.
  3. Bấm nút tải. File tên FatBoyStudio.zip, khoảng 363 MB. Tải xong đừng mở file zip rồi chạy thẳng bên trong — phải giải nén ra ngoài trước.
  4. Giải nén (chuột phải file zip → Extract All… → chọn nơi lưu → Extract). Chọn một ổ còn ít nhất 2 GB trống, và đường dẫn không dấu tiếng Việt, không khoảng trắng lạ. Ví dụ tốt: C:\FatBoyStudio hoặc D:\FatBoyStudio. Ví dụ dễ hỏng: C:\Users\Nguyễn Văn A\Tài liệu\..., hoặc để trong OneDrive / Program Files.
  5. Mở thư mục vừa giải nén, tìm file FatBoy Studio.exe (icon con robot) → nháy đúp.
  6. Lần đầu Windows có thể hiện bảng xanh "Windows protected your PC". Bấm More info → nút Run anyway hiện ra → bấm vào đó. Chỉ hỏi một lần.
  7. Chờ 10–30 giây (lần đầu máy phải nạp phần mềm vào bộ nhớ). Cửa sổ đăng nhập sẽ hiện ra.

Vì sao Windows lại chặn?

Bảng "Windows protected your PC" không có nghĩa là phần mềm có virus. Nó là SmartScreen — Windows cảnh báo với mọi file tải từ mạng chưa mua chứng thư số (một loại "giấy chứng nhận chữ ký" giá vài trăm USD mỗi năm mà FatBoy chưa mua). Sau khi có nhiều người tải và chạy, cảnh báo này sẽ tự mất. Nếu bạn muốn chắc chắn: chuột phải file zip đã tải → Properties → tích ô Unblock → OK, rồi mới giải nén.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
"Windows protected your PC"More info → Run anyway. Hoặc chuột phải file zip → Properties → tích Unblock → OK.
Nháy đúp mà không thấy gì hiện lênBạn đang chạy file .exe kéo riêng ra ngoài. Phải giải nén trọn thư mục rồi chạy .exe nằm trong thư mục đó.
Báo "Không chạy được Python"Giải nén bị thiếu (thư mục _engine\python\ hỏng) hoặc antivirus đã xoá file. Xem mục 16, dòng "Antivirus".
Giải nén báo hết chỗChọn ổ khác còn ≥ 2 GB, hoặc dọn ổ đĩa rồi giải nén lại.

4. Đăng nhập và hoàn tất hồ sơ

FatBoy Studio dùng chung tài khoản với website aifatboy.com. Không có mật khẩu — mỗi lần đăng nhập, hệ thống gửi cho bạn một mã 8 số qua email.

Cửa sổ đăng nhập FatBoy Studio

Các bước

  1. Gõ email của bạn (đúng email đã dùng trên aifatboy.com; chưa có tài khoản thì cứ gõ email — hệ thống tự tạo).
  2. Bấm Gửi mã.
  3. Mở hộp thư. Nhớ xem cả thư mục Spam / Quảng cáo / Thư rác — mã hay rơi vào đó ở lần đầu.
  4. Gõ mã 8 số vào ô thứ hai → bấm Đăng nhập.
  5. Nếu sau 1–2 phút chưa thấy mã: bấm Gửi mã lại (nút chờ hết 60 giây mới bấm lại được).

Sau khi đăng nhập lần đầu, phần mềm hỏi thêm họ tên và số điện thoại (có Zalo). Đây là bắt buộc — để FatBoy liên hệ hỗ trợ bạn khi cần.

Hộp Hoàn tất hồ sơ

Sau khi đăng nhập

Thanh tài khoản trên cùng

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Không nhận được mã sau 2 phútXem Spam. Kiểm tra gõ đúng email. Bấm Gửi mã lại sau 60 giây. Vẫn không có → gọi 0981807460.
"Mã không đúng hoặc đã hết hạn"Mã chỉ sống vài phút. Bấm Gửi mã lấy mã mới, dùng mã mới nhất trong hộp thư.
Đăng nhập xong lại quay về hộp đăng nhậpBạn đã đóng hộp Hoàn tất hồ sơ. Mở lại phần mềm, điền họ tên + số điện thoại rồi bấm Tiếp tục.
Đóng hộp đăng nhập thì phần mềm tắtĐúng như thiết kế: chưa đăng nhập thì không vào được. Mở lại và đăng nhập.

5. Nhìn một vòng màn hình

Cửa sổ chia làm ba phần: bên trái là lựa chọn, bên phải là nhật ký, bên dưới là các nút bấm. Số trong ảnh tương ứng với bảng bên dưới.

Các vùng trên màn hình chính

SốVùngBạn làm gì ở đây
1Thanh tài khoản (trên cùng)Logo, tên phần mềm, phiên bản (v1.2.0), email đang đăng nhập, nút Đăng xuất, nút Cập nhật.
2Cặp · Nguồn · Số năm · Giữ lệnh · Soi gương · SL/TPChọn bot học thị trường nào (tick nhiều ô = học chung nhiều cặp), lấy dữ liệu ở đâu, lệnh chưa chạm SL/TP thì bao lâu tự đóng. Dòng chữ xám "SL/TP: theo ATR…" chỉ để đọc, không sửa được. Xem mục 8 và 9.
3Cách chấm bot (preset) + Điểm nềnChọn "tính cách" của bot: Chuẩn / Gọn lệnh / Kiên nhẫn / An toàn, và điểm tính bằng pip hay bằng R. Xem mục 8.
4Bot nhìn gìBot xem bao nhiêu cây nến, có đeo thêm "kính lọc" (chỉ báo) nào không. Xem mục 7.
55 nút chínhKiểm tra máy → Lấy dữ liệu → ▶ Train → Thi (test) → Chạy thật (run), cùng nút ■ Dừng, Mở TensorBoard, Mở thư mục kết quả.
6Bộ tiêu chuẩn FatBoy▶ Chạy theo tiêu chuẩn (qua đêm), Thi cuốn chiếu, Tự luyện, và Đưa lên Arena (sáng khi bot Thi đủ hoặc ĐẠT — bấm là mở hộp Thêm bot chạy thật). Xem mục 12 và 13.
7Nhật kýMọi thứ phần mềm đang làm, hiện ra từng dòng có màu — giống màn hình đen của lập trình viên nhưng bạn chỉ cần đọc vài dòng. Xem mục 10.
8Thanh trạng thái + dòng hỗ trợĐang chạy tới bước bao nhiêu, nhanh bao nhiêu, còn bao lâu. Dòng cuối cùng luôn có số hotline 0981807460 (Zalo).

Phóng to khu 5 nút chính:

Năm nút chính

Cột bên trái dài hơn màn hình, nên bạn lăn chuột để cuộn xuống xem nốt phần dưới: Bot nhìn gì, Số bước train, Cỡ mạng, Thiết bị, dòng Gửi Arena / MT5 (trạng thái Arena của bot), Tên run.

Phần dưới của cột lựa chọn khi cuộn xuống

Ba điều cần nhớ về màn hình này:


6. Chạy lần đầu trong 20 phút

Đây là kịch bản cầm tay để bạn thấy trọn vòng đời một con bot. Đừng đổi gì khác ngoài những chỗ được nói dưới đây.

Bước 1 — Kiểm tra máy (10–30 giây)

  1. Bấm nút Kiểm tra máy.
  2. Nhật ký bên phải chạy một loạt dòng có dấu ✓ (xanh) hoặc ✗ (đỏ).
  3. Biết là xong khi dòng cuối ghi "Máy sẵn sàng". Thấy "Cần sửa N mục" thì đọc từng dòng ✗ — mỗi dòng có gợi ý ngay bên dưới, và mục 16 của tài liệu này giải thích các lỗi hay gặp.

Bước 2 — Lấy dữ liệu (2–10 giây với bộ 5 năm kèm sẵn)

  1. Ở dòng Nguồn, chọn Bộ dữ liệu 5 năm (file) — đây là bộ đã kèm sẵn trong phần mềm, không cần mạng, không cần MT5.
  2. Ở dòng Cặp, để nguyên hai ô đã tick sẵn: EURUSD và USDJPY.
  3. Bấm Lấy dữ liệu.
  4. Nhật ký in khoảng thời gian học và khoảng thời gian thi, ví dụ "Held-out test period: 2026-01-01 → …". Sau đó phần mềm tự chạy tiếp phần kiểm tra dữ liệu.
  5. Biết là xong khi nhật ký hết chạy và thanh trạng thái quay về "Sẵn sàng.". Nếu phần mềm hỏi "Dữ liệu có vấn đề — sửa tự động?" thì bấm Yes.

Bước 3 — Đặt số bước rồi Train (khoảng 10 phút bằng CPU, ~1 phút bằng GPU)

Số bước train, cỡ mạng, thiết bị

  1. Cuộn cột bên trái xuống tới khu Số bước train.
  2. Chọn Thử 10 phút: 20.000.
  3. Để nguyên Tự dừng khi hết cải thiện (đang tick), Cỡ mạng: Bot vừa (128×128), Thiết bị: Tự động.
  4. Bấm nút Tên mới (cạnh ô Tên run) để phần mềm đặt cho bot một cái tên mới, ví dụ EUR-USD-chuan-2309-0032. Tên này là tên thư mục chứa bot — nhớ nó.
  5. Bấm ▶ Train.
  6. Trong 1–2 phút đầu nhật ký có thể đứng yên (đang tính chỉ báo và nạp nến phút) — bình thường, đừng bấm gì.
  7. Sau đó chữ chạy rất nhanh. Bạn chỉ cần nhìn thanh trạng thái phía dưới: nó ghi bước hiện tại / tổng số bước, bao nhiêu bước mỗi giây, còn bao lâu.
  8. Biết là xong khi nhật ký ngừng chạy, thanh trạng thái quay về "Sẵn sàng.", và trong nhật ký có dòng tổng kết. Cũng có thể bot dừng sớm trước 20.000 bước — dòng tím ghi "Dừng sớm ở bước X". Đó không phải lỗi (xem mục 10).

Bước 4 — Thi (5–15 giây)

  1. Không đổi gì. Bấm Thi (test).
  2. Nhật ký in một bảng kết quả (mục 11 giải thích từng dòng).
  3. Biết là xong khi dòng cuối ghi "✓ Đã ghi runs\\<tên run>\\ket-qua.md".
  4. Bấm Mở thư mục kết quả để xem file ket-qua.md (mở bằng Notepad được).

Bạn vừa làm gì?

Bạn đã dạy một con bot 20.000 lượt và cho nó thi trên dữ liệu nó chưa từng thấy. 20.000 bước là quá ít để bot giỏi — nhiều khả năng bảng thi sẽ xấu, thậm chí "0 lệnh". Đó là bình thường và đúng như dự kiến. Mục đích của 20 phút này là để bạn quen với 4 nút và biết chỗ đọc kết quả. Bot thật nên train từ 20 đến 50 triệu bước (mục 12).

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Train đứng ở "0 bước/giây" hơn 2 phútĐợi thêm; máy đang nạp dữ liệu. Quá 10 phút → bấm ■ Dừng, xem mục 16 dòng "Máy đơ".
Bảng thi ra "0 lệnh"Bot train quá ít, chưa dám vào lệnh. Bấm ▶ Train lại với cùng Tên run và số bước lớn hơn (200.000).
Chữ chạy nhanh quá không đọc kịpBình thường. Chỉ đọc dòng trắng đậm === Bước … mỗi 1.000 bước. Toàn bộ vẫn được lưu trong runs\<tên run>\train-log.txt.
Bấm ■ Dừng mà 90 giây sau mới tắtKhông sao. Bot đã được lưu checkpoint. Bấm ▶ Train với cùng Tên run là chạy tiếp đúng chỗ dở.

7. Chọn "bot nhìn gì"

Khối Bot nhìn gì

Trước mỗi quyết định, bot được cho xem một thứ duy nhất: hình dạng giá gần đây. Khối này quyết định nó xem gì.

Hai thứ bạn chọn

  1. Chuỗi nến gần nhất — số trong ô là bao nhiêu cây nến giờ bot được nhìn, chỉnh từ 20 đến 300. Mỗi cây nến cho bot 7 con số (giá mở/cao/thấp/đóng + tỉ lệ thân và râu nến).
  2. Chỉ báo — 14 ô tick: SMA, EMA, RSI, MACD, Bollinger, ATR, CCI, Stochastic, Ichimoku, ADX, Khối lượng, Lợi suất/biến động, Thân/râu nến, và nút "Bộ cũ 17 đặc trưng". Mỗi chỉ báo thêm vài con số vào mỗi cây nến.

Dòng chữ xám ở dưới cho bạn biết tổng cộng bot đang nhìn bao nhiêu số, ví dụ: "Bot sẽ nhìn: 50 nến (7 số/nến) + EMA (4) + RSI (1) + Bollinger (2) + ATR (1) → 50 × 15 số".

Nên chọn gì

"Nhìn nhiều" chưa chắc tốt hơn

Đây là chỗ người mới hay làm sai: tick hết 14 chỉ báo vì nghĩ "cho bot nhiều thông tin thì nó giỏi hơn". Thực tế thường ngược lại. Càng nhiều con số, bot càng dễ học thuộc lòng đoạn dữ liệu cũ (kiểu "khi RSI 62,3 và MACD 0,0004 và ADX 27 thì giá lên") thay vì học hình dạng chung. Điểm lúc train sẽ đẹp hơn, nhưng đi thi thì tệ hơn. Ví như học sinh học tủ: thuộc đúng đề năm ngoái, gặp đề mới là tắc.

Cách làm đúng: mỗi lần chỉ đổi MỘT thứ, đặt Tên run mới, Train, Thi, rồi đặt hai bảng cạnh nhau. Ví dụ: train "chỉ nến" trước làm mốc → tick thêm đúng một chỉ báo (RSI) → Tên mới → Train → Thi → so.

Một luật quan trọng

Mỗi bot "nhớ" lựa chọn của chính nó lúc train. Khi bạn chọn một bot cũ ở ô Tên run rồi bấm Thi hoặc Chạy thật, phần mềm luôn dùng lựa chọn của bot đó, dù bạn đã đổi tick trên màn hình. Khi đó một dòng chữ vàng hiện dưới ô Tên run để nhắc bạn. Muốn thử lựa chọn mới thì phải bấm "Tên mới" và train một bot mới.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
"run này được train với …; đổi lựa chọn thì phải train run mới"Bấm Tên mới → ▶ Train. Bot cũ vẫn thi được bình thường nếu bạn để nguyên lựa chọn của nó.
Dòng chữ vàng dưới ô Tên runChỉ là nhắc nhở, không phải lỗi: bạn đang chọn một bot cũ có "cách nhìn" khác với các ô đang tick.
Ô số nến không cho gõ quá 300Đúng vậy, giới hạn là 20–300. Nhiều hơn chỉ tốn thời gian chứ không giúp gì.

8. Cách chấm bot (reward) và SL/TP

Cách chấm bot và dòng SL/TP

Bot học bằng cách được cộng hoặc trừ điểm sau mỗi lệnh. Khối này quyết định "giáo viên chấm khắt khe kiểu gì".

Điểm nền: pip hay R

Bốn preset — bằng lời thường

PresetBot sẽ khác gì
ChuẩnMốc so sánh. Bot chỉ quan tâm "mỗi lệnh lời/lỗ bao nhiêu pip". Bắt đầu bằng cái này.
Gọn lệnhSau 12 giờ giữ lệnh, mỗi giờ thêm bị trừ 0,05 điểm → bot học đóng lệnh sớm, không ôm lệnh lê thê.
Kiên nhẫnMỗi ngày (UTC) được 3 lệnh "miễn phí"; từ lệnh thứ 4 mỗi lệnh bị trừ 0,5 điểm → bot phải chọn lọc, chỉ vào khi thật đáng.
An toànTrong một ván, nếu tổng R tụt xuống −5 thì bị trừ thêm 2 điểm (rồi −10, −15… mỗi bậc thêm 2 điểm) → bot sợ thua dài, giữ đường vốn mượt hơn.

Đổi preset = đổi tính cách bot, không đổi kiến thức nó nhìn. Cách làm đúng vẫn là: đổi một thứ, Tên run mới, Train, Thi, so hai bảng.

SL và TP: bot tự đặt, nhưng bị kẹp trong khung

Dòng chữ xám ngay trên khối preset ghi:

SL/TP: theo ATR (0.5–1.5 / 0.5–2×), kẹp trong 15–50 pip (theo cặp; TP ≥ SL)

Dòng này chỉ để đọc, bạn không sửa được, và nó là một trong những phần quan trọng nhất của phần mềm. Nghĩa là:

  1. Mỗi lệnh, bot tự chọn độ xa của SL và TP theo nhịp thị trường lúc đó (ATR = biên độ dao động trung bình): SL từ 0,5 đến 1,5 lần ATR, TP từ 0,5 đến 2 lần ATR. Phiên thị trường chạy mạnh thì đặt xa hơn, phiên ngủ thì đặt gần hơn.
  2. Con số đó bị kẹp lại trong khung pip của từng cặp: forex (EURUSD, USDJPY…) 15–50 pip, XAUUSD 2–10 USD, BTCUSDT 200–1.000 USD, ETHUSDT 10–50 USD.
  3. Cuối cùng, TP luôn phải ≥ SL — nghĩa là mọi lệnh có tỉ lệ lời/lỗ ít nhất 1:1.

Vì sao phải có những luật đó

Vì bot đã thử ăn gian hai lần, theo hai kiểu ngược nhau, và FatBoy phải bịt cả hai:

Cách hiện tại lấy phần hay của cả hai: ATR cho SL/TP co giãn theo nhịp thị trường, biên pip giữ cho nó không bao giờ quá gần (bị spread và nhiễu quét) hay quá xa (hết giờ mà chưa chạm giá). Đo trên dữ liệu thật: tỉ lệ lệnh hết giờ rơi từ 59 % xuống 7–14 %, chạm TP khoảng 40 %, chạm SL khoảng 47–52 %.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Bảng thi có TIMEOUT rất nhiều (> 50 % số lệnh)Bot này được train bằng bản cũ (bội ATR không kẹp). Bấm Tên mới rồi train lại — bot mới dùng luật kẹp 15–50 pip.
Dòng SL/TP ghi "theo bội ATR (bản cũ)"Bạn đang chọn một bot train từ trước 22/09. Bình thường; muốn theo luật mới thì train bot mới.
SL/TP trung bình trong bảng thi đụng trần 50 pip ở mọi lệnhBot chưa học phân biệt phiên động với phiên yên — thường do train quá ít bước. Train nhiều hơn (mục 12).

9. Train nhiều cặp và soi gương giá

Khối Cặp, Nguồn, Soi gương giá

Hai lựa chọn này đều là thuốc chống học thuộc, đều bật sẵn cho bot mới, và đều dựa trên số đo thật trên chính bộ 5 năm dữ liệu kèm theo phần mềm.

Vì sao train nhiều cặp

Một cặp có khoảng 24.000 cây nến giờ trong 5 năm. Chỉ học một cặp thì bot dễ bám vào thói quen riêng của cặp đó. Cho bot học hai thị trường cùng lúc thì nó phải tìm quy luật chung cho cả hai — thứ có cơ may còn đúng ở tháng sau.

Nhưng không phải cặp nào cũng ghép được

Ba con số đo trên bộ 5 năm:

Đo cái gìKết quảNghĩa là gì
Tương quan theo giờ EURUSD – USDJPY−0,46Hai cặp bù nhau: giờ EUR lên thì JPY thường xuống. Bot học được "hai mặt của cùng một đồng đô la" thay vì học hai bản sao.
Tương quan theo giờ BTC – ETH+0,85Gần như một thị trường. Train chung gần như không thêm được gì, chỉ tốn gấp đôi thời gian.
Độ nghiêng 5 nămXAUUSD +2,78 %/năm ≫ USDJPY +1,47 % ≫ EURUSD +0,23 %Vàng đi lên gần như một chiều suốt 5 năm. Ghép vàng vào là tặng không cho bot chiến thuật "cứ Mua là có lời" — đúng trên dữ liệu cũ, sai ngay khi vàng đi ngang.

Kết luận: mặc định cho bot mới là EURUSD + USDJPY. Vàng và crypto bị loại khỏi train nhiều cặp — muốn dạy vàng hay crypto thì train riêng, một cặp một bot. Nếu bạn tick vàng/crypto chung với forex, phần mềm hiện dòng cảnh báo "Vàng/crypto có nhịp và độ nghiêng khác hẳn forex — nên train riêng."

Cách nó chạy và cách nó chấm

Soi gương giá

Nhìn lại bảng trên: USDJPY đi lên +1,47 %/năm suốt 5 năm. Một con bot lười có thể đạt điểm khá chỉ bằng cách luôn Mua — không phải vì nó đọc được biểu đồ, mà vì dữ liệu học nghiêng về một phía. Ra thị trường thật, khi xu hướng đảo, con bot đó lỗ liên tục.

Soi gương giá chữa đúng chỗ đó: một nửa số ván lúc học, phần mềm lật ngược biểu đồ rồi bắt bot chơi lại. Lật đúng nghĩa đen — đỉnh thành đáy, đáy thành đỉnh; một đoạn tăng dần trở thành đoạn giảm dần y hệt về hình dạng. Chỉ báo được tính lại từ đầu trên chuỗi đã lật (RSI của chuỗi lật đúng bằng 100 − RSI gốc; ATR không đổi vì biên độ dao động lật hay không cũng vậy). Nhờ vậy mọi lợi thế do "xu hướng một chiều" bị triệt tiêu hoàn toàn, và bot buộc phải học hình dạng giá.

Soi gương chỉ dùng lúc học. Khi Thi, thi cuốn chiếu, phong ấn và Chạy thật, biểu đồ không bao giờ bị lật — đi thi và ra đời luôn là giá thật.

Khi nào nên tắt

Chỉ tắt để so sánh trong bài tập: bỏ tick Soi gương giá, đặt Tên run mới, train, thi, rồi đặt hai bảng cạnh nhau. Bạn sẽ thấy bot tắt soi gương thường thi đẹp ở kỳ có xu hướng và rớt hẳn ở kỳ đi ngang. Ngoài bài tập đó ra, cứ để bật.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Dòng cảnh báo "Vàng/crypto có nhịp và độ nghiêng khác hẳn forex"Bỏ tick vàng/crypto, hoặc bỏ tick forex — train riêng từng nhóm.
Máy hết RAM khi train 2 cặpMỗi sân tập nạp nến phút của mọi cặp (~90 MB/cặp/sân tập). Train 1 cặp thôi, hoặc xem mục 16 dòng "Máy đơ".
Không tick ô nào ở dòng CặpPhải tick ít nhất một ô, hoặc gõ tên cặp vào ô "hoặc gõ thêm".

10. Đọc nhật ký lúc train

Khung bên phải chạy rất nhanh — bạn không cần đọc hết. Chỉ có hai loại dòng đáng quan tâm.

Nhật ký lúc train

Các loại dòng bạn sẽ thấy

DòngÝ nghĩa
`Step 49,947 e2 \Buy \Entry … \Result TIMEOUT \Reward −15.98`Một quyết định. Buy màu xanh, Sell màu đỏ, Hold (đứng ngoài) màu xám. Kết quả TP xanh, SL đỏ, TIMEOUT (hết giờ) vàng. Reward dương xanh, âm đỏ.
`Update @ 50,000 \Critic Loss … \Actor Loss …` (xanh lơ)Mạng nơ-ron vừa được cập nhật. Số này chỉ dành cho người tò mò, không cần hiểu.
`=== Bước 2,600,000/20,000,000 (13%) \803 bước/s \Tổng pip … \Lệnh …: TP … / SL … / TO … \Thắng … \còn ~6 giờ 0 phút ===`Dòng trắng đậm, mỗi 1.000 bước. Đây là dòng để bạn liếc: đã chạy tới đâu, nhanh bao nhiêu, còn bao lâu.
*** Đánh giá @ bước 2,600,000: điểm TB −2305.7 (tốt nhất −1880.8 @ 600,000)Dòng tím — quan trọng nhất. Xem giải thích ngay dưới.
*** Dừng sớm ở bước 2,600,000: …Dòng tím, cũng xem dưới.

Dòng tím Đánh giá và Dừng sớm

Dòng tím "Đánh giá" — con số quan trọng nhất

Cứ 10.000 bước (hoặc 100.000 bước khi chạy theo tiêu chuẩn), bot được lôi ra chấm trên khúc dữ liệu nó chưa từng thấy, và kết quả in ra dòng tím này. Đây mới là điểm thật.

Ngược lại, "Tổng pip" trên dòng trắng đậm là điểm lúc học, luôn đẹp hơn thực tế — vì bot đang làm bài trên đúng đoạn dữ liệu nó đã xem đi xem lại 50–100 lần. Trong ảnh trên, Tổng pip lúc train là +6.252.059 (rất đẹp) trong khi điểm đánh giá là −2305,7 (âm). Khoảng cách đó chính là học thuộc.

"Học thuộc" (overfit) là gì

Bot ghi nhớ đoạn dữ liệu cũ thay vì học quy luật — như học sinh thuộc lòng đề năm ngoái. Dấu hiệu nhận ra:

"Dừng sớm" là gì — và vì sao đó là tin tốt

Ô "Tự dừng khi hết cải thiện" (bật sẵn) làm việc này: nếu 20 lần đánh giá liên tiếp không có lần nào tốt hơn bản tốt nhất, phần mềm tự dừng và giữ lại bản tốt nhất, in dòng tím:

*** Dừng sớm ở bước 2,600,000: tập kiểm tra không cải thiện 20 lần đánh giá liên tiếp từ bước 600,000 — bản tốt nhất là 600,000 (best/best_model.zip)

Nghĩa là: "train thêm chỉ làm bot thuộc bài hơn, tôi dừng ở đây và giữ bản ở bước 600.000". Đây không phải lỗi và cũng không phải bot hỏng — nút Thi (test) sẽ tự lấy đúng bản tốt nhất đó. Muốn train hết số bước bằng mọi giá thì bỏ tick ô này (không khuyên).

Ba thứ cần nhớ

  1. Nhìn thanh trạng thái dưới cùng, không cần nhìn chữ chạy.
  2. Điểm thật nằm ở dòng tím, không phải ở "Tổng pip".
  3. Toàn bộ nhật ký (bản không màu) được lưu ở runs\<tên run>\train-log.txt — mở bằng Notepad lúc nào cũng được. Nút Mở thư mục kết quả đưa bạn tới đúng chỗ đó.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Điểm đánh giá đầu tiên rất âm (ví dụ −4.980)Bình thường ở 10–20 nghìn bước đầu: bot mới, đứng ngoài suốt nên bị phạt lặp hành động. Điểm sẽ lên khi bot bắt đầu vào lệnh.
Dòng tím đi ngang suốt, "tốt nhất" đứng yênBot đã hết học được. Đổi một thứ (số nến, chỉ báo, preset, cỡ mạng), Tên mới, train lại.
Nhật ký bỏ qua hàng nghìn dòng ("… bỏ qua N dòng để màn hình không đơ")Bình thường khi train bằng GPU (quá nhanh). Bản đầy đủ vẫn nằm trong train-log.txt.
Muốn xem biểu đồ thay vì chữBấm Mở TensorBoard — trình duyệt mở một trang biểu đồ điểm đánh giá theo thời gian.

11. Thi (test) — đọc bảng kết quả

Bảng kết quả Thi (test)

Bấm Thi (test) là cho bot làm bài trên khúc dữ liệu niêm phong — phần dữ liệu năm 2026 mà bot chưa từng được thấy lúc học, chỉ mở ra khi thi. Kết quả in ra nhật ký và ghi vào runs\<tên run>\ket-qua.md.

Từng dòng nghĩa là gì

Dòng trong bảngNghĩa là gìNhìn thế nào là ổn
Bot nhìnNhắc lại lựa chọn của chính bot này lúc train.Phải khớp với cái bạn định thử.
SL/TPLuật đặt SL/TP của bot này (mục 8).—
Số quyết định (nến bot đã xem)Bao nhiêu cây nến giờ bot được hỏi "vào hay đứng ngoài?".Bằng số giờ giao dịch trong kỳ thi.
Số lệnhTổng số lệnh, kèm lệnh/ngày và số lệnh mua / bán.Dưới 30 lệnh thì đừng kết luận gì. Mua và bán nên tương đối cân — lệch hẳn về một phía là dấu hiệu bot thiên vị.
Lệnh mở cùng lúc tối đaBot được vào lệnh mới ở mỗi cây nến, nên nhiều lệnh chồng nhau. Số này là lúc đông nhất, kèm trần cho phép.Đụng trần liên tục = bot vào lệnh quá tham.
Thắng / thua / hoàSố lệnh lãi / lỗ / hoà và tỉ lệ thắng.Tỉ lệ thắng cao không có nghĩa là bot tốt — xem dòng tổng pip.
Tổng pip (đã trừ spread)Dòng quan trọng nhất. Lãi lỗ cả kỳ tính bằng pip, đã trừ phí. Kèm trung bình mỗi lệnh và sụt sâu nhất.Phải dương. Trung bình mỗi lệnh dương dù chỉ +0,5 pip cũng có ý nghĩa nếu số lệnh lớn.
Kỳ vọng mỗi lệnh (R trung bình)Lãi lỗ trung bình tính theo R (chạm SL ≈ −1 R).Dương là tốt.
Sụt sâu nhất (theo R hoặc pip)Từ đỉnh xuống đáy của đường vốn — đau nhất là bao nhiêu. Có tính cả các lệnh đang mở.Càng nhỏ càng tốt. Ngưỡng của Bộ tiêu chuẩn: EURUSD/USDJPY 150 pip, XAUUSD 60 USD, BTC 3.000, ETH 200.
Giờ giữ lệnh trung bìnhTrung bình, trung vị và lâu nhất.Nếu gần sát mức "giữ lệnh tối đa" của bạn → phần lớn lệnh đang chờ hết giờ chứ không chạm SL/TP.
SL / TP trung bình (pip) và (× ATR)Bot đặt SL/TP xa bao nhiêu, tính bằng pip và theo bội ATR.Không nên đụng trần ở mọi lệnh (mục 8).
Lệnh đóng vìTIMEOUT (hết giờ) / TP (chạm chốt lời) / SL (chạm cắt lỗ).TIMEOUT nên dưới 20 %. Trên 50 % là bot đang "đặt xa rồi chờ".
Minh hoạ vốn (rủi ro 2 %/lệnh)Chỉ để hình dung, không phải tài khoản thật.—
20 lệnh đầu (trong file ket-qua.md)Từng lệnh: vào lúc nào, mua hay bán, giá vào, SL, TP, đóng vì gì, được mấy pip.Đọc để thấy bot thật sự làm gì.

Bot train nhiều cặp thì bảng còn có thêm mỗi cặp một cột và một cột TỔNG.

Điều quan trọng nhất về bảng này

Điểm đẹp lúc train mà đi thi lại âm là chuyện BÌNH THƯỜNG — nó xảy ra với phần lớn bot đầu tiên của mọi người, kể cả FatBoy. Đó là học thuộc (mục 10), không phải bạn làm sai và cũng không phải phần mềm hỏng.

Và đây là luật của khoá học: phải kể thật. Bot thi âm thì nói là âm. Con số trong bảng này là con số thật, tính từ kết quả thật của từng lệnh trên dữ liệu bot chưa thấy — nó có giá trị chính vì nó không được làm đẹp. Một bot lỗ mà bạn hiểu vì sao nó lỗ đáng giá hơn mười bot "đẹp" mà bạn không giải thích được.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
"0 lệnh — bot không vào lệnh nào"Train quá ít bước. Bấm ▶ Train với cùng Tên run, số bước 200.000 trở lên.
Tổng pip âm dù train rất lâuBình thường ở bot đầu. Đổi một thứ, Tên mới, train lại, so bảng. Đừng đổi 3 thứ một lúc.
Số quá đẹp (thắng 80 %, sụt sâu gần 0)Nghi ngờ trước khi vui. Kiểm tra bạn có vô tình cho bot học nhầm khúc thi không. Gọi hỗ trợ nếu không chắc.
Báo "bot này chưa được train bằng fatboy train"Ô Tên run đang trỏ vào một thư mục chưa có bot. Chọn đúng tên run đã train, hoặc train trước.

12. Chạy theo tiêu chuẩn (một nút, qua đêm)

Hàng Bộ tiêu chuẩn và nút Đưa lên Arena đang khoá (ảnh chụp bản cũ, nút khi đó ghi Đưa lên Hub)

Một lần thi 6 tháng chưa trả lời được câu hỏi thật: bot này may hay giỏi? Một đồng xu tung 6 lần ra 5 mặt ngửa cũng "trông giỏi". Bộ tiêu chuẩn FatBoy là cách trả lời bằng số, theo cùng một luật cho mọi bot.

Một nút làm bốn việc

Bấm ▶ Chạy theo tiêu chuẩn (qua đêm), hộp xác nhận hiện ra (cho bạn sửa trần bước, số vòng, và ước lượng thời gian theo máy bạn), bấm Bắt đầu, rồi đi ngủ. Phần mềm sẽ tự làm:

  1. Train bot gốc tới trần 20 triệu bước, chấm và lưu checkpoint mỗi 100.000 bước, tự dừng sau 20 lần đánh giá liền không cải thiện.
  2. Thi cuốn chiếu 3 kỳ: năm 2024, năm 2025, và 01–06/2026. Điểm mấu chốt: mỗi kỳ là một con bot riêng, học tới đúng mốc của kỳ đó (kỳ 1 học tới 12/2023, kỳ 2 tới 12/2024, kỳ 3 học tới 12/2025). Bot đã học tới 2025 mà đem thi 2024 là thi trong mẫu — nó đã thấy đáp án. Vì có 3 bot nên bước này tốn gấp 3 lần train. Mỗi kỳ chấm hai cách: tuần tự (đi hết kỳ như ngoài đời) và random (rút 300 nến ngẫu nhiên, cho ra kỳ vọng mỗi lệnh ± khoảng tin cậy). Kết quả: bảng 3 kỳ cạnh nhau + dòng "qua x/3 kỳ".
  3. Tự luyện 10 vòng × 1 triệu bước: train tiếp cả 3 bot với hạt giống mới, nhưng chỉ nhận vòng nào tốt hơn ở ít nhất 2/3 kỳ (tăng ≥ 10 % tổng pip và sụt sâu không xấu hơn). 5 vòng liền không cải thiện thì dừng.
  4. Phong ấn: khúc từ 07/2026 tới hết dữ liệu được mở đúng một lần, cho bot cuối cùng. Đây là con số duy nhất chưa bị bạn "nhìn rồi chọn".

Cuối cùng in KẾT LUẬN: ĐẠT hoặc KHÔNG ĐẠT tiêu chuẩn FatBoy với 5 mục ✓/✗, và ghi vào runs\<tên run>\TIEU-CHUAN.md.

Mất bao lâu

MáyThời gian
Có GPU NVIDIA (~700 bước/giây)khoảng 14 giờ nếu bot dừng sớm, tới 46 giờ nếu chạy hết trần. Nên bấm buổi tối, sáng dậy xem; có thể sang cả ngày hôm sau.
Chỉ CPU (~85 bước/giây)3–12 ngày. Nên bật GPU (mục 14), hoặc giảm trần bước / số vòng ngay trong hộp xác nhận.

Hộp xác nhận sẽ tính con số cụ thể cho máy bạn trước khi bắt đầu.

Dừng giữa chừng được không? Được.

Bấm ■ Dừng bất cứ lúc nào — checkpoint đã được lưu. Bấm lại ▶ Chạy theo tiêu chuẩn với cùng Tên run là chạy tiếp đúng giai đoạn dở, không phải làm lại từ đầu. Tắt máy giữa chừng cũng vậy. Thanh trạng thái luôn ghi đang ở giai đoạn nào ([Tiêu chuẩn] …, [Tự luyện] vòng r/N — kỳ k/3).

Hai nút Thi cuốn chiếu và Tự luyện chạy riêng từng phần, cho ai muốn làm từng bước.

KẾT LUẬN gồm 5 mục

MụcĐẠT khi
3 kỳ cuốn chiếuqua 3/3 kỳ
≥ 30 lệnh mỗi kỳcả 3 kỳ
Tổng pip sau spread > 0 mỗi kỳcả 3 kỳ
Sụt sâu nhất ≤ ngưỡng mỗi kỳcả 3 kỳ
Phong ấn≥ 10 lệnh, tổng pip > 0, sụt sâu ≤ ngưỡng

Bot train nhiều cặp thì mọi cặp phải qua thì kỳ đó mới tính là qua.

KHÔNG ĐẠT không có nghĩa là "hỏng" — nó có nghĩa là "chưa đủ bằng chứng". Đọc xem kỳ nào rớt và vì sao (ít lệnh? sụt sâu? pip âm?), đổi một thứ, đặt Tên mới, chạy lại.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Hộp xác nhận báo thời gian 3–12 ngàyBạn đang chạy bằng CPU. Bấm Bật GPU (NVIDIA) (mục 14), hoặc giảm trần bước / số vòng ngay trong hộp.
Chạy giữa chừng thì mất điện / máy khởi động lạiMở lại phần mềm, chọn đúng Tên run cũ, bấm ▶ Chạy theo tiêu chuẩn — chạy tiếp từ chỗ dở.
Báo BrokenPipeError / "Sân tập con chết lúc khởi tạo"Phần mềm tự thử lại 3 lần. Vẫn thoát → bấm lại nút đó (tự chạy tiếp). Xem thêm mục 16.
Muốn thử luồng cho nhanh, không cần bot giỏiTrong hộp xác nhận, tick "Bản rút gọn chỉ để thử luồng" (~45 phút với GPU). Bot sẽ KHÔNG đạt — đúng như dự kiến.

13. Đưa bot lên FatBoy Arena (Đấu trường bot)

FatBoy Arena · Đấu trường bot (aifatboy.com/arena) là bảng điểm công khai: bot của học viên thi đấu trên dữ liệu thật và được chấm độc lập. Bot của bạn gửi quyết định lên trước khi biết kết quả, rồi máy chủ chấm bằng giá thật. Kết quả công khai, kể cả thua, và không ai sửa hay xoá được — kể cả FatBoy.

Bot nào được lên (từ bản 1.3.4)

Từ bản 1.3.4, gửi FatBoy Arena chọn theo từng bot ở thẻ Chạy thật (thẻ Tập & Thi không còn ô Gửi lên Arena / API key). Ô Gửi lên Arena trong hộp Thêm bot chạy thật chỉ bấm được khi bot đủ một trong hai:

Ở thẻ Tập & Thi, dòng trạng thái dưới Gửi Arena / MT5 (chỉ đọc) nói bot trong ô Tên run đang thế nào, ví dụ "Arena: ✓ mở — Thi 142 lệnh, +35,2 pip." (xanh), "Arena: khoá — Thi gần nhất: 64 lệnh — cần ≥ 100.", "Arena: khoá — Thi gần nhất: tổng pip −12,3 — cần ≥ 0." hoặc "Arena: khoá — model đã đổi sau lần Thi — bấm Thi lại." (vàng). Khi mở, nút Đưa lên Arena (hàng Bộ tiêu chuẩn) sáng: bấm là mở hộp Thêm bot chạy thật với bot này chọn sẵn và tick sẵn Arena.

Nếu bạn cứ bấm Chạy thật khi chưa đủ: bot vẫn chạy bình thường, nhật ký hiện một dòng vàng, nhưng không gửi gì lên Arena.

Các bước khi bot đã đủ điều kiện

  1. Mở aifatboy.com → Bot của tôi → Tạo bot (đặt tên, mô tả, số giờ giữ lệnh). Bot mới hiện thành một thẻ.
  2. Trong thẻ bot, bấm Tạo API key. Khoá dạng fb_live_… chỉ hiện đúng một lần → bấm Sao chép ngay và dán vào chỗ nào đó an toàn. Lỡ mất khoá? Bấm Xoay API key ngay chỗ đó: khoá mới hiện một lần, khoá cũ bị thu hồi. Máy chủ chỉ lưu bản mã hoá nên không ai xem lại được, kể cả quản trị viên.
  3. Bấm Bật hoạt động trên thẻ bot. Bot còn nhãn Nháp thì máy chủ từ chối mọi quyết định.
  4. Quay lại FatBoy Studio, mở thẻ Chạy thật (chạy nhiều bot cùng lúc, song song với Tập & Thi):
    • Bấm + Thêm bot chạy thật (hoặc nút Đưa lên Arena / Chạy thật… ở thẻ Tập & Thi: bot trong ô Tên run được chọn sẵn).
    • Tick bot (Thi đủ hoặc đã ĐẠT — dòng xanh ✓ đủ điều kiện Arena) → tick Gửi lên Arena; muốn thêm MT5 thì tick cả Gửi sang MT5 của tôi.
    • Dán khoá fb_live_… của đúng bot đó vào ô API key hiện ngay dưới (mỗi bot một khoá riêng). Tick hiện để kiểm tra đã dán đúng chưa.
    • Bấm ▶ Chạy các bot đã chọn. Bot luôn chạy liên tục, chạy nền — Train/Thi vẫn dùng bình thường.
  5. Mỗi bot hiện thành một thẻ: chấm xanh = đang chạy, huy hiệu Arena, quyết định gần nhất + "cách đây X phút". Bấm Nhật ký: phải thấy Arena: mở (…), ví dụ Arena: mở (Thi 142 lệnh, +35,2 pip); mỗi khi một cây nến giờ đóng lại, bot in BUY/SELL @ … → Arena nhận hoặc ĐỨNG NGOÀI (đứng ngoài thì không gửi gì).
  6. Giữ MT5 mở (nếu dùng nguồn MT5) và máy không được ngủ; Studio thu nhỏ được. Bấm ■ Dừng trên thẻ bot để ngắt. Đóng Studio thì các bot dừng, lần mở sau tự chạy lại; tick Mở FatBoy Studio cùng Windows để máy khởi động lại cũng tự chạy.
  7. Trên web, thẻ bot chuyển Đang chờ → Đã chấm. Trang công khai aifatboy.com/arena/<tên-bot> hiện khi bot đang hoạt động. Muốn ẩn tạm: Tạm ẩn (về nháp) — lịch sử đã chấm vẫn giữ, không xoá được.

Hãy đọc kỹ đoạn này trước khi bấm

Quyết định gửi lên Arena là thật và công khai. Arena chưa có chế độ thử — mọi thứ bạn gửi đều được chấm như thật và hiện ra cho mọi người. Đó chính là điều làm Arena có giá trị: không ai khoe được thành tích rồi âm thầm xoá phần thua. Vì vậy: chỉ đưa lên bot Thi đủ (tốt nhất là đã ĐẠT tiêu chuẩn), và chuẩn bị tinh thần rằng con số ngoài đời sẽ xấu hơn con số lúc thi.

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Ô Gửi lên Arena (hộp Thêm bot) mờ, không bấm đượcĐọc dòng lý do màu vàng ngay trên (hoặc dòng Arena: khoá — … ở thẻ Tập & Thi). Bấm Thi (test): cần ≥ 100 lệnh và tổng pip ≥ 0 (hoặc bot ĐẠT tiêu chuẩn, mục 12).
Nhật ký ghi ! Arena: KHOÁ — run '…': <lý do>Đúng như trên. Bot vẫn chạy, chỉ không gửi.
Arena từ chối quyết địnhTrên web, bấm Bật hoạt động cho thẻ bot (bot còn Nháp thì bị từ chối).
Mất API keyBấm Xoay API key trên thẻ bot → khoá mới. Khoá cũ bị thu hồi ngay.
Chạy được vài tiếng rồi tự ngưngMáy đã ngủ. Settings → System → Power → đặt Never cho mục sleep khi cắm điện.

14. Bật GPU (máy có card NVIDIA)

Bản tải về đi kèm phiên bản chạy bằng CPU cho nhẹ. Máy có card NVIDIA thì bật GPU giúp train nhanh hơn khoảng 7 lần (đo trên RTX 5070 Ti: 615–800 bước/giây so với 86 bước/giây bằng CPU; 20.000 bước từ 4–6 phút xuống còn ~35 giây).

Khu Thiết bị khi chưa bật GPU (ảnh bản trước, bố cục tương tự)

Các bước

  1. Cuộn cột trái xuống khu Thiết bị. Dòng chữ xám cho biết tình hình thật của máy bạn, ví dụ "CPU (torch 2.14.0+cpu) — card NVIDIA GeForce RTX 5070 Ti có sẵn, chưa bật".
  2. Bấm nút Bật GPU (NVIDIA).
  3. Hộp xác nhận cho biết sẽ tải khoảng 2,6 GB (cần ~8 GB trống, mất 5–20 phút tuỳ mạng). Bấm Yes.
  4. Tiến độ tải hiện trong nhật ký và ở thanh trạng thái. Muốn huỷ thì bấm ■ Dừng — bản cũ giữ nguyên, bấm lại lúc khác. Đang tải bản GPU (ảnh bản trước, bố cục tương tự)
  1. Xong, phần mềm tự kiểm tra lại và báo "GPU đã bật: NVIDIA … ". Nút đổi thành GPU đã bật ✓, mục Thiết bị tự về Tự động. Khu Thiết bị sau khi đã bật GPU
  1. Bấm ▶ Train — từ giờ chạy bằng GPU.

Khi nào cần bật

Máy không có card NVIDIA

Nút sẽ báo "Máy không có card NVIDIA, dùng CPU". Bình thường — mọi thứ vẫn chạy, chỉ chậm hơn. Card AMD và Intel hiện chưa được hỗ trợ.

Nếu máy hay màn hình xanh khi train GPU

Một số máy có phần mềm chống gian lận game (Vanguard…) hoặc driver cũ gây xung đột. Cách xử lý: ở mục Thiết bị chọn Ép CPU. Train chậm hơn nhưng ổn định. Đồng thời nên cập nhật driver NVIDIA (GeForce Experience → Drivers).

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
"Thiếu chỗ trống"Cần ~8 GB trống ở cả ổ chứa phần mềm lẫn ổ chứa thư mục tạm. Dọn ổ rồi bấm lại.
Tải giữa chừng thì mất mạngBấm Bật GPU (NVIDIA) lại — phần đã tải được dùng tiếp.
Bật xong nhưng Kiểm tra máy báo ✗ torchHiếm (mất mạng đúng lúc thay bản). Gọi 0981807460 — có một lệnh khôi phục bản CPU.
Máy vẫn màn hình xanh sau khi bậtChọn Ép CPU ở mục Thiết bị, cập nhật driver NVIDIA.

15. Cập nhật phần mềm

Thanh tài khoản có nút Cập nhật

Phiên bản đang dùng hiện ngay cạnh tên phần mềm ở góc trên bên trái (v1.2.0).

Cách cập nhật

  1. Bấm nút Cập nhật ở góc trên bên phải.
  2. Phần mềm hỏi máy chủ aifatboy.com xem có bản mới không.
  3. Không có bản mới → báo "đang dùng bản mới nhất", xong.
  4. Có bản mới → hiện ghi chú của bản đó (có gì mới) → bấm Tải và cài.
  5. Bản vá nhỏ chỉ vài MB, tải và cài trong chưa tới một phút. Phần mềm tự sao lưu bản cũ vào thư mục _engine_backup\ trước khi thay, và tự khôi phục nếu có lỗi.
  6. Xong, bấm Khởi động lại khi được hỏi.

Khi có bản mới, nút Cập nhật cũng tự đổi thành Cập nhật ● 1.x.y để bạn biết mà bấm.

Khi nào phải tải lại bản đầy đủ

Đôi khi bản mới cần cả nền Python/thư viện mới, không chỉ vá vài file. Lúc đó phần mềm sẽ tự mở trang aifatboy.com/hub/tai-ve để bạn tải lại bản đầy đủ (~363 MB).

Khi tải lại bản đầy đủ:

Nếu thấy lỗi X thì làm Y

Thấy gìLàm gì
Bấm Cập nhật không phản hồiKiểm tra mạng. Đang (ngoại tuyến) thì không cập nhật được.
Cập nhật xong phần mềm không mở lại đượcThư mục _engine_backup\ chứa bản cũ. Gọi 0981807460 để được hướng dẫn khôi phục.
Không muốn cập nhật ngayCứ bấm Không — bản đang dùng vẫn chạy bình thường. Nhưng nên cập nhật, vì FatBoy Arena chấm theo luật của bản mới.

16. Lỗi thường gặp — thấy X thì làm Y

#Thấy gìVì saoLàm gì
1"Windows protected your PC" khi nháy đúp FatBoy Studio.exeSmartScreen chặn file tải từ mạng chưa mua chứng thư số. Không phải virus.More info → Run anyway (chỉ hỏi lần đầu). Hoặc chuột phải file zip → Properties → tích Unblock → OK rồi giải nén lại.
2Nháy đúp không thấy gì, hoặc báo "Không chạy được Python"Giải nén thiếu, hoặc bạn kéo riêng file .exe ra ngoài, hoặc antivirus đã xoá file.Giải nén lại trọn thư mục, chạy .exe nằm trong thư mục đó. Thêm thư mục vào loại trừ antivirus (dòng 4).
3Không nhận được mã 8 số qua emailThư rơi vào Spam, hoặc gõ nhầm email.Xem thư mục Spam / Quảng cáo. Kiểm tra lại email. Bấm Gửi mã lại sau 60 giây. Vẫn không có → gọi 0981807460.
4PermissionError / Access is denied / file tự biến mấtAntivirus (Windows Defender, Avast…) chặn hoặc cách ly file.Thêm thư mục FatBoy vào loại trừ: Windows Security → Virus & threat protection → Manage settings → Exclusions → Add folder. Đừng để phần mềm trong OneDrive hay Program Files.
5Báo "Chưa có file … .csv" hoặc "không thấy file dữ liệu"Chưa bấm Lấy dữ liệu, hoặc bạn đổi cặp mà chưa lấy dữ liệu cho cặp mới.Bấm Lấy dữ liệu một lần nữa (với nguồn Bộ dữ liệu 5 năm (file) mất vài giây).
6"MT5 chưa mở hoặc chưa đăng nhập"Bạn chọn nguồn MT5 đang mở mà MetaTrader 5 chưa chạy / chưa đăng nhập.Cách dễ nhất: đổi Nguồn sang Bộ dữ liệu 5 năm (file) — không cần MT5. Hoặc mở MT5, đăng nhập (demo cũng được), thấy số dư ở góc dưới rồi bấm lại.
7"broker này không có symbol nào giống XAUUSD"Sàn của bạn đặt tên khác (XAUUSD.fix, XAUUSDm, GOLD…).Dùng nguồn file (bộ 5 năm kèm sẵn), hoặc gọi hỗ trợ để được chỉ cách khai đúng tên symbol.
8Hết ổ cứng / giải nén hoặc train báo thiếu chỗBộ dữ liệu + các bot đã train chiếm nhiều chỗ; mỗi bot vài MB nhưng checkpoint thì nặng.Dọn ổ đĩa. Xoá các thư mục bot cũ không dùng trong runs\ (bấm Mở thư mục kết quả để tới đó). Cần ≥ 5 GB trống, ≥ 8 GB nếu bật GPU.
9Máy đơ, MemoryError, hoặc cửa sổ tự tắt khi trainHết RAM (bộ nhớ kinh nghiệm + nhiều sân tập chạy song song, nhất là khi train 2 cặp).Đóng trình duyệt và các ứng dụng khác. Train một cặp thay vì hai. Vẫn đơ → gọi 0981807460 (có một dòng cấu hình giảm số sân tập).
10Train rất chậm (hàng chục bước/giây)Đang chạy bằng CPU.Bấm Bật GPU (NVIDIA) nếu máy có card NVIDIA (mục 14). Không có card thì giảm số bước, hoặc để chạy qua đêm.
11Train đứng yên 0 bước/giây trong 1–2 phút đầuBình thường: đang tính chỉ báo và nạp nến phút vào từng sân tập.Đợi 1–2 phút. Quá 10 phút → bấm ■ Dừng, xem dòng 9.
12Bấm Bật GPU nhưng báo "Máy không có card NVIDIA"Máy dùng card AMD / Intel, hoặc laptop không có card rời.Bình thường, train vẫn chạy bằng CPU, chỉ chậm hơn.
13Máy màn hình xanh / tự khởi động lại khi train bằng GPUDriver đồ hoạ hoặc phần mềm chống gian lận game (Vanguard…) xung đột.Mục Thiết bị → chọn Ép CPU. Cập nhật driver NVIDIA.
14Bấm Mở TensorBoard ra trang trắngCổng mạng đang bận, hoặc TensorBoard chưa kịp khởi động.Đợi 20 giây rồi tải lại trang (F5). Vẫn trắng thì bỏ qua — biểu đồ không bắt buộc, mọi số đều có trong nhật ký.
15Đường dẫn có dấu tiếng Việt (ví dụ C:\Users\Nguyễn Văn A\...)Một số thành phần không đọc được đường dẫn có dấu.Giải nén lại vào C:\FatBoyStudio hoặc D:\FatBoyStudio (không dấu, không khoảng trắng).
16"run này được train với …; đổi lựa chọn thì phải train run mới"Bạn đổi "Bot nhìn gì" rồi bấm Thi / Chạy thật trên một bot cũ.Bấm Tên mới → ▶ Train bot mới với lựa chọn mới. Bot cũ vẫn thi được nếu giữ nguyên lựa chọn của nó.
17Ô Gửi lên Arena (hộp Thêm bot chạy thật) mờ, không bấm đượcBot chưa Thi đủ (≥ 100 lệnh, tổng pip ≥ 0) và chưa ĐẠT tiêu chuẩn, hoặc model đã đổi sau lần Thi.Bấm Thi (test) (đọc dòng Arena: khoá — … ở thẻ Tập & Thi); hoặc ▶ Chạy theo tiêu chuẩn (mục 12). Chưa đủ thì không gửi được — đó là luật.
18Mất API key fb_live_…Khoá chỉ hiện đúng một lần và máy chủ chỉ lưu bản mã hoá.Trên web, trong thẻ bot bấm Xoay API key → khoá mới hiện một lần. Khoá cũ bị thu hồi.
19Bảng thi ra "0 lệnh"Bot train quá ít bước, chưa dám vào lệnh.▶ Train với cùng Tên run, 200.000 bước trở lên.
20Dòng tím "Dừng sớm ở bước X"Không phải lỗi: bot hết cải thiện, phần mềm giữ bản tốt nhất.Cứ bấm Thi (test) — nó tự lấy bản tốt nhất.
21BrokenPipeError / "Sân tập con chết lúc khởi tạo"Một sân tập con đọc file dữ liệu lớn bị lỗi ngẫu nhiên.Phần mềm tự thử lại 3 lần. Vẫn thoát → bấm lại đúng nút đó (mọi giai đoạn tự chạy tiếp). Bấm Lấy dữ liệu để kiểm tra file trên đĩa.
22Bấm ■ Dừng mà ~90 giây sau mới tắt, nhật ký ghi "buộc dừng"Tiến trình con không phản hồi (hiếm, thường do máy quá tải).Không sao — checkpoint gần nhất vẫn còn. Bấm ▶ Train cùng Tên run để chạy tiếp.
23Chữ trong nhật ký chạy quá nhanh không đọc kịpBình thường (hàng trăm dòng mỗi giây).Chỉ đọc dòng trắng đậm === Bước …. Toàn bộ nằm trong runs\<tên run>\train-log.txt.
24Lỗi lạ không có trong bảng này—Phần mềm ghi chi tiết vào runs\loi-gan-nhat.txt. Bấm Mở thư mục kết quả, tìm file đó và gửi cho FatBoy qua Zalo 0981807460.

17. Hỏi ai khi bí

Khi hỏi, gửi kèm ba thứ này thì được giúp nhanh gấp đôi:

  1. Ảnh chụp toàn bộ cửa sổ FatBoy Studio (phím Windows + Shift + S để cắt màn hình).
  2. Tên run bạn đang làm.
  3. File runs\<tên run>\train-log.txt hoặc runs\loi-gan-nhat.txt nếu là lỗi.

Đừng gửi cho ai khoá API bắt đầu bằng fb_live_… — kể cả nhân viên FatBoy không bao giờ hỏi bạn khoá đó.


Kết quả quá khứ không đảm bảo tương lai. Giao dịch có rủi ro.