• 30ºC, Clouds
  • Saturday, 13th December, 2025
  • Trang Chủ
  • Bộ Lọc
  • Nhận Định Thị Trường
  • Phân Tích Doanh Nghiệp
  • Amibroker
    • Code AFL
    • Tự học Amibroker
  • Kiến Thức Đầu Tư
    • Chỉ Báo Kỹ Thuật
    • Phân Tích Cơ Bản
    • Phương Pháp Sóng Elliot
    • Phương Pháp Wyckoff/VSA
    • Vĩ Mô Liên Thị Trường
  • Liên hệ
  • Giới Thiệu
Mới Nhất
  • Phân tích VN-Index ngày 11/08
  • Phân tích HAH
  • Bài 46: Trở thành nhà giao dịch chuyên nghiệp
  • Bài 45: GFX Functions – Bảng trạng thái giao dịch Amibroker
  1. Trang chủ
  2. Amibroker
  3. Tự học Amibroker
  4. Bài 17: Flow Control Statements – AFL Engine Warm-up Amibroker
Bài 17: Flow Control Statements – AFL Engine Warm-up Amibroker

Xem nhanh:

  • Hiểu và Kiểm Soát AFL Engine Warm-up Trong Amibroker: Khai Thác Dữ Liệu Hiệu Quả
  • AFL Engine Warm-up Là Gì?
  • Cách Tắt và Điều Chỉnh AFL Engine Warm-up
  • 1. Tắt hoàn toàn AFL Warm-up (Buộc BarIndex bắt đầu từ 0)
  • 2. Điều chỉnh số lượng thanh nến Warm-up

Hiểu và Kiểm Soát AFL Engine Warm-up Trong Amibroker: Khai Thác Dữ Liệu Hiệu Quả

Khi bạn bắt đầu làm việc với Amibroker Formula Language (AFL), đặc biệt là khi sử dụng các biến như BarIndex để truy xuất dữ liệu từng thanh nến, bạn có thể nhận thấy điều kỳ lạ: BarIndex của thanh nến đầu tiên trên biểu đồ thường không phải là 0. Thay vào đó, nó thường bắt đầu từ 30 hoặc một con số lớn hơn. Hiện tượng này là do tính năng AFL Engine Warm-up được bật theo mặc định.

AFL Engine Warm-up Là Gì?

AFL Engine Warm-up là một tính năng tối ưu hóa của Amibroker nhằm cải thiện hiệu suất tính toán cho các chỉ báo và hệ thống giao dịch. Về cơ bản, khi bạn mở một biểu đồ hoặc chạy một phân tích, Amibroker sẽ không chỉ tính toán trên các thanh nến mà bạn đang thấy trên màn hình. Thay vào đó, nó sẽ tự động tính toán thêm một số lượng thanh nến “phụ” ở phía trước (lịch sử) của phần biểu đồ hiển thị. Số lượng mặc định cho các thanh nến phụ này thường là 30.

Ví dụ minh họa: Nếu biểu đồ của bạn hiển thị 100 thanh nến, và AFL Warm-up mặc định 30 thanh nến, thì thanh nến đầu tiên mà bạn nhìn thấy trên màn hình thực chất là thanh nến thứ 31 trong chuỗi dữ liệu mà Amibroker đang xử lý. Do đó, BarIndex của thanh nến đầu tiên đó sẽ là 30 (vì BarIndex bắt đầu từ 0).

Tại sao AFL Warm-up được tích hợp?

  • Độ chính xác của chỉ báo: Nhiều chỉ báo kỹ thuật (như đường trung bình động dài, RSI, ATR) cần một lượng dữ liệu lịch sử nhất định để khởi tạo và tính toán chính xác. Warm-up đảm bảo rằng các chỉ báo này không bị thiếu dữ liệu ở đầu biểu đồ, giúp chúng có giá trị đáng tin cậy ngay từ thanh nến đầu tiên bạn nhìn thấy.
  • Tăng tốc độ hiển thị: Bằng cách tính toán trước một phần dữ liệu, Amibroker có thể hiển thị biểu đồ và các chỉ báo nhanh hơn, mang lại trải nghiệm mượt mà hơn cho người dùng.
  • Tối ưu hóa cho cửa sổ phân tích tự động: Ban đầu, tính năng này chủ yếu phục vụ các chỉ báo, nhưng sau đó nó cũng được mở rộng để tối ưu hóa cửa sổ phân tích tự động, giúp quá trình quét hoặc explore dữ liệu hiệu quả hơn.

Tuy nhiên, trong một số trường hợp, đặc biệt là khi bạn muốn kiểm soát chính xác việc xử lý dữ liệu từ đầu chuỗi hoặc khi BarIndex của thanh nến đầu tiên bắt buộc phải là 0 cho mục đích lập trình, bạn cần tắt hoặc điều chỉnh tính năng này.


Cách Tắt và Điều Chỉnh AFL Engine Warm-up

Để kiểm soát hành vi của AFL Engine Warm-up, bạn sử dụng hàm SetBarsRequired() bằng cách thêm một dòng code đơn giản vào đầu công thức AFL của mình:

1. Tắt hoàn toàn AFL Warm-up (Buộc BarIndex bắt đầu từ 0)

Nếu bạn muốn BarIndex của thanh nến đầu tiên trong toàn bộ dữ liệu của bạn (không chỉ phần hiển thị) bắt đầu từ 0, hãy sử dụng lệnh:

SetBarsRequired(0);

Khi dòng này được thêm vào đầu code và bạn chạy lại, bạn sẽ thấy BarIndex của thanh nến đầu tiên sẽ là 0, và nó sẽ tăng dần lên 1, 2, 3... đúng theo trình tự indexing thông thường. Điều này rất hữu ích khi bạn cần xử lý dữ liệu từ điểm khởi đầu tuyệt đối của chuỗi.

2. Điều chỉnh số lượng thanh nến Warm-up

Trong một số tình huống, bạn có thể muốn nhiều hơn (hoặc ít hơn) 30 thanh nến “làm nóng” mặc định. Ví dụ, nếu chiến lược của bạn cần tới 1000 thanh nến lịch sử để tính toán một chỉ báo dài hạn một cách chính xác, bạn có thể thiết lập:

SetBarsRequired(1000);

Lệnh này sẽ đảm bảo rằng Amibroker luôn cấp ít nhất 1000 thanh nến lịch sử trước thanh nến đầu tiên mà bạn thấy trên biểu đồ để phục vụ các tính toán của bạn.

Lợi ích của việc điều chỉnh SetBarsRequired():

  • Kiểm soát chính xác: Bạn có toàn quyền kiểm soát số lượng dữ liệu lịch sử mà Amibroker sử dụng cho các tính toán của mình.
  • Tối ưu hiệu suất: Đảm bảo đủ dữ liệu cho các chỉ báo và chiến lược mà không lãng phí tài nguyên bằng cách tính toán quá nhiều thanh nến không cần thiết.
  • Hỗ trợ gỡ lỗi: Giúp bạn gỡ lỗi các công thức yêu cầu dữ liệu lịch sử một cách dễ dàng hơn bằng cách đảm bảo BarIndex bắt đầu từ một điểm đã biết hoặc từ 0.

AFL Engine Warm-up là một tính năng tối ưu hóa hữu ích trong Amibroker. Tuy nhiên, để có thể kiểm soát hoàn toàn và gỡ lỗi các công thức AFL một cách chính xác, việc hiểu và biết cách sử dụng SetBarsRequired() để tắt hoặc điều chỉnh số lượng thanh nến làm nóng là điều cần thiết.

  • trancotam
❮ Prev Next ❯
Chia sẻ: Facebook WhatsApp Twitter
Chia sẻ với ứng dụng khác

Tin Xem Nhiều

Bài 1: Chiến Lược Bảo Vệ Vốn Hiệu Quả Khi Đầu Tư (Phần 1)
Chỉ Báo Kỹ Thuật
Bài 1: Chiến Lược Bảo Vệ Vốn Hiệu Quả Khi Đầu Tư…
21 Tháng 5, 2025
Bài 46: Trở thành nhà giao dịch chuyên nghiệp
Tự học Amibroker
Bài 46: Trở thành nhà giao dịch chuyên nghiệp
22 Tháng 6, 2025
Phân tích BFC
Phân Tích Doanh Nghiệp
Phân tích BFC
14 Tháng 7, 2025
Phân tích HAH
Phân Tích Doanh Nghiệp
Phân tích HAH
15 Tháng 7, 2025
Bảng công cụ phân tích thị trường
Chưa phân loại
Bảng công cụ phân tích thị trường
13 Tháng 5, 2025
Donation
Phóng to ảnh

TADOSO là nền tảng chia sẻ kiến thức và kinh nghiệm đầu tư tài chính, đặc biệt trong lĩnh vực chứng khoán, nhằm kết nối và nâng cao tư duy cho nhà đầu tư cá nhân tại Việt Nam. Với triết lý "Tạo dựng – Đồng hành – Sở hữu", TADOSO hướng đến xây dựng cộng đồng học hỏi minh bạch, trung lập, không bị chi phối bởi tổ chức tài chính nào.

Newsletter

Hãy để lại mail để chúng tôi có thể phục vụ bạn tốt hơn

Donation - Buy me a coffee

Donation

Copyright © All rights reserved | This template is made with by Tran Co Tam

  • Terms of use
  • Privacy Policy
  • Contact
Zalo Messenger
×

Liên hệ