GIỚI THIỆU
Tính năng Bar Replay trong AmiBroker cho phép mô phỏng lại dữ liệu thị trường trong quá khứ như thể bạn đang xem nó diễn ra trực tiếp. Công cụ này cực kỳ hữu ích để kiểm tra chiến lược, huấn luyện tư duy phân tích kỹ thuật, và nghiên cứu hành vi chỉ báo. Tính năng này khả dụng thông qua menu Công cụ (Tools) → Phát Lại Thanh (Bar Replay).

Khi bật tính năng này, dữ liệu sẽ bị giới hạn tại “vị trí phát lại” mà bạn chọn, áp dụng cho tất cả các biểu đồ, công thức, chỉ báo và cả phân tích tự động. Những dữ liệu sau mốc thời gian này sẽ bị tạm ẩn khỏi mọi phần mềm trừ cửa sổ Quote Editor.
CÁC THÀNH PHẦN CHÍNH
Thanh điều khiển phát lại
| Biểu tượng | Chức năng |
| ⏮️ | Rewind to the beginning – Quay lại đầu khoảng phát lại |
| ⬅️ | One Step Back – Lùi lại một bước dữ liệu |
| ⏸️ | Pause – Tạm dừng phát lại và cho phép kéo thanh trượt thủ công |
| ▶️ | Play – Phát lại dữ liệu từng bước với tốc độ người dùng chỉ định |
| ➡️ | One Step Forward – Tiến thêm một bước dữ liệu |
| ⏭️ | Forward to end of selected range – Phát đến cuối khoảng phát lại đã chọn |
| ⏹️ | Stop – Dừng chế độ phát lại và khôi phục toàn bộ dữ liệu |
Thanh trượt
Thanh trượt hiển thị tiến trình phát lại và cho phép di chuyển bằng tay tới bất kỳ vị trí nào trong khoảng thời gian mô phỏng.
Ngày bắt đầu/kết thúc
Người dùng có thể chọn ngày bắt đầu và ngày kết thúc cho phiên phát lại. Dữ liệu chỉ hiển thị từ ngày bắt đầu đến điểm phát lại hiện tại. Nút mũi tên nhỏ bên cạnh cho phép chọn ngày hiện tại từ biểu đồ.
Khoảng thời gian bước (Step Interval)
Đây là đơn vị thời gian của mỗi bước phát lại. Ví dụ:
- Cơ sở dữ liệu 1 phút → Bước nên là 1 phút
- Cơ sở dữ liệu EOD → Bước nên là 1 ngày
Tuy nhiên, bạn có thể chọn bước lớn hơn để phát lại nhanh hơn. Quan trọng: Khoảng thời gian xem trên biểu đồ không bị ảnh hưởng.
Tốc độ (Speed)
Xác định số bước phát lại trong một giây.
- Giá trị nhỏ nhất: 0.1 bước/giây (1 bước mỗi 10 giây)
- Giá trị lớn nhất: 5 bước/giây
- Mặc định: 1 bước/giây
Ví dụ: chọn 3 thì phần mềm sẽ phát lại 3 bước dữ liệu mỗi giây (tương đương 1 bước mỗi 0.33 giây).
Tùy chọn bổ sung
- Bỏ qua sau giờ giao dịch: Chỉ phát lại các dữ liệu trong giờ giao dịch chính thức (do bạn cấu hình trong Intraday Settings).
- Bỏ qua cuối tuần: Bỏ qua các ngày thứ Bảy và Chủ Nhật.
CÁCH SỬ DỤNG
- Truy cập Công cụ > Phát Lại Thanh.
- Chọn ngày bắt đầu, ngày kết thúc, bước và tốc độ.
- Nhấn Play hoặc Pause để vào chế độ phát lại.
- Khi đang phát, bạn có thể dùng thanh trượt để tua tới lui.
- Nhấn Stop hoặc đóng cửa sổ để thoát chế độ phát lại.
Lưu ý: Phát lại chỉ ảnh hưởng đến cách dữ liệu được xử lý nội bộ trong thời gian chạy, không làm thay đổi dữ liệu thật trong cơ sở dữ liệu của bạn.
TRÌNH SOẠN THẢO CÔNG THỨC (AFL FORMULA EDITOR)
1. MỤC ĐÍCH VÀ CHỨC NĂNG
Trình Soạn Thảo Công Thức (AFL Formula Editor) là công cụ chính trong AmiBroker để người dùng viết, chỉnh sửa, kiểm tra và chạy các đoạn mã AmiBroker Formula Language (AFL). Đây là nơi bạn có thể xây dựng các:
- Chỉ báo kỹ thuật (indicators)
- Hệ thống giao dịch tự động
- Chiến lược backtest
- Lọc tín hiệu giao dịch (exploration & scan)

