Hướng dẫn Chi Tiết Cách Sử Dụng Trình Gỡ Lỗi Trực Quan AFL trong AmiBroker

ha.anh
4 Min Read

Giới Thiệu

Trình gỡ lỗi trực quan (Visual Debugger) trong AmiBroker là công cụ cực mạnh giúp bạn theo dõi, kiểm tra và sửa lỗi mã AFL một cách nhanh chóng, trực quan. Bài viết này sẽ giúc bạn hiểu sâu cách hoạt động của Visual Debugger và khai thác tối đa công cụ này.

1. Cách khởi chạy gỡ lỗi

  • Nhấn F5 hoặc vào Debug → Go trong Trình soạn thảo AFL.

  • Hoặc click vào nút Bắt Đầu/Tiếp Tục trên thanh công cụ.

  • Mã sẽ chạy gần như ngay lập tức nếu không có điểm dừng.

 

2. Thiết lập điểm dừng (Breakpoint)

  • Đặt con trỏ tại dòng mã cần dừng → nhấn F9 hoặc click nút vòng tròn đỏ.

  • Biểu tượng điểm dừng sẽ hiện bên lề trái.

  • Bạn có thể thêm/xóa điểm dừng bất kỳ lúc nào, kể cả khi mã đang chạy.

 

3. Thực thi từng bước

  • F10 – Step Over: Chạy qua toàn bộ dòng lệnh (kể cả hàm).

  • F11 – Step Into: Bước vào bên trong hàm nếu dòng mã gọi hàm.

4. Kiểm tra nội dung biến

  • Di chuột qua biến trong khi đang dừng → Tooltip sẽ hiển thị kiểu và giá trị.

  • Dùng cửa sổ Watch để theo dõi nhiều biến cùng lúc:

    • Mở: Window → Watch

    • Kéo thả biến từ editor hoặc nhấn đúp nhập tay

    • Nhấn DELETE để xóa

  • Hỗ trợ:

    • Toán tử + – * /

    • Chỉ số mảng (Close[i+2])

    • Biểu thức tổ hợp: “Gia = ” + Close[i+2]

 

5. Tab MẢNG

  • Hiển thị đặc biệt cho các mảng (array) như trong khám phá (exploration)

  • Mỗi mảng được theo dõi thay đổi

  • Dễ phát hiện được thay đổi giá trị giữa các lần bước

 

6. Cửa sổ Output

  • In thông tin ra đây bằng printf()

  • Dùng để theo dõi dòng mã đang chạy và debug theo vét dấu vết

 

7. Tùy chỉnh Trình gỡ lỗi (Debug Options)

Vào Tools → Options → Debugger:

  • BarCount limit: Giới hạn thanh (mặc định 200)

  • Interval: Dùng base interval hay chart interval

  • Auto-scroll: Tự động cuộn tới dòng thay đổi

  • Giữ trạng thái gỡ lỗi: Lưu .dbg gồm breakpoint, bookmark…

8. Phím tắt nhanh

Hành động Phím tắt
Bắt đầu/Tiếp tục F5
Điểm dừng F9
Bước qua F10
Bước vào F11

 

9. Mẹo & Lưu ý khi dùng Breakpoint

  • Đặt điểm dừng trong if() để dịch chỉ khi đủ điều kiện:

if( reset > 0 AND param > 4 )

{

   cs = 0; // breakpoint dặt định ở đây

}

 

  • Chỉ hoạt động với:

    • lệnh thường, for, while, do-while, if, return, switch/case, break

  • KHÔNG hoạt động với dòng trống, // comment hoặc ngoặc để mở/đóng block

10. Gỡ lỗi trong nhiều ngữ cảnh (Context)

AmiBroker chạy mã trong các context khác nhau:

if( Status(“action”) == actionIndicator )

{

   // breakpoint trong đây không chạy trong context backtest

}

 

  • Từ AmiBroker 6.10: Trình gỡ lỗi luôn dùng context: actionBacktest.

  • Do đó, nếu muốn gỡ lỗi trong ngữ cảnh khác (như Indicator), các breakpoint có thể không hoạt động.

Kết Luận

Trình gỡ lỗi trực quan AFL trong AmiBroker là một vũ khí quý giá dành cho những ai muốn hiểu rõ và tinh chỉnh hệ thống giao dịch AFL. Hãy làm chủ công cụ này và dùng nó như một cách để “soi mã” và trau chuốt logic trong chiến lược giao dịch của bạn.

TAGGED:
Share This Article
Leave a Comment