Danh sách Chi Tiết Các Mã Lỗi Từ 26 đến 50 Trong AFL

ha.anh
7 Min Read

❗ Lỗi 26: File handle không hợp lệ (null)

Nguyên nhân:
File handle truyền vào hàm là 0 (null), thường do mở file thất bại.

Contents
❗ Lỗi 26: File handle không hợp lệ (null)❗ Lỗi 27: Số lượng đối số không hợp lệ trong lệnh gọi DLL❗ Lỗi 28: Hết bộ nhớ (Out of memory)❗ Lỗi 29: Biến sử dụng trước khi khởi tạo❗ Lỗi 30: Lỗi cú pháp tổng quát❗ Lỗi 31: Syntax Error, Expecting❗ Lỗi 32: Có thể thiếu dấu chấm phẩy dòng trước❗ Lỗi 33: Trình nhận dạng đã bị dùng cho hàm❗ Lỗi 34: Định danh đã được dùng cho biến❗ Lỗi 35: Nhấn Shift + BREAK dừng vòng lặp❗ Lỗi 36: Đối số N chưa được gán giá trị❗ Lỗi 37: Trường không được hỗ trợ trong SetOption()❗ Lỗi 38: Trường không được hỗ trợ trong GetOption()❗ Lỗi 39: CategoryAddSymbol – thiết lập ngành không hỗ trợ❗ Lỗi 40: CategoryRemoveSymbol – không thể xóa khỏi ngành❗ Lỗi 41: Trường không được hỗ trợ trong GetRTData()❗ Lỗi 42: #include thất bại do không tìm thấy tệp❗ Lỗi 43: Biến dừng động không hỗ trợ cho chế độ giao dịch xoay vòng❗ Lỗi 44: SectorID ngoài phạm vi 0..63❗ Lỗi 45: Không thể khởi động giao diện giao dịch❗ Lỗi 46: Thiếu dấu phẩy trong định nghĩa hàm❗ Lỗi 47: Ngoại lệ hệ thống trong công thức AFL❗ Lỗi 48: Dữ liệu N-khối lượng lớn hơn khung thời gian gốc❗ Lỗi 49: Tên tham số tối ưu hóa bị để trống❗ Lỗi 50: Tham số tối ưu hóa sai quy tắc

Ví dụ sai:

afl

Copy code

fh = fopen(“nonexistingfile.txt”, “r”); // file không tồn tại

fputs(“Test”, fh); // lỗi do fh là null

fclose(fh); // lỗi tiếp theo

 

Ví dụ đúng:

afl

Copy code

fh = fopen(“nonexistingfile.txt”, “r”);

if (fh)

{

    fputs(“Test”, fh);

    fclose(fh);

}

 

❗ Lỗi 27: Số lượng đối số không hợp lệ trong lệnh gọi DLL

Nguyên nhân:
Plugin gọi hàm nội bộ của AmiBroker với số lượng đối số sai.

❗ Lỗi 28: Hết bộ nhớ (Out of memory)

Nguyên nhân:
Bộ nhớ bị tràn khi phân tích công thức. Hiếm gặp.

❗ Lỗi 29: Biến sử dụng trước khi khởi tạo

Nguyên nhân:
Biến được đọc mà không gán giá trị trước đó.

Ví dụ sai:

afl

Copy code

x = 1;

z = x + y; // y chưa khởi tạo

 

Ví dụ đúng:

afl

Copy code

x = 1;

y = 2;

z = x + y;

 

❗ Lỗi 30: Lỗi cú pháp tổng quát

Nguyên nhân:
Sai cú pháp như thiếu dấu ngoặc, dấu chấm phẩy.

Ví dụ:

afl

Copy code

z = x * (7 + y ; // thiếu dấu ngoặc đóng

 

❗ Lỗi 31: Syntax Error, Expecting

Nguyên nhân:
Parser mong đợi token hợp lệ nhưng không nhận được.

Ví dụ:

afl

Copy code

while i < 5 // sai, thiếu dấu ngoặc

 

❗ Lỗi 32: Có thể thiếu dấu chấm phẩy dòng trước

Nguyên nhân:
Thiếu dấu ; ở cuối dòng hoặc ký tự không hợp lệ đầu dòng mới.

Ví dụ:

afl

Copy code

a = 5

b = 4; // lỗi ở đây

 

❗ Lỗi 33: Trình nhận dạng đã bị dùng cho hàm

Nguyên nhân:
Cố gán giá trị cho định danh đã dùng làm hàm.

Ví dụ sai:

afl

Copy code

function Test(x)

{

    Test = 2 * x; // sai

}

 

Ví dụ đúng:

afl

Copy code

function Test(x)

{

    return 2 * x;

}

 

❗ Lỗi 34: Định danh đã được dùng cho biến

Nguyên nhân:
Dùng tên hàm trùng với biến toàn cục.

Ví dụ:

afl

Copy code

Test = 5; // biến toàn cục

function Test(x) // sai

{

    return 2 * x;

}

 

❗ Lỗi 35: Nhấn Shift + BREAK dừng vòng lặp

Nguyên nhân:
Người dùng thủ công dừng thực thi bằng tổ hợp phím.

❗ Lỗi 36: Đối số N chưa được gán giá trị

Nguyên nhân:
Gọi hàm từ plugin với đối số rỗng hoặc chưa khởi tạo.

❗ Lỗi 37: Trường không được hỗ trợ trong SetOption()

Ví dụ:

afl

Copy code

SetOption(“NoSuchOption”, 1); // sai

 

❗ Lỗi 38: Trường không được hỗ trợ trong GetOption()

Ví dụ:

afl

Copy code

x = GetOption(“NoSuchOption”); // sai

 

❗ Lỗi 39: CategoryAddSymbol – thiết lập ngành không hỗ trợ

Nguyên nhân:
Chỉ được gán biểu tượng vào nhóm ngành, không phải ngành.

Ví dụ sai:

afl

Copy code

CategoryAddSymbol(“”, categorySector, 2);

 

Ví dụ đúng:

afl

Copy code

CategoryAddSymbol(“”, categoryIndustry, 2);

 

❗ Lỗi 40: CategoryRemoveSymbol – không thể xóa khỏi ngành

Ví dụ sai:

afl

Copy code

CategoryRemoveSymbol(“”, categorySector, 2);

 

Ví dụ đúng:

afl

Copy code

CategoryRemoveSymbol(“”, categoryIndustry, 2);

 

❗ Lỗi 41: Trường không được hỗ trợ trong GetRTData()

Ví dụ sai:

afl

Copy code

GetRTData(“EPSRank”); // EPSRank không hợp lệ

 

❗ Lỗi 42: #include thất bại do không tìm thấy tệp

Nguyên nhân:
Đường dẫn sai hoặc file không tồn tại.

Ví dụ:

afl

Copy code

#include “not\\existing\\file.afl”

 

❗ Lỗi 43: Biến dừng động không hỗ trợ cho chế độ giao dịch xoay vòng

Ví dụ sai:

afl

Copy code

EnableRotationalTrading();

ApplyStop(stopTypeLoss, stopModePoint, H – L);

 

❗ Lỗi 44: SectorID ngoài phạm vi 0..63

Nguyên nhân:
Plugin trả về ID sai.

❗ Lỗi 45: Không thể khởi động giao diện giao dịch

Nguyên nhân:
Giao diện chưa được cài đặt đúng hoặc không tồn tại.

Ví dụ:

afl

Copy code

ti = GetTradingInterface(“DUMMY”);

 

❗ Lỗi 46: Thiếu dấu phẩy trong định nghĩa hàm

Ví dụ sai:

afl

Copy code

function MyFun(x y)

{

    return x * y;

}

 

❗ Lỗi 47: Ngoại lệ hệ thống trong công thức AFL

Ví dụ:

afl

Copy code

fclose(123); // fh không hợp lệ

 

❗ Lỗi 48: Dữ liệu N-khối lượng lớn hơn khung thời gian gốc

Nguyên nhân:
Khối lượng thanh quá nhỏ gây tràn dữ liệu.

Ví dụ:

afl

Copy code

TimeFrameMode(2);

TimeFrameSet(20); // lỗi 48 có thể xảy ra

 

❗ Lỗi 49: Tên tham số tối ưu hóa bị để trống

Ví dụ sai:

afl

Copy code

period = Optimize(“”, 10, 10, 20, 1);

 

❗ Lỗi 50: Tham số tối ưu hóa sai quy tắc

Nguyên nhân:
Giá trị tối thiểu lớn hơn tối đa hoặc bước ≤ 0.

Ví dụ sai:

afl

Copy code

period = Optimize(“Period”, 20, 10, 10, 1); // min > max

period2 = Optimize(“Period2”, 1, 10, 20, 0); // bước = 0

 

TAGGED:
Share This Article
Leave a Comment