Kể từ phiên bản 5.80 trở đi, trình biên tập đã được đại tu hoàn toàn để hỗ trợ lập trình hiệu quả và thân thiện hơn, giúp người dùng tiết kiệm thời gian và giảm lỗi.
2. GIAO DIỆN & CẤU TRÚC
Giao diện trình biên tập có thể hoạt động ở hai chế độ:
- MDI (Multi Document Interface): Dạng tab trong khung chính AmiBroker
- Khung nổi riêng biệt (Floating Frame): Có thể tách và di chuyển độc lập, hữu ích khi bạn dùng nhiều màn hình
Chuyển đổi bằng menu: Window → Toggle Frame hoặc phím tắt `Ctrl + “
Bạn cũng có thể bật tùy chọn “Keep On Top” để cửa sổ luôn nằm trên các cửa sổ khác.
3. CÁC NÚT CHỨC NĂNG TRÊN THANH CÔNG CỤ

| Nút | Tác dụng |
| New | Xóa toàn bộ nội dung hiện tại, tạo công thức mới |
| Open | Mở file .afl từ thư mục |
| Save | Lưu công thức với tên hiện tại |
| In mã kèm tô màu cú pháp (nếu bật tùy chọn HTML) | |
| Cut / Copy / Paste | Thao tác cắt, sao chép, dán văn bản |
| Undo / Redo | Hoàn tác và làm lại thao tác trước đó |
| Formula Name | Ô đặt tên công thức. Đổi tên ở đây sẽ đổi luôn tên file khi lưu |
| Check Syntax | Kiểm tra lỗi cú pháp |
| Apply Indicator | Áp dụng đoạn mã lên biểu đồ dưới dạng chỉ báo |
| Analysis | Chạy đoạn mã trong cửa sổ Phân tích tự động (Exploration, Scan, Backtest…) |
4. TÍNH NĂNG LẬP TRÌNH THÔNG MINH
TÔ MÀU CÚ PHÁP (SYNTAX HIGHLIGHTING)
- Mỗi thành phần như hàm, biến dự trữ, chuỗi, số, bình luận đều được tô màu riêng
- Người dùng có thể tùy chỉnh màu sắc trong Tools → Preferences → Editor → Syntax Highlighting
TỰ ĐỘNG HOÀN THÀNH (AUTO COMPLETION)

- Khi bạn gõ Ctrl + Space, AmiBroker sẽ hiển thị danh sách hàm, biến, từ khóa phù hợp
- Chọn bằng phím mũi tên lên/xuống rồi Enter để chèn
- Có 2 chế độ:
- Theo yêu cầu: Nhấn Ctrl + Space mới hiện
- Tức thì: Tự bật khi bắt đầu gõ
Cài đặt tại: Tools → Preferences → Editor → Auto Completion Mode
GỢI Ý THÔNG SỐ HÀM (PARAMETER INFO)

- Khi bạn gõ tên hàm rồi mở ngoặc (, hệ thống sẽ hiện tooltip hiển thị đầy đủ cú pháp và tham số của hàm đó
- Áp dụng cho cả hàm lồng nhau
TỰ ĐỘNG KHỚP NGOẶC VÀ THỤT LỀ
- Gõ ngoặc mở thì tự thêm ngoặc đóng
- Tự canh chỉnh lề khi xuống dòng trong khối lệnh như if, for, switch
BÁO LỖI TRỰC TIẾP (INLINE SYNTAX ERRORS)
- Nếu có lỗi trong công thức, trình biên tập sẽ:
- Đánh dấu dòng lỗi
- Hiện thông báo chi tiết bên dưới
- Có nút “Go to Error” để nhảy đến dòng chứa lỗi

BOOKMARKS (ĐÁNH DẤU DÒNG)

- Đặt/xoá dấu bằng Ctrl + F2
- Nhảy giữa các dấu bằng F2 (tiến) hoặc Shift + F2 (lùi)
- Dấu bookmark có màu xanh ở lề trái
5. TÍNH NĂNG MỞ RỘNG
GẤP MÃ (CODE FOLDING)
- Gập các khối mã lớn như hàm, vòng lặp để không bị rối mắt
- Bật/tắt bằng View → Code Folding
CHÈN ĐOẠN MÃ MẪU (SNIPPET)
- Nhấn chuột phải → Insert Snippet
- Hoặc gõ phím rút gọn như @for rồi Enter
- Hoặc kéo đoạn mã từ cửa sổ Snippet vào
TÌM TRONG CÁC TỆP
- Menu: Edit → Find in Files
- Tìm toàn bộ các dòng chứa từ khóa trong các file .afl
- Kết quả hiển thị tại cửa sổ Output và có thể nhấn đúp để mở dòng tương ứng
6. TÙY CHỌN TRONG PREFERENCES
Truy cập: Tools → Preferences → Editor
| Tùy chọn | Chức năng |
| Auto-case keywords | Tự đổi tên hàm/biến về dạng chuẩn có viết hoa, ví dụ: valuewhen → ValueWhen |
| Show parameter info | Bật/tắt gợi ý tham số khi gõ hàm |
| Virtual space | Cho phép đặt con trỏ sau dòng hiện tại |
| Drag-and-drop to custom folder | Tự động di chuyển công thức tạo bằng kéo thả sang thư mục riêng |
| Use standalone frame | Hiển thị trình soạn thảo dưới dạng khung riêng biệt |
| Copy as HTML | Sao chép đoạn mã có màu sắc khi dán vào Word hoặc trình soạn thảo hỗ trợ |
| Auto-complete mode | Chọn chế độ tức thì hoặc theo yêu cầu |
7. GHI CHÚ & TÀI LIỆU BỔ SUNG
NHẬN XÉT KHỐI (LINE COMMENT)
- Chọn đoạn mã → Edit → Line Comment hoặc nhấn Ctrl + /
- Mỗi dòng sẽ được thêm // ở đầu
Để bỏ ghi chú, chọn lại và lặp lại thao tác.
LINK CÓ THỂ NHẤP TRONG NHẬN XÉT
- Ghi trong dạng chú thích như sau:
perl
Copy code
/// @link readme.html
/// @link http://www.amibroker.com
- Nhấn đúp vào link sẽ mở file/tài liệu/trang web tương ứng
8. QUY TRÌNH VIẾT CÔNG THỨC CHUẨN
- Mở Formula Editor
- Viết mã AFL
- Nhập tên công thức (Formula Name) mô tả rõ chức năng
- Nhấn Check Syntax để kiểm tra lỗi
- Chọn:
- Apply Indicator nếu là chỉ báo biểu đồ
- Analysis nếu là hệ thống giao dịch/scan/backtest