• 24ºC, Clouds
  • Wednesday, 21st January, 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 1: Built In Functions – introduction about functions
Bài 1: Built In Functions – introduction about functions

Xem nhanh:

  • Chức năng (Functions) Trong Lập Trình và Ứng Dụng Thực Tế
  • Chức Năng Là Gì và Tại Sao Chúng Ta Cần Sử Dụng?
  • Cách Hoạt Động của Chức Năng: Ví Dụ Với EMA
  • Tìm Hiểu Thông Tin Về Chức Năng
  • Gán Biến Cho Giá Trị Trả Về của Chức Năng
  • Quy Tắc Đặt Tên Biến Quan Trọng

Chức năng (Functions) Trong Lập Trình và Ứng Dụng Thực Tế

Chào các bạn,

Hôm nay chúng ta sẽ cùng tìm hiểu về chức năng (functions) trong các ngôn ngữ lập trình AFL và tầm quan trọng của chúng. Dù bạn đang sử dụng Python, C++ hay bất kỳ ngôn ngữ nào khác, chức năng đều đóng một vai trò cực kỳ quan trọng.


Chức Năng Là Gì và Tại Sao Chúng Ta Cần Sử Dụng?

Về cơ bản, chức năng giúp đơn giản hóa và dễ dàng hóa công việc của các lập trình viên. Hầu hết các ngôn ngữ lập trình đều có sẵn nhiều chức năng tích hợp (built-in functions).

Trong lĩnh vực phân tích và giao dịch chứng khoán, các nền tảng môi giới cũng cung cấp nhiều chức năng có sẵn. Ví dụ như các hàm tính toán chỉ báo quen thuộc như Moving Average (MA), MACD, RSI. Ngoài ra còn có các chức năng nâng cao hơn như TimeFrame, GetPrice hay BarSince mà chúng ta sẽ tìm hiểu chi tiết hơn trong các video sau.

Đằng sau mỗi chức năng, dù đơn giản hay phức tạp, là một đoạn mã đã được lập trình sẵn. Điều này có nghĩa là thay vì phải viết lại đoạn mã phức tạp đó nhiều lần, chúng ta chỉ cần gọi tên chức năng và cung cấp các tham số cần thiết. Chức năng sẽ tự động thực hiện các thao tác đã được định nghĩa và trả về kết quả mong muốn. Điều này giúp tiết kiệm đáng kể thời gian và công sức cho lập trình viên.


Cách Hoạt Động của Chức Năng: Ví Dụ Với EMA

Mỗi chức năng đều chấp nhận một hoặc nhiều giá trị đầu vào (gọi là tham số) và trả về một giá trị đầu ra. Việc nắm rõ chức năng yêu cầu gì và sẽ trả về gì là cực kỳ quan trọng.

Hãy cùng xem xét ví dụ với hàm EMA (Exponential Moving Average) trong cửa sổ phân tích.

Khi chúng ta gõ EMA và mở dấu ngoặc đơn (, hệ thống sẽ hiển thị các tham số mà hàm này yêu cầu, đó là array (dữ liệu đầu vào) và periods (chu kỳ).

Ví dụ, nếu muốn tính đường trung bình động lũy thừa của giá đóng cửa trong 20 kỳ, chúng ta sẽ nhập:

EMA(Close, 20);
  • Close: Đây là array đầu vào, tức là dữ liệu giá đóng cửa. Hàm EMA cần dữ liệu này để tính toán giá trị trung bình.
  • 20: Đây là periods, tức là chu kỳ tính toán (20 kỳ).
  • Dấu chấm phẩy ; ở cuối mỗi dòng là bắt buộc đối với nhiều ngôn ngữ lập trình để kết thúc một câu lệnh.

Tìm Hiểu Thông Tin Về Chức Năng

Khi bạn mới làm quen với các chức năng, bạn có thể dễ dàng tìm hiểu thông tin chi tiết về chúng. Chỉ cần đặt con trỏ chuột lên tên chức năng và nhấn phím F1, bạn sẽ nhận được đầy đủ thông tin về cú pháp (syntax) của chức năng đó, bao gồm các tham số cần thiết và giá trị mà nó trả về. Cú pháp là cách mà chúng ta viết mã cho chức năng đó trong trình soạn thảo.

Ví dụ

Ví dụ

Ví dụ, hàm EMA yêu cầu array và periods, và nó sẽ trả về một array (một mảng các giá trị EMA) chứ không phải một số đơn lẻ, vì chúng ta đang cung cấp một mảng dữ liệu đầu vào.


Gán Biến Cho Giá Trị Trả Về của Chức Năng

Sau khi biết chức năng trả về gì, chúng ta cần gán giá trị đó cho một biến (variable). Một biến là một “hộp” dùng để lưu trữ dữ liệu.

Ví dụ:

MyEMA = EMA(Close, 20);
Ví dụ

Ví dụ

Trong ví dụ này, MyEMA là biến của chúng ta. Giá trị mảng mà hàm EMA(Close, 20) trả về sẽ được lưu trữ trong biến MyEMA.


Quy Tắc Đặt Tên Biến Quan Trọng

Khi đặt tên biến, có một số quy tắc quan trọng cần lưu ý:

  1. Không bắt đầu bằng số: Tên biến không được bắt đầu bằng số. Ví dụ: 1MyEMA là không hợp lệ, nhưng MyEMA1 hoặc My1EMA thì hợp lệ.
  2. Không trùng với tên chức năng hoặc định danh có sẵn: Tuyệt đối không đặt tên biến trùng với tên của các chức năng hoặc các từ khóa đã được nền tảng môi giới sử dụng. Ví dụ: không nên đặt EMA = EMA(Close, 20). Nếu bạn làm như vậy, hệ thống có thể thay đổi hoạt động của hàm EMA gốc, dẫn đến kết quả không mong muốn hoặc lỗi.

Các nền tảng môi giới thường có hàng trăm chức năng tích hợp sẵn, giúp đơn giản hóa rất nhiều công việc. Bằng cách nhấn F1 và tìm hiểu về từng chức năng, bạn có thể tận dụng tối đa sức mạnh của chúng.

Đây là những kiến thức cơ bản về chức năng, cách chúng hoạt động và tầm quan trọng của việc biết chúng chấp nhận gì và trả về gì. Hy vọng bài viết này hữu ích cho các bạn. Hẹn gặp lại trong các bài viết tiếp theo!

  • 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
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ệ