Những hàm thông dụng xây dựng lọc cổ phiếu

Đăng ngày:
KINH NGHIỆM XỬ LÝ ĐIỀU KIỆN LỌC CỔ PHIẾU

Hôm nay mình sẽ giới thiệu và giải thích một số hàm hay dùng để xử lý bộ lọc cổ phiếu trong Amibroker. Khi code trên Amibroker người lập trình nên có tư duy về xử lý với mảng, hạn chế dùng vòng lặp để xử lý vì sẽ làm chậm hệ thống và code cũng sẽ rất dài và khó hiểu hơn, chỉ sử dụng vòng lặp khi thật cần thiết. Trước khi tiến hành code điều kiện nào đó nên tìm trong phần help đã có hàm sẵn hay không.

IF-ELSE: PHÂN BIỆT VỚI IIF VÀ WRITEIF

Hàm điều kiện if else sẽ xử lý với từng phần tử trong mảng do đó kết quả trả về sẽ là một phần tử. Hàm if không xử lý trực tiếp cho mảng được.

 

Hàm IIF (ImmediateIf) làm hàm xử lý điều kiện tương tự như if nhưng nó xử lý so sánh điều kiện và trả về kết quả là một mảng số. Trong code xây dựng bộ lọc cổ phiếu hàm IIF sẽ được sử dụng khá nhiều.
Lưu ý hàm IIF sẽ bị lỗi nếu đưa vào mảng kiểu chuỗi.

Nếu muốn xử lý điều kiện để trả kết quả về kiểu chuỗi (string) thì ta dùng hàm WriteIf

 

REF: LẤY GIÁ TRỊ QUÁ KHỨ / TƯƠNG LAI CỦA 1 MẢNG

 

VALUEWHEN: LẤY GIÁ TRỊ MỘT MẢNG KHI THOẢ ĐIỀU KIỆN

 

 

BARINDEX: TRẢ VỀ VỊ TRÍ CỦA PHIÊN GIAO DỊCH

Ví dụ tính số phiên (bar) giao dịch từ nến có Điểm Nổ đến bar đang xử lý

 

BARSSINCE: TÍNH SỐ PHIÊN GIAO DỊCH TỪ ĐIỂM THOẢ ĐIỀU KIỆN

 

SETFOREIGN: XỬ LÝ VỚI DỮ LIỆU GIAO DỊCH CỦA MÃ CHỨNG KHOÁN KHÁC

 

LẤY GIÁ TRỊ LỚN NHẤT / BÉ NHẤT TRONG MẢNG (HHV LLV)

 

 

SO SÁNH 2 MẢNG (MIN MAX)

 

CROSS: KIỂM TRA ĐIỂM CẮT NHAU GIỮA 2 ĐƯỜNG

 

 

Lưu ý: Cross(MA(C,20),MA(C,50)) sẽ khác với Cross(MA(C,50),MA(C,20))

Cross(MA(C,20),MA(C,50)): đường MA20 sẽ nằm trên MA50 và ngược lại

SUM: TÍNH TỔNG GIÁ TRỊ THOẢ ĐIỀU KIỆN TRONG 1 CHU KỲ

 

 

EXREM: LOẠI BỎ TÍN HIỆU TRÙNG LẮP

 

 

KIỂM TRA GIÁ GIAO DỊCH CÓ HỞ GAP KHÔNG

 

INSIDE: KIỂM TRA NẾN TRONG NẾN