Đi tới nội dung chính
Chuyển tới nội dung chính

Lập trình FireAnt Script

Chương này dạy bạn tự viết chỉ báo và chiến lược cho FireAnt Chart bằng FireAnt Script — kể cả khi bạn chưa từng lập trình. Bạn sẽ bắt đầu bằng một đường trung bình ba dòng, rồi đi dần tới chỉ báo có trạng thái, đối tượng vẽ, cảnh báo, chiến lược có dừng lỗ và cách kiểm thử sao cho kết quả đáng tin.

Mọi đoạn mã trong chương đều chạy được: bạn sao chép (nút ⧉ ở góc khối mã), dán vào trình soạn script rồi bấm Thêm vào biểu đồ. Các đoạn mã này được kiểm tự động trên chính bộ chạy script của FireAnt Terminal mỗi khi tài liệu thay đổi.

Giao diện khung script

Chương này nói về ngôn ngữ. Các nút, thẻ và bảng của khung script (thư viện, lưu, tham số, kiểm thử, nhật ký, cảnh báo, lọc mã) được tả ở trang FireAnt Script — nên đọc lướt trang đó trước.

Bạn làm được gì với FireAnt Script​

Bạn muốnVí dụHọc ở
Vẽ đường của riêng bạn lên giáEMA 20 tô xanh khi giá trên đường, đỏ khi dướiBài 1
Chỉ báo ở ngăn riêng có vùngRSI có vùng quá mua / quá bán tô màuBài 2
Đánh dấu tín hiệuMũi tên khi MACD cắt lên, tô nền phiên khối lượng đột biến, tô màu nếnBài 3
Cho người dùng chỉnh sốChu kỳ, ngưỡng, loại đường trung bình chọn trong danh sáchBài 4
Nhận thông báoBáo khi RSI cắt lên 30 — trên máy chủ FireAnt, cả khi bạn đóng biểu đồBài 5
Đếm, nhớ, tự tính từng nếnSố phiên tăng liên tiếp, Heikin Ashi, đỉnh / đáy gần nhấtBài 6
Vẽ nhãn, hộp, bảngNhãn Đỉnh / Đáy, hộp vùng tích luỹ, bảng tóm tắt ở gócBài 7
Dùng khung khác, mã khácXu hướng tuần lọc tín hiệu ngày, đỉnh / đáy phiên hôm qua trên biểu đồ phút, so với VNINDEX, dòng tiền chủ độngBài 8
Viết chiến lượcMua khi EMA cắt lên, bán khi cắt xuống, dừng lỗ 7 %Bài 9
Kiểm thửLợi nhuận, sụt giảm, tỷ lệ thắng theo luật T+2, lô 100, biên độ; Monte CarloBài 10
Chọn tham số mà không tự lừa mìnhTối ưu, walk-forward, ngoài mẫuBài 11
Chạy điều kiện trên cả thị trườngLọc VN30 bằng script, mở sang Quant AI StudioBài 12

Lộ trình đọc​

  • 1. Bắt đầu — Script đầu tiên trong 5 phút, rồi Khái niệm nền: nến, chuỗi, ngăn vẽ, tham số, và đủ JavaScript để đọc hiểu mọi ví dụ.
  • 2. Học từng bước — 12 bài học, mỗi bài một kỹ năng, bài sau dùng lại bài trước. Mỗi bài có mã hoàn chỉnh, giải thích từng dòng và bài tập nhỏ kèm lời giải.
  • 3. Tra cứu — Tham chiếu đầy đủ mọi hàm, thuộc tính, tuỳ chọn: chữ ký, tham số, giá trị trả về, ví dụ, lưu ý. Tra nhanh gom tất cả vào một trang.
  • 4. Dùng ngay — Thư viện mẫu: hơn 40 chỉ báo và chiến lược hoàn chỉnh có chú thích, chép về chỉnh tiếp.
  • 5. Gỡ rối — Lỗi thường gặp theo đúng chữ trình soạn báo, Hỏi đáp và mẹo, Chuyển từ Pine Script nếu bạn đến từ TradingView.
  • 6. Nhờ trợ lý — Nhờ Copilot viết script: mô tả bằng lời, Copilot viết, chạy thử, tự sửa lỗi.

Ba điều nên nhớ ngay từ đầu​

  1. Script tính trên cả chuỗi nến một lúc. ta.ema(d.close, 20) là cả đường EMA của mọi nến, không phải một con số. Vì vậy phép so sánh viết bằng hàm: a.gt(b) (lớn hơn), a.and(b) (và) — không viết a > b, a && b. Vì sao.
  2. Không nhìn trước tương lai. Mọi giá trị ở một nến chỉ được dùng thông tin của nến đó và các nến trước. Ngôn ngữ chặn sẵn các cách đọc nến sau (shift(-1) báo lỗi) để tín hiệu bạn thấy trên lịch sử giống hệt tín hiệu sẽ hiện khi giao dịch thật.
  3. Kết quả quá khứ không bảo đảm tương lai. Chiến lược mẫu trong chương chỉ để học cách viết; không phải khuyến nghị mua bán. Bài 11 chỉ cách kiểm một chiến lược có thật sự vững hay chỉ may mắn.

Cùng ngôn ngữ với Quant AI Studio​

FireAnt Script dùng chung bộ hàm với Quant AI Studio (ta.*, param.*, phép của chuỗi). Khác nhau ở chỗ tính:

Trên biểu đồ (chương này)Trong Quant AI Studio
Dữ liệuMột mã, khung của biểu đồ (phút, giờ, ngày, tuần…)Cả rổ nhiều mã, nến ngày
Khai báoindicator(...), strategy(...), library(...)strategy(...), screen(...), research(...)
Tính theo từng nến (onBar), đối tượng vẽ, bảngCóKhông
VNINDEX (d.bench)CóCó
Mã khác (d.symbol), nến nhỏ bên trong mỗi nến (d.ltf), dòng tiền chủ động (d.flow)CóKhông
Phép giữa các mã (rank, topN…), BCTC, khối ngoại, vĩ môKhôngCó

Một chiến lược viết bằng signals chạy được ở cả hai nơi: ⋯ › Mở trong Quant AI Studio đưa nó sang Studio để chạy trên cả rổ (Bài 12).