• 33ºC, Rain
  • Tuesday, 14th April, 2026
  • 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 10: Exploration, Scanning & Optimization – Xây Dựng Exploration Nhận Diện Bullish/Bearish
Bài 10: Exploration, Scanning & Optimization – Xây Dựng Exploration Nhận Diện Bullish/Bearish

Xem nhanh:

  • Xây Dựng Exploration Tùy Chỉnh Trong Amibroker: Nhận Diện Xu Hướng Bullish/Bearish
  • Hàm ROC() (Rate of Change): Công Cụ Phân Tích Động Lượng
  • Xây Dựng Logic Nhận Diện Xu Hướng Bullish/Bearish
  • Mã AFL cho Exploration Nhận Diện Xu Hướng
  • Cách Chạy Exploration và Tối Ưu Hóa Phân Tích

Xây Dựng Exploration Tùy Chỉnh Trong Amibroker: Nhận Diện Xu Hướng Bullish/Bearish

Chào mừng các bạn! Trong phần này, chúng ta sẽ áp dụng các kiến thức đã học về tab “Analysis” và các hàm AFL như Filter() và AddColumn() để tạo ra một Exploration tùy chỉnh đầu tiên của mình trong Amibroker. Mục tiêu của chúng ta là xây dựng một công cụ sàng lọc và trực quan hóa giúp nhanh chóng nhận diện xu hướng Bullish (tăng giá) hoặc Bearish (giảm giá) của từng mã chứng khoán.

Hàm ROC() (Rate of Change): Công Cụ Phân Tích Động Lượng

Trước khi đi sâu vào Exploration, chúng ta sẽ giới thiệu một hàm AFL mới rất hữu ích để đo lường động lượng giá: ROC() (Rate of Change).

Hàm ROC() tính toán phần trăm thay đổi của một mảng dữ liệu (ví dụ: giá đóng cửa) so với một số kỳ nhất định trong quá khứ. Nó giúp bạn nhanh chóng thấy được mức độ tăng/giảm của giá trong một khoảng thời gian cụ thể.

Cú pháp cơ bản của hàm ROC():

ROC(Array, Range);

Giải thích các tham số:

  • Array: Mảng dữ liệu bạn muốn tính toán tỷ lệ thay đổi (thường là Close để xem sự thay đổi giá).
  • Range: Số kỳ (phiên) trong quá khứ mà bạn muốn so sánh.
    • Ví dụ: ROC(Close, 1) sẽ tính phần trăm thay đổi của giá đóng cửa hôm nay so với hôm qua.
    • ROC(Close, 5) sẽ tính phần trăm thay đổi của giá đóng cửa hôm nay so với 5 phiên trước.

Ví dụ: Nếu ROC(Close, 1) trả về 1, nghĩa là giá đóng cửa đã tăng 1% so với phiên trước đó. Nếu trả về -1, nghĩa là giảm 1%.

Xây Dựng Logic Nhận Diện Xu Hướng Bullish/Bearish

Để xác định xu hướng Bullish hoặc Bearish, chúng ta sẽ kết hợp hàm ROC() với RSI (Relative Strength Index) – một chỉ báo động lượng phổ biến khác.

Logic điều kiện của chúng ta:

  • Bullish: Khi ROC(Close, 1) > 1 (giá đóng cửa tăng hơn 1% so với hôm qua) VÀ RSI() > 60 (RSI mặc định 14 kỳ, thể hiện động lượng tăng mạnh).
  • Bearish: Khi không thỏa mãn điều kiện Bullish.

Chúng ta sẽ sử dụng các hàm IIf() và Nz() để gán màu sắc và văn bản tương ứng cho từng trạng thái.

Mã AFL cho Exploration Nhận Diện Xu Hướng

Dưới đây là đoạn code AFL để bạn xây dựng Exploration này:

Code snippet

// Bước 1: Định nghĩa điều kiện cho Xu hướng Bullish
// Sử dụng hàm ROC(Close, 1) để kiểm tra % thay đổi giá so với hôm trước
// Sử dụng hàm RSI() để kiểm tra động lượng (mặc định 14 kỳ)
ConditionBullish = ROC(Close, 1) > 1 AND RSI() > 60;

// Bước 2: Tạo biến màu sắc và văn bản dựa trên điều kiện
// Sử dụng hàm IIf() để gán màu sắc cho từng trạng thái
TrendColor = IIf(ConditionBullish, colorGreen, colorRed); // Xanh nếu Bullish, Đỏ nếu Bearish

// Sử dụng hàm IIf() để gán văn bản cho từng trạng thái
TrendText = WriteIf(ConditionBullish, "Xu huong Bullish", "Xu huong Bearish");

// Bước 3: Định nghĩa bộ lọc cho Exploration (hiển thị tất cả các mã)
Filter = 1; // Filter = 1 nghĩa là chúng ta muốn kiểm tra tất cả các mã trong cơ sở dữ liệu.

// Bước 4: Thêm các cột dữ liệu vào kết quả Exploration
// AddColumn(Array, Caption, Format, ForeColor, BackColor)

// Cột Giá Đóng Cửa (Last Price)
AddColumn(Close, "Gia Dong Cua", 1.2);

// Cột % Thay Đổi (ROC)
AddColumn(ROC(Close, 1), "% Thay Doi (1 ngay)", 1.2);

// Cột RSI (Relative Strength Index)
AddColumn(RSI(), "RSI (14)", 1.2);

// Cột Xu hướng: Sử dụng TrendText làm nội dung và TrendColor làm màu nền
// AddTextColumn() tương tự AddColumn() nhưng chỉ chấp nhận chuỗi (string)
AddTextColumn(TrendText, "XU HUONG", 1.0, colorWhite, TrendColor);
Ví dụ

Ví dụ

Kết quả

Kết quả

Giải thích các hàm mới và kỹ thuật trong code:

  • ROC(Close, 1): Tính phần trăm thay đổi của giá đóng cửa hôm nay so với giá đóng cửa hôm qua.
  • RSI(): Gọi hàm RSI với chu kỳ mặc định (thường là 14).
  • AddTextColumn(): Tương tự như AddColumn(), nhưng được thiết kế đặc biệt để hiển thị chuỗi văn bản. Nó cho phép bạn trực quan hóa kết quả theo trạng thái (“Bullish” / “Bearish”) với màu nền tương ứng (TrendColor), giúp dễ dàng nhận biết ngay từ cái nhìn đầu tiên.

Cách Chạy Exploration và Tối Ưu Hóa Phân Tích

  1. Mở Formula Editor: Trong Amibroker, mở một cửa sổ “Formula Editor” mới.
  2. Dán Code: Dán đoạn mã AFL trên vào trình chỉnh sửa.
  3. Thiết lập Analysis:
    • Đi đến tab “Analysis”.
    • Chọn “Interval” (ví dụ: Daily).
    • Chọn “Range” (ví dụ: N last bars và nhập 1 để chỉ quét dữ liệu của ngày gần nhất, hoặc All quotes để quét toàn bộ lịch sử).
  4. Chạy Explore: Nhấn nút “Explore”.

Kết quả sẽ hiển thị một bảng với các cột bạn đã định nghĩa: Giá Đóng Cửa, % Thay Đổi, RSI và đặc biệt là cột “XU HUONG” với chữ “Xu huong Bullish” hoặc “Xu huong Bearish” cùng màu nền tương ứng.

Lợi ích của Exploration này:

  • Trực quan hóa nhanh: Ngay lập tức nhận biết trạng thái xu hướng của hàng trăm mã chứng khoán chỉ bằng cách nhìn vào màu sắc và văn bản.
  • Sàng lọc hiệu quả: Tập trung vào những mã đáp ứng tiêu chí xu hướng của bạn.
  • Nghiên cứu sau giờ thị trường: Dễ dàng chạy Exploration cho dữ liệu cuối ngày để chuẩn bị cho phiên giao dịch tiếp theo.
  • Tạo Watchlist: Thêm các mã kết quả vào Watchlist để theo dõi cụ thể hơn.

Việc thành thạo Exploration trong Amibroker và biết cách sử dụng các hàm AFL như ROC(), RSI(), IIf(), AddColumn() và AddTextColumn() sẽ giúp bạn khai thác tối đa sức mạnh của phần mềm này trong việc phân tích kỹ thuật và phát triển chiến lược giao dịch của riêng mình.

  • 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
Phân tích BFC
Phân Tích Doanh Nghiệp
Phân tích BFC
14 Tháng 7, 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 HAH
Phân Tích Doanh Nghiệp
Phân tích HAH
15 Tháng 7, 2025
Phân tích ANV
Phân Tích Doanh Nghiệp
Phân tích ANV
14 Tháng 7, 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ệ