Ngôn ngữ MQL4 cơ bản

161

Ngôn ngữ MetaQuotes 4 (MQL4) là một ngôn ngữ lập trình cấp cao hướng đối tượng nhằm mục đích viết các chiến lược giao dịch tự động, các chỉ báo kỹ thuật tùy chỉnh để phân tích các thị trường tài chính khác nhau. Nó cho phép không chỉ để viết một loạt các hệ thống chuyên gia, được thiết kế để hoạt động trong thời gian thực, mà còn tạo ra các công cụ đồ họa riêng của họ để giúp bạn đưa ra quyết định thương mại.

MQL4 dựa trên khái niệm ngôn ngữ lập trình phổ biến là C ++. Ngôn ngữ có liệt kê, cấu trúc, các lớp và xử lý sự kiện. Bằng cách tăng số lượng các loại chính được nhúng, sự tương tác của các chương trình thực thi trong MQL4 với các ứng dụng khác thông qua dll giờ đây càng dễ dàng càng tốt. Cú pháp MQL4 tương tự như cú pháp của C ++ và điều này làm cho nó dễ dàng chuyển thành các chương trình từ các ngôn ngữ lập trình hiện đại.

Để giúp bạn học ngôn ngữ MQL4, tất cả các chủ đề được nhóm lại thành các phần sau:

  • Syntax – cú pháp
  • Data Types – loại dữ liệu
  • Operations and Expressions
  • Operators
  • Functions – hàm
  • Variables – biến
  • Preprocessor
  • Object-Oriented Programming – đối tượng

Ngay bây giờ chúng ta đi vào tìm hiểu ngôn ngữ MQL4

  1. Cú pháp
    Theo cú pháp, ngôn ngữ MQL4 cho các chiến lược giao dịch lập trình rất giống với ngôn ngữ lập trình C ++, ngoại trừ một số tính năng sau:

    • Không có địa chỉ số học
    • Không lệnh goto
    • Không được khai báo biến ẩn danh
    • Không có tính kế thừa

    Comments
    Comment nhiều dòng bắt đầu bằng cặp ký tự /* và kết thúc bằng dấu */ . Loại bình luận như vậy không thể lồng nhau. Các chú thích một dòng bắt đầu bằng // cặp biểu tượng và kết thúc bằng ký tự dòng mới, chúng có thể được lồng trong các bình luận nhiều dòng khác. Bình luận được cho phép ở khắp mọi nơi, nơi không gian được phép, họ có thể có bất kỳ số lượng không gian trong đó.
    Ví dụ:
    //--- Single-line comment
    /* Multi-
    line // Nested single-line comment
    comment
    */

    Identifiers
    Định danh được sử dụng như tên của các biến và hàm. Độ dài của số nhận dạng không được vượt quá 63 ký tự. Các ký tự được phép viết trong một mã định danh: các số 0-9, chữ hoa La tinh và chữ thường a-z và A-Z, được nhận dạng là các ký tự khác nhau, ký tự gạch dưới (_). Ký tự đầu tiên không thể là chữ số. Mã định danh không được trùng với từ dành riêng.
    Từ dành riêng
    Các số nhận dạng sau được ghi lại dưới dạng các từ dành riêng, mỗi từ tương ứng với một hành động nhất định và không được sử dụng theo nghĩa khác:

    bool  

    enum

    struct

    char

    float

    uchar

    class

    int

    uint

    color

    long

    ulong

    datetime

    short

    ushort

    double

    string

    void

    const

    private

    protected

    public

    virtual

     

    extern

    input

    static

    break

    dynamic_cast

    return

    case

    else

    sizeof

    continue

    for

    switch

    default

    if

    while

    delete

    new

     

    do

    operator

     

  2. Biến số
    Bất kỳ chương trình nào hoạt động với dữ liệu. Dữ liệu có thể thuộc nhiều loại khác nhau tùy theo mục đích của chúng. Ví dụ, dữ liệu số nguyên được sử dụng để truy cập vào các thành phần mảng. Dữ liệu giá thuộc về độ chính xác gấp đôi với dấu phẩy động. Điều này liên quan đến thực tế là không có loại dữ liệu đặc biệt nào cho dữ liệu giá được cung cấp trong MQL4.
    ữ liệu của các loại khác nhau được xử lý với các mức giá khác nhau. Dữ liệu số nguyên được xử lý nhanh nhất. Để xử lý dữ liệu chính xác kép, một bộ xử lý đặc biệt được sử dụng. Tuy nhiên, do sự phức tạp của biểu diễn nội bộ của dữ liệu với dấu chấm động, chúng được xử lý chậm hơn so với số nguyên. Dữ liệu chuỗi được xử lý lâu nhất vì nó sử dụng bộ nhớ máy tính động.
    Các loại kiểu dữ liệu bao gồm:

    • Số nguyên (char, short, int, long, uchar, ushort, uint, ulong);
    • Kiểu Logic (bool);
    • Ký tự (ushort);
    • Chuỗi ký tự (string);
    • Số thực (double, float);
    • Màu sắc (color);
    • Thời gian (datetime);
    • Biến liệt kê (enum).

    Các kiểu dữ liệu phức tạp bao gồm: cấu trúc và lớp
    Về các kiểu dữ liệu phức tạp OOP được gọi là kiểu dữ liệu trừu tượng. Các loại màu và datetime chỉ có ý nghĩa để tạo điều kiện trực quan hóa và nhập các thông số được xác định từ bên ngoài – từ bảng Expert Advisor hoặc các thuộc tính chỉ báo tùy chỉnh (tab Đầu vào). Dữ liệu của các loại màu và datetime được biểu diễn dưới dạng số nguyên. Các kiểu số nguyên và kiểu dấu phẩy động được gọi là kiểu số học (số).

  3. Biểu thức số học