Lập trình chiến lược của bạn trong 10 bước với Universal Expert Advisor và Mã nguồn mở

EA SUPER TESTER Chương trình kiểm tra đa luồng cho Expert Advisor
EA SUPER TESTER Chương trình kiểm tra đa luồng cho Expert Advisor

Table of Contents (click to show)

List

Mô tả

The X là một trình tạo chiến lược giao dịch.

Chúng tôi đã phát triển một Universal Expert Advisor (Chuyên gia Tư vấn Toàn diện) bao gồm tất cả các chức năng hấp dẫn và thiết yếu nhất.

Ngoài ra, một mô-đun tín hiệu sử dụng các chỉ báo tiêu chuẩn đã được tích hợp.

Đây là một trình tạo chiến lược, cho phép bạn lập trình chiến lược của riêng mình.

Nó bắt đầu như một dự án đã trở nên phổ biến đáng kể. Trong 15 năm, chúng tôi đã tinh chỉnh thuật toán, thêm các chức năng và chỉ báo mới, và sửa lỗi chức năng.

Bài viết này sẽ hướng dẫn bạn lập trình chiến lược của mình, tích hợp các chỉ báo vào expert advisor, và thêm các tín hiệu và bộ lọc mới.

Mã nguồn mở

Một câu hỏi thường gặp mà chúng tôi nhận được là:

  1. Tôi có thể tích hợp các chỉ báo của mình vào một expert advisor không?
  2. Chi phí cho mã nguồn mở của Expert Advisor là bao nhiêu?

Không có gì bí mật khi chúng tôi cung cấp mã nguồn mở của expert advisor để bán. Điều này dành cho các nhà giao dịch muốn phát triển expert advisor của riêng họ hoặc xây dựng tín hiệu của riêng họ.

Hơn nữa, các nhà giao dịch thường mua mã nguồn mở để triển khai các chiến lược độc quyền của họ và bán lại expert advisor.

  1. Mã nguồn mở của expert advisor The X có thể được mua tại Thị trường Chuyên gia Tư vấn Giao dịch của chúng tôi.
  2. Mã nguồn mở The X cho MetaTrader 5 (Không có sẵn)
  3. Mã nguồn mở The X cho MetaTrader 4 (Không có sẵn)
  4. Nhân tiện, chúng tôi có nhiều mã nguồn mở cho các expert advisor của mình. Phần: Chuyên gia Tư vấn Chiến lược (Mã nguồn mở)
  5. Hãy thử các Mẫu Mã nguồn mở của chúng tôi.
https://expforex.com/vi/templates/

Lập trình expert advisor với các chỉ báo là một quá trình phức tạp.

Chúng tôi cung cấp dịch vụ lập trình cho chuyên gia tư vấn giao dịch. Tuy nhiên, quá trình phát triển thường gặp phải sự chậm trễ vì khách hàng không chắc chắn về các chức năng họ yêu cầu.

The X là một tập hợp các khối và chức năng để giao dịch trên thị trường FOREX, được sử dụng trên toàn cầu. Chúng tôi đã phát triển các chức năng thường được sử dụng, cho phép expert advisor đáp ứng 90% nhu cầu của mỗi nhà giao dịch.

Tất nhiên, có những chiến lược độc đáo mà các lập trình viên giàu kinh nghiệm cần phát triển.

Những chiến lược như vậy rất hiếm và đòi hỏi sự chuẩn bị kỹ lưỡng. Chi phí của công việc này phụ thuộc vào độ phức tạp của nó.

Giá trị thực của Expert Advisor của chúng tôi

Bắt đầu với bài viết của chúng tôi về chi phí công việc của một lập trình viên, chúng ta có thể ước tính chi phí gần đúng của rô-bốt giao dịch của chúng tôi, The X:

EA của chúng tôi chứa hơn 10.000 dòng mã. Mặc dù điều này có vẻ nhiều, nhưng nó có thể quản lý được vì chúng tôi không viết expert advisor bằng PL/SQL (Ngôn ngữ lập trình/Ngôn ngữ truy vấn có cấu trúc). Tại sao? Bởi vì OOP (Lập trình hướng đối tượng) không quen thuộc với nhiều người, và việc xử lý OOP có thể khá thách thức!

Vì vậy, hãy tính toán:

  1. Chi phí 1 giờ làm việc của lập trình viên = $20 khi lập trình các chức năng và thuật toán.
  2. Chi phí 1 giờ sửa lỗi = $5.
  3. Chi phí viết văn bản và quay video = $10 (Giá này dựa trên mức giá trên internet; tôi tự tạo tất cả các hướng dẫn và video).
  4. Giả sử rằng việc viết các chức năng và khối cho The X mất hơn 1.000 giờ!
  5. Lập trình tín hiệu bằng các chỉ báo rất đơn giản. Do đó, chúng tôi giả sử nó mất 10 giờ!

Tuy nhiên, một số khía cạnh không thể hoàn thành ngay lập tức:

  1. Việc gỡ lỗi các chức năng có thể mất thêm 1.000 giờ!
  2. Việc phát triển hướng dẫn, video và quảng cáo cũng đòi hỏi 1.000 giờ!

Tổng cộng, chúng tôi đã đầu tư hơn 3.000 giờ!

Nếu chúng tôi được yêu cầu thực hiện một thuật toán như vậy, chúng tôi sẽ từ chối. Điều đó không hợp lý và cũng không có lãi.

Tổng chi phí của một expert advisor tùy chỉnh như vậy là hơn $35.000! Tuy nhiên, expert advisor của chúng tôi được bán với giá thấp hơn mười lần!!!!

Chi phí mã nguồn mở của chúng tôi thấp hơn MƯỜI lần!

Những đơn đặt hàng tùy chỉnh như vậy không bao giờ được thực hiện:

  1. Thứ nhất, vì khách hàng không sẵn lòng đầu tư một số tiền lớn như vậy.
  2. Thứ hai, các lập trình viên không muốn dành quá nhiều thời gian cho việc phát triển.

Tôi đảm bảo với bạn rằng việc lập trình một rô-bốt giao dịch phức tạp như vậy đòi hỏi nhiều thời gian hơn là tạo ra một chiến lược giao dịch.

Việc gỡ lỗi tất cả các khối và chức năng đòi hỏi thời gian dài.

Chúng tôi vô cùng biết ơn những khách hàng đã phát hiện ra lỗi và cung cấp các bản sửa lỗi trong suốt năm năm qua, cũng như đóng góp các chức năng và chỉ báo của họ để nâng cao chức năng của expert advisor THE X.

Lập trình Chiến lược Giao dịch Forex của bạn

Đầu tiên, tôi muốn đề cập rằng chúng tôi đã cập nhật mã của expert advisor. Bây giờ nó rất dễ hiểu và được chú thích rõ ràng.

Bạn không cần phải đi sâu vào chi tiết của mọi chức năng. Bạn có thể lập trình chiến lược của mình chỉ trong 10 bước.

Chúng tôi đã chuẩn bị một phương pháp rất thân thiện với người dùng để làm việc với mã nguồn mở của chúng tôi.

Hãy nhớ: Chúng tôi không lập trình chiến lược cho expert advisor miễn phí. Nếu bạn muốn phát triển mã cho chiến lược của mình, vui lòng tham khảo phần Lập trình để đặt hàng!

Các bước đầu tiên:

  1. Mở mã nguồn mở của expert advisor mà bạn đã mua từ Thị trường Chuyên gia Tư vấn của chúng tôi;
  2. Nhấn Ctrl + F để kích hoạt thanh tìm kiếm;
  3. Nhập thuật ngữ Step – Từ khóa này sẽ giúp bạn điều hướng mã nguồn của chúng tôi và nhanh chóng viết chiến lược của mình.
  4. Chức năng Tìm kiếm trong Mã nguồn
  5. Mỗi bước đều được chú thích rõ ràng và cung cấp một ví dụ.
  6. Để tìm hiểu cách lập trình chiến lược của mình, bạn có thể dần dần bỏ ghi chú các dòng được đánh dấu bằng dấu hoa thị // *.

Tổng cộng, có 10 bước trong mã nguồn mở để expert advisor làm việc với các chỉ báo của bạn.

Giao diện Trình tạo Chiến lược

Chúng ta sẽ phân tích chi tiết từng bước!

Vì việc lập trình giữa các terminal MT4 và MT5 khác nhau, chúng tôi sẽ chia bài viết của mình thành hai phần:

Nếu bạn đang sử dụng expert advisor THE X cho terminal MT4, bạn có thể chuyển thẳng đến phần Lập trình cho The X trên terminal MetaTrader 4.

Lập trình THE X cho MetaTrader 5

Bạn cần hiểu các quy tắc lập trình cơ bản để phát triển chiến lược của mình hoặc thêm một chiến lược làm sẵn bằng cách sử dụng các chỉ báo từ các tệp hiện có (ví dụ: Expert Advisors từ Internet).

Lập trình expert advisor cho MetaTrader 5 phức tạp hơn so với MetaTrader 4. Tuy nhiên, terminal MT5 cho phép tạo ra các chiến lược mạnh mẽ hơn và có trình kiểm tra chiến lược tiên tiến hơn.

Trong mọi trường hợp, bạn nên mua mã nguồn mở mà terminal sẽ hoạt động trên đó.

MetaTrader 5 Bước 0: Tải Chỉ báo vào Tài nguyên!

// Bước 0 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Để nhúng chỉ báo vào Expert Advisor trong quá trình biên dịch, bạn cần tải nó vào tài nguyên của Expert Advisor
//
// Ví dụ:
// * #resource "\\Indicators\\Examples\\MACD.ex5"
// ################################################ ###########################

Ở đây, chúng ta phải thêm các chỉ báo mà chúng ta yêu cầu vào tài nguyên.

Điều này đảm bảo rằng expert advisor có thể được biên dịch cho thị trường và ngăn chặn các vấn đề không cần thiết khi expert advisor đã biên dịch không thể tìm thấy chỉ báo mong muốn trên một máy tính khác.

Quy tắc Đặt tên trên Thị trường: Sử dụng tên thư mục đầy đủ, bắt đầu bằng Indicators!

Thư mục được biểu thị bằng \\.

Ví dụ:

Nếu đường dẫn đến chỉ báo của bạn là:

C:\ROBO MT5\MQL5\Indicators\Examples\MACD.ex5

Thì, đường dẫn đến chỉ báo này trong ngôn ngữ lập trình được viết là:

“\\Indicators\\Examples\\MACD.ex5”

MetaTrader 5 Bước 1: Chỉ định Tên Tín hiệu!

// Bước 1 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Nhập tên tín hiệu của bạn sau //
// ################################################ ####################
// Ví dụ:
// * Custom = 77, // Tín hiệu Cho mã nguồn mở
// ################################################ ############################

Tại bước này, chúng ta phải thêm tín hiệu hoặc chiến lược của mình vào danh sách các tín hiệu có thể có trong Expert Advisor.

Điều này tạo điều kiện thuận lợi cho việc quản lý tín hiệu trong giai đoạn thiết lập expert.

Chỉ định Tên Tín hiệu trong Mã

Ví dụ:

  1. Bạn muốn đặt tên cho chiến lược của mình là MY STRATEGY (CHIẾN LƯỢC CỦA TÔI)
  2. Số chiến lược cũng phải là duy nhất. Các tín hiệu từ các chỉ báo tiêu chuẩn chiếm 22 số đầu tiên! Hãy nhớ số này vì chúng ta sẽ cần nó sau.
  3. Tên cũng phải là duy nhất. Ví dụ: MYSTRATEGY1

Cuối cùng, chúng ta nên viết trong mã như sau:

MYSTRATEGY1 = 77, // MY STRATEGY

Bạn cũng có thể thêm nhiều chiến lược hơn và viết, ví dụ:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 5 Bước 2: Chỉ định Tên Hiển thị Tín hiệu!

// Bước 2 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Nhập tên tín hiệu của bạn, sẽ được hiển thị trên màn hình sau //
// ################################################ ####################
// Ví dụ:
// * if (i == 77) s1 = "Custom";
// ################################################ ###########################

Bước này là để hiển thị tên chiến lược của bạn trong bảng điều khiển EAPADpro EA của chúng tôi.

Rất đơn giản! Tuy nhiên, bạn phải sử dụng các số từ bước trước.

Hiển thị Tên Tín hiệu

Ví dụ:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 5 Bước 3: Chỉ định Tên Bộ lọc!

// Bước 3 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Nhập tên bộ lọc của bạn sau //
// ################################################ ####################
// Ví dụ:
// * FILTERCustom = 77, // Bộ lọc Cho mã nguồn mở
// ################################################ ###########################

Tại bước này, chúng ta cần thêm bộ lọc của mình vào danh sách các bộ lọc có thể có trong Expert Advisor.

Điều này đảm bảo việc quản lý bộ lọc thuận tiện trong giai đoạn thiết lập expert.

Thông thường, **Bộ lọc** sử dụng cùng một chỉ báo với **Tín hiệu**, nhưng với điều kiện là **Bộ lọc** xác định vị trí hiện tại của **Tín hiệu**, và **Tín hiệu** phản ánh tín hiệu thực tế.

Ví dụ:

  1. Bạn có muốn đặt tên cho **Bộ lọc** của mình là **MY FILTER** (BỘ LỌC CỦA TÔI) không?
  2. Số bộ lọc cũng phải khớp với số chiến lược (Điều này ngăn ngừa sự nhầm lẫn với các số liệu khác trong tương lai). Các bộ lọc chiếm 22 số đầu tiên từ các chỉ báo tiêu chuẩn! Hãy nhớ số này vì chúng ta sẽ cần nó sau.
  3. Tên cũng phải là duy nhất. Ví dụ: MYFILTER1

Cuối cùng, chúng ta nên viết trong mã như sau:

MYFILTER1 = 77, // MY FILTER

Bạn cũng có thể thêm nhiều bộ lọc hơn và viết, ví dụ:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 5 Bước 4: Chỉ định các Tham số của Chỉ báo hoặc Chiến lược trong các Biến bên ngoài!

// Bước 4 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Chỉ định tất cả các biến bên ngoài của chỉ báo hoặc các chỉ báo sẽ được sử dụng trong chiến lược của bạn
//
// Ví dụ:
// * input string IndicatorName = "-------- Custom Indicator ----------------";
// * input int CUSTOMMAFastPeriod = 1;
// * input int CUSTOMMASlowPeriod = 100;
// * input ENUM_APPLIED_PRICE CUSTOMMAprice = PRICE_CLOSE;
// ################################################ ###########################

Tại bước này, bạn phải nhập tất cả các cài đặt bên ngoài của các chỉ báo trong chiến lược của mình, có thể được sửa đổi từ Expert Advisor. Điều này hữu ích cho mục đích tối ưu hóa.

Ngoài ra, bạn có thể trích xuất các tham số chiến lược cụ thể ở đây. Ví dụ, các mức mà các đường cắt nhau, giới hạn hoạt động của chỉ báo ở mức giá MAX và MIN trên biểu đồ, v.v.

Bạn không cần phải nhập tất cả các tham số cho các chỉ báo. Chỉ cần tạo những tham số mà bạn có thể muốn thay đổi trong tương lai từ cài đặt Expert Advisor là đủ. Tất cả các tham số khác có thể được đặt về giá trị mặc định của chúng.

Chỉ định Tham số Chỉ báo

MetaTrader 5 Bước 5: Tạo Handle Chỉ báo để tải vào Expert Advisor!

// Bước 5 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Tạo một mục trong mảng để Expert Advisor có thể gán handle chỉ báo trong quá trình khởi tạo
//
// Ví dụ:
// * case 77:
// * h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
// * if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
// * {
// *     PrintToLogs("Could not get MACD indicator handle");
// *     return(INIT_FAILED);
// * }
// ################################################ ###########################

Bước này đảm bảo rằng các chỉ báo của chúng ta được tải một lần trong quá trình khởi tạo Expert Advisor. Trong MetaTrader 5, không cần phải tải liên tục chỉ báo trên biểu đồ.

Khi tạo handle, chúng ta lưu trữ handle của một chỉ báo đã mở để sử dụng trong tương lai.

Hãy rất cẩn thận ở đây. Khi tạo handle, bạn phải chỉ định tất cả các biến bên ngoài của chỉ báo và sử dụng tên chính xác. Nếu không, Expert Advisor sẽ không thể tải chỉ báo.

Hãy nhớ rằng chúng ta đã tải chỉ báo vào tài nguyên của Expert Advisor. Do đó, chúng ta sẽ gọi chỉ báo từ tài nguyên!

Bạn có thể tham khảo tài liệu MQL5 về việc gọi chỉ báo bằng iCustom.

Một số chiến lược cũng là bắt buộc để viết mã này. Nếu chiến lược của bạn sử dụng nhiều chỉ báo, bạn cần chỉ định mỗi chỉ báo với cùng một số. Điều này đảm bảo rằng expert advisor tải chiến lược của bạn một cách chính xác.

Theo các ví dụ của chúng ta ở trên, chúng ta cần làm như sau:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

Ở đây, tôi chỉ định rõ ràng chỉ hai tham số bên ngoài. Tôi đã thay thế tham số của Chỉ báo này, InpSignalSMA, bằng một số mặc định để minh họa bản chất của lập trình!

Tương tự, bạn có thể thêm nhiều chỉ báo và handle.

Nếu chiến lược sử dụng nhiều chỉ báo, bạn cần khai báo từng chỉ báo.

Ví dụ:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
h_custom2[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 15, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE || h_custom2[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

Ngoài ra, đối với các chiến lược khác bạn muốn tích hợp vào Expert Advisor!

MetaTrader 5 Bước 6: Khai báo Biến để tải (các) Chỉ báo của Chiến lược!

// Bước 6 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Khai báo các biến mảng handle
//
// Ví dụ:
// * int h_custom[6][12];
// * int h_custom2[6][12];
// ################################################ ###########################

Ở đây, chúng ta chỉ định tên của các handle đã được tạo ở trên!

Rất đơn giản.

Các handle được tạo dưới dạng mảng để hỗ trợ đa tiền tệ trong EA và cho phép chỉ định tối đa sáu tín hiệu hoặc bộ lọc cùng một lúc!

MetaTrader 5 Bước 7: Khai báo Biến để lưu trữ Dữ liệu Chỉ báo!

// Bước 7 ##############################################
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
//
// Khai báo các biến mảng cho các giá trị chỉ báo
//
// Ví dụ:
// * double custom1_buffer[];
// * double custom2_buffer[];
// ################################################ ###########################

Ở đây, chúng ta chỉ định tên của các bộ đệm dữ liệu của mình!

Rất đơn giản.

Các mảng này sẽ lưu trữ dữ liệu về các giá trị chỉ báo cho mỗi thanh nến. Nếu bạn cần sử dụng nhiều bộ đệm, bạn có thể khai báo nhiều biến.

Trong trường hợp của chúng ta, ví dụ, chúng ta cần hai bộ đệm cho đường tín hiệu và đường chính của chỉ báo MACD.

Khai báo Biến Dữ liệu Chỉ báo

MetaTrader 5 Bước 8: Tạo Chiến lược và Tín hiệu để Mở Vị thế!

Bước này rất quan trọng đối với Expert Advisor. Mặc dù tất cả các bước khác là bắt buộc, nhưng nếu không có bước này, expert advisor sẽ không hoạt động.

Tôi đã bao gồm các nhận xét trong mã để giải thích từng phần!

Số chiến lược phải khớp với số được sử dụng trong các bước trước!

  1. Lập trình mã cho từng chiến lược và tín hiệu một cách riêng biệt. Nó phụ thuộc vào chiến lược và chỉ báo đã chọn. Xử lý bộ đệm cho các chiến lược liên quan đến…
  2. Lưu ý rằng trong khối này, bạn có thể chỉ định bất kỳ chiến lược nào.
  3. Tất cả các chỉ báo được khai báo trong các handle sẽ được tải vào bộ nhớ và được sử dụng để xây dựng chiến lược.
Tạo Chiến lược và Tín hiệu

Bước này có thể được chia thành ba bước nhỏ:

  1. 1. Chúng ta cần sao chép bộ đệm dữ liệu vào tập dữ liệu của mình. Trong các tham số sao chép, chúng ta phải chỉ định số dòng (Trong trường hợp của chúng ta, đây là các dòng chỉ báo MACD).
  2. Chúng ta sử dụng hai dòng: MAIN (CHÍNH) và SIGNAL (TÍN HIỆU).
  3. Bạn có thể đọc tài liệu về hàm CopyBuffer.
  4. 2. Lập trình chiến lược. Trong trường hợp này, đó là sự giao nhau của hai đường.
  5. Quan trọng: Tín hiệu MUA (BUY) là 1, và tín hiệu BÁN (SELL) là -1.
  6. 3. Ở đây, chúng ta ghi lại thông tin sẽ được hiển thị trong nhật ký khi một vị thế được mở dựa trên tín hiệu. Thông tin Chiến lược.

Nếu bạn đã điền chính xác tất cả các handle và bộ đệm, thông báo sau sẽ xuất hiện trên màn hình:

Alert(“Chúc mừng, bạn đã hoàn thành một bài học minh họa việc lập trình chiến lược của mình!”);
Alert(“Chúc mừng! Bạn đã hoàn thành một bài học minh họa việc lập trình chiến lược của mình!”);
Nếu bạn nhận được thông báo lỗi, bạn cần xác định và giải quyết nguyên nhân của lỗi này.

Mã lỗi

Các lỗi phổ biến nhất:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Biểu tượng không xác định
ERR_INDICATOR_CANNOT_CREATE 4802 Không thể tạo chỉ báo
ERR_INDICATOR_NO_MEMORY 4803 Không đủ bộ nhớ để thêm chỉ báo
ERR_INDICATOR_CANNOT_APPLY 4804 Không thể áp dụng chỉ báo cho chỉ báo khác
ERR_INDICATOR_CANNOT_ADD 4805 Lỗi khi thêm chỉ báo
ERR_INDICATOR_DATA_NOT_FOUND 4806 Không tìm thấy dữ liệu yêu cầu
ERR_INDICATOR_WRONG_HANDLE 4807 Handle chỉ báo không chính xác
ERR_INDICATOR_WRONG_PARAMETERS 4808 Số lượng tham số không chính xác khi tạo chỉ báo
ERR_INDICATOR_PARAMETERS_MISSING 4809 Thiếu tham số khi tạo chỉ báo
ERR_INDICATOR_CUSTOM_NAME 4810 Tham số đầu tiên trong mảng phải là tên của chỉ báo tùy chỉnh
ERR_INDICATOR_PARAMETER_TYPE 4811 Loại tham số không chính xác trong mảng khi tạo chỉ báo
ERR_INDICATOR_WRONG_INDEX 4812 Chỉ mục không hợp lệ của bộ đệm chỉ báo được yêu cầu

MetaTrader 5 Bước 9: Chỉ định Bộ lọc từ Chỉ báo của bạn hoặc Sử dụng Chỉ báo của bạn làm Bộ lọc cho Chiến lược!

Mã lập trình trong bước này rất đơn giản và tương tự như bước trước.

Điểm khác biệt duy nhất là ở giai đoạn này, bạn lập trình **các chỉ báo** của mình như một **Bộ lọc**.

Bạn không thể chỉ định tín hiệu bằng cách sử dụng chỉ báo, mà chỉ có thể chỉ định bộ lọc, hoặc ngược lại! Tất cả phụ thuộc vào chiến lược.

 

MetaTrader 5 Bước 10: Đây là bước cuối cùng!

// Bước 10 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Đây là phần cuối của mã của chúng ta. Nếu bạn đã đến bước này, thì bạn đã tạo ra chiến lược của mình. 
// Ví dụ, tôi đã nhập một chiến lược bí mật. Nếu bạn đã làm mọi thứ chính xác, bạn sẽ nhận được kết quả dưới dạng một cảnh báo trên màn hình! 
// Cảm ơn bạn đã chọn sản phẩm của chúng tôi. Chúng tôi đang làm việc vì bạn! 
// 
// Trang web của chúng tôi: 
// Cửa hàng của chúng tôi: /shop 
// Cửa hàng MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Đây là phần cuối của mã của chúng ta. Nếu bạn đã đến bước này, thì bạn đã tạo ra chiến lược của mình. 
// Ví dụ, tôi đã nhập một chiến lược bí mật. Nếu bạn đã làm mọi thứ chính xác, bạn sẽ nhận được kết quả dưới dạng một cảnh báo trên màn hình! 
// Cảm ơn bạn đã chọn sản phẩm của chúng tôi. Chúng tôi đang làm việc vì bạn! 
// 
// Trang web của chúng tôi: 
// Cửa hàng của chúng tôi: /shop 
// Cửa hàng MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Điều này cho thấy việc lập trình chiến lược của bạn đã hoàn tất.

Chúc bạn may mắn và thu được nhiều lợi nhuận!

MetaTrader 5 Kết luận và Xác minh Chiến lược

Nếu bạn làm mọi thứ chính xác, chiến lược của bạn sẽ được tích hợp vào Expert Advisor, và bạn sẽ có thể giao dịch bằng cách sử dụng expert advisor của tôi.

Bây giờ, chúng ta cần kiểm tra expert advisor và chiến lược của mình.

  1. Tải terminal;
  2. Mở một tài khoản demo;
  3. Gắn **Expert Advisor** vào biểu đồ;
  4. Nếu mọi thứ đều ổn, bạn sẽ nhận được thông báo về việc thêm chiến lược thành công:
    • Thông báo thêm chiến lược thành công
  5. Hoặc bạn sẽ nhận được một lỗi. Trong trường hợp đó, bạn cần xem xét cẩn thận mã của mình và lặp lại tất cả các bước!

Kiểm tra Expert Advisor trong Trình kiểm tra Chiến lược:

  1. Mở terminal;
  2. Mở Trình kiểm tra Chiến lược (Strategy Tester);
  3. Chọn Expert Advisor, cặp tiền tệ, khung thời gian, và khoảng ngày của bạn. Kích hoạt kiểm tra Mỗi tick dựa trên tick thực;
    • Ảnh chụp màn hình cài đặt Trình kiểm tra Chiến lược
  4. Mở tab Cài đặt;
    • Ảnh chụp màn hình tab Cài đặt
  5. Chọn chiến lược của bạn;
  6. Kích hoạt Trực quan hóa (Visualization);
  7. Nhấn BẮT ĐẦU;
  8. Một biểu đồ sẽ mở ra;
  9. Nếu **Expert Advisor** mở các vị thế, bạn đã làm mọi thứ chính xác!
    • Expert Advisor đang mở các vị thế

Lập trình THE X cho MetaTrader 4

Bạn phải hiểu các quy tắc lập trình cơ bản để viết chiến lược của mình hoặc thêm một chiến lược làm sẵn cho các chỉ báo từ một tệp hiện có (ví dụ: Expert Advisors từ Internet).

Lập trình **Expert Advisors** cho **MetaTrader 5** phức tạp hơn so với **MetaTrader 4**. Tuy nhiên, terminal MT5 cho phép bạn tạo ra các chiến lược mạnh mẽ hơn và có **Trình kiểm tra Chiến lược** tiên tiến hơn.

Mặt khác, có rất nhiều chiến lược và chỉ báo có sẵn cho terminal **MetaTrader 4** trực tuyến. Do đó, bạn có thể sử dụng mã cho MT4!

Một lời nhắc quan trọng khác: Việc mã hóa một chiến lược trong MT4 dễ dàng hơn nhiều so với việc mã hóa trong MT5!

Trong mọi trường hợp, bạn nên mua mã nguồn mở dựa trên terminal mà bạn sẽ làm việc.

MetaTrader 4 Bước 0: Tải Chỉ báo vào Tài nguyên

// Bước 0 ############################################## ######################
    // Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
    // Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở
    //
    // Để nhúng chỉ báo vào **Expert Advisor** trong quá trình biên dịch, bạn cần tải nó vào tài nguyên của Expert Advisor
    // Để nhúng chỉ báo vào Expert Advisor trong quá trình biên dịch, bạn cần tải nó vào tài nguyên của Expert Advisor
    // ################################################ ####################
    // ví dụ:
    // * #resource "\\ Indicators \\ MACD.ex4"
    // ################################################ ###########################
    

Ở đây, chúng ta phải thêm các chỉ báo mà chúng ta yêu cầu vào tài nguyên.

Điều này sẽ cho phép chúng ta biên dịch một expert advisor cho thị trường và ngăn chặn các vấn đề không cần thiết khi **Expert Advisor** đã biên dịch không thể tìm thấy chỉ báo mong muốn trên một máy tính khác!

Quy tắc viết đường dẫn chỉ báo: Sử dụng tên thư mục đầy đủ, bắt đầu bằng **Indicators**!

Thư mục được biểu thị bằng **\\**

Ví dụ:

Nếu đường dẫn đến chỉ báo của bạn trông như thế này:

C:\ROBO MT4\MQL4\Indicators\Examples\MACD.ex4

Thì, đường dẫn đến chỉ báo này trong ngôn ngữ lập trình được viết như thế này:

“\\Indicators\\Examples\\MACD.ex4”

MetaTrader 4 Bước 1: Chỉ định Tên Tín hiệu

// Bước 1 ############################################## ###################### 
    // Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
    // Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
    // 
    // Nhập tên tín hiệu của bạn sau // 
    // Nhập tên tín hiệu của bạn sau // 
    // ################################################ #################### 
    // ví dụ: 
    // * Custom = 77, // Tín hiệu cho mã nguồn mở 
    // ################################################ ############################

Tại bước này, chúng ta phải thêm **Tín hiệu** hoặc **chiến lược** của mình vào danh sách các tín hiệu có thể có trong expert advisor.

Điều này cho phép quản lý tín hiệu một cách thuận tiện trong giai đoạn thiết lập **Expert Advisor**.

Ví dụ về việc đặt tên tín hiệu

Ví dụ:

  1. Bạn muốn đặt tên cho chiến lược của mình là **MY STRATEGY**
  2. Số chiến lược cũng phải là duy nhất. Các tín hiệu từ các chỉ báo tiêu chuẩn chiếm 22 số đầu tiên! Hãy nhớ số này để tham khảo trong tương lai.
  3. Tên cũng phải là duy nhất. Ví dụ: MYSTRATEGY1

Cuối cùng, bạn nên viết trong mã như thế này:

MYSTRATEGY1 = 77, // MY STRATEGY

Bạn cũng có thể thêm nhiều chiến lược hơn và viết, ví dụ, như thế này:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 4 Bước 2: Chỉ định Tên Tín hiệu để Hiển thị trên Màn hình

// Bước 2 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Nhập tên tín hiệu của bạn, sẽ được hiển thị trên màn hình, sau // 
// Nhập tên tín hiệu của bạn, sẽ được hiển thị trên màn hình, sau // 
// ################################################ #################### 
// ví dụ: 
// * if (i == 77) s1 = "Custom"; 
// ################################################ ###########################

Bước này dùng để hiển thị tên chiến lược của bạn trong bảng điều khiển EApadpro EA của chúng tôi.

Không có gì phức tạp cả! Nhưng bạn phải sử dụng các số từ bước trước.

Ví dụ về hiển thị tên tín hiệu

Ví dụ:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 4 Bước 3: Chỉ định Tên Bộ lọc

// Bước 3 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Nhập tên bộ lọc của bạn sau // 
// Nhập tên bộ lọc của bạn sau // 
// ################################################ #################### 
// ví dụ: 
// * FILTERCustom = 77, // Bộ lọc cho mã nguồn mở 
// ################################################ ###########################

Tại bước này, chúng ta cần thêm **Bộ lọc** của mình vào danh sách các bộ lọc có thể có trong **Expert Advisor**.

Điều này cho phép quản lý bộ lọc một cách thuận tiện trong giai đoạn thiết lập **Expert Advisor**.

Thông thường, **Bộ lọc** sử dụng cùng một chỉ báo với **Tín hiệu**, với điều kiện là **Bộ lọc** xác định vị trí hiện tại của **Tín hiệu**, và **Tín hiệu** xác nhận hành động giao dịch.

Ví dụ về sự khác biệt giữa bộ lọc và tín hiệu

Ví dụ:

  1. Bạn có muốn đặt tên cho **Bộ lọc** của mình là **MYFILTER** không?
  2. Số của bộ lọc cũng phải khớp với số của chiến lược (Điều này được thực hiện để tránh nhầm lẫn với các số chỉ báo tiêu chuẩn trong tương lai). Các bộ lọc chiếm 22 số đầu tiên được dành riêng cho các chỉ báo tiêu chuẩn! Hãy nhớ số này để tham khảo trong tương lai.
  3. Tên cũng phải là duy nhất. Ví dụ: MYFILTER1

Cuối cùng, bạn nên viết trong mã như thế này:

MYFILTER1 = 77, // MY FILTER

Bạn cũng có thể thêm nhiều bộ lọc hơn và viết, ví dụ, như thế này:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 4 Bước 4: Chỉ định Tham số Chỉ báo hoặc Chiến lược trong các Biến bên ngoài

// Bước 4 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Chỉ định tất cả các biến bên ngoài của chỉ báo hoặc các chỉ báo sẽ được sử dụng trong chiến lược của bạn 
// Chỉ định tất cả các biến bên ngoài của chỉ báo hoặc các chỉ báo sẽ được sử dụng trong chiến lược của bạn 
// ################################################ #################### 
// ví dụ: 
// * input string IndicatorName = "-------- Custom Indicator ----------------"; 
// * input int CUSTOMMAFastPeriod = 1; 
// * input int CUSTOMMASlowPeriod = 100; 
// ################################################ ###########################

Tại bước này, bạn phải nhập tất cả các cài đặt bên ngoài của các chỉ báo được sử dụng trong chiến lược của mình, có thể được thay đổi từ **Expert Advisor**. Điều này hữu ích cho việc tối ưu hóa.

Ngoài ra, bạn có thể trích xuất các tham số cụ thể của chiến lược, chẳng hạn như các mức giao cắt của các đường, giới hạn hoạt động của chỉ báo dựa trên giá **MAX** và **MIN** trên biểu đồ, v.v.

Bạn không cần phải nhập tất cả các tham số cho các chỉ báo. Chỉ cần bao gồm những tham số mà bạn có thể muốn thay đổi trong tương lai từ cài đặt **Expert Advisor** là đủ. Đối với tất cả các tham số khác, bạn có thể để chỉ báo với cài đặt mặc định của nó.

Ví dụ về cài đặt biến bên ngoài

MetaTrader 4 Bước 5, 6, 7: Thư giãn!

// Bước 5 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Bước 5 chỉ cần thiết cho terminal MT5. Vì vậy, ở bước này, bạn có thể thư giãn và uống cà phê 
// Bước 5 chỉ cần thiết cho terminal MT5. Vì vậy, ở bước này, bạn có thể thư giãn và uống cà phê 
// ################################################ ###########################
    
// Bước 6 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Bước 6 chỉ cần thiết cho terminal MT5. Vì vậy, ở bước này, bạn có thể thư giãn và ăn nhẹ 
// Bước 6 chỉ cần thiết cho terminal MT5. Vì vậy, ở bước này, bạn có thể thư giãn và ăn nhẹ 
// ################################################ ###########################
    
// Bước 7 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Bước 7 chỉ cần thiết cho terminal MT5. Hãy nghỉ ngơi để tập thể dục 
// Bước 7 chỉ cần thiết cho terminal MT5. Hãy nghỉ ngơi để tập thể dục 
// ################################################ ###########################

Lưu ý:** **MetaTrader 4** không yêu cầu tải chỉ báo vào bộ nhớ để làm việc thêm. Khi chỉ báo được gọi lại trong MT4, **Expert Advisor** sử dụng cùng một handle.

MetaTrader 4 Bước 8: Tạo Chiến lược và Tín hiệu để Mở Vị thế

Bước này rất quan trọng đối với **Expert Advisor**. Mặc dù tất cả các bước khác là bắt buộc, nhưng nếu không có bước này, expert advisor sẽ không hoạt động.

Tôi đã thêm các nhận xét vào mã!

Số chiến lược khớp với số từ các bước trước!

  1. Mã lập trình cho chiến lược và tín hiệu một cách riêng biệt. Nó phụ thuộc vào chiến lược và chỉ báo đã chọn. Thiết lập bộ đệm chiến lược…
  2. Tôi muốn lưu ý rằng trong khối này, bạn có thể chỉ định bất kỳ chiến lược nào.
  3. Tất cả các chỉ báo mà chúng ta đã khai báo trong các handle sẽ được tải vào bộ nhớ và được sử dụng để xây dựng chiến lược.
Ví dụ về bộ đệm chiến lược

Bước này có thể được chia thành 2 bước nhỏ:

  1. 1.** **Lập trình chiến lược.** Trong trường hợp này, đó là sự giao nhau của hai đường.
  2. Quan trọng:** **Tín hiệu** cho **MUA (BUY)** là **1**, và cho **BÁN (SELL)** là **-1**.
  3. 2.** Ghi lại thông tin sẽ được hiển thị trong nhật ký khi một vị thế được mở. **Thông tin Chiến lược**

Nếu bạn nhận được thông báo lỗi, bạn cần xác định nguyên nhân của lỗi.

Mã lỗi

Các lỗi phổ biến nhất:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Biểu tượng không xác định
ERR_INDICATOR_CANNOT_CREATE 4802 Không thể tạo chỉ báo
ERR_INDICATOR_NO_MEMORY 4803 Không đủ bộ nhớ để thêm chỉ báo
ERR_INDICATOR_CANNOT_APPLY 4804 Không thể áp dụng chỉ báo cho chỉ báo khác
ERR_INDICATOR_CANNOT_ADD 4805 Lỗi khi thêm chỉ báo
ERR_INDICATOR_DATA_NOT_FOUND 4806 Không tìm thấy dữ liệu yêu cầu
ERR_INDICATOR_WRONG_HANDLE 4807 Handle chỉ báo không chính xác
ERR_INDICATOR_WRONG_PARAMETERS 4808 Số lượng tham số không chính xác khi tạo chỉ báo
ERR_INDICATOR_PARAMETERS_MISSING 4809 Thiếu tham số khi tạo chỉ báo
ERR_INDICATOR_CUSTOM_NAME 4810 Tham số đầu tiên trong mảng phải là tên của chỉ báo tùy chỉnh
ERR_INDICATOR_PARAMETER_TYPE 4811 Loại tham số không chính xác trong mảng khi tạo chỉ báo
ERR_INDICATOR_WRONG_INDEX 4812 Chỉ mục không hợp lệ của bộ đệm chỉ báo được yêu cầu

MetaTrader 4 Bước 9: Chỉ định Bộ lọc từ Chỉ báo của bạn hoặc Sử dụng Chỉ báo của bạn làm Bộ lọc cho Chiến lược

Trong lập trình mã của bước này, không có gì phức tạp, và nó tương tự như bước trước.

Điểm khác biệt duy nhất là ở giai đoạn này, bạn lập trình **các chỉ báo** của mình như một **Bộ lọc**.

Bạn không thể chỉ định tín hiệu bằng cách sử dụng chỉ báo, mà chỉ có thể chỉ định bộ lọc, hoặc ngược lại! Tất cả phụ thuộc vào chiến lược.

 

MetaTrader 4 Bước 10: Đây là Bước Cuối cùng!

// Bước 10 ############################################## ###################### 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// Phần mã này dùng để lập trình chiến lược của bạn trong mã nguồn mở 
// 
// Đây là phần cuối của mã của chúng ta. Nếu bạn đã đến bước này, thì bạn đã tạo ra chiến lược của mình. 
// Ví dụ, tôi đã nhập một chiến lược bí mật. Nếu bạn đã làm mọi thứ chính xác, bạn sẽ nhận được kết quả dưới dạng một cảnh báo trên màn hình! 
// Cảm ơn bạn đã chọn sản phẩm của chúng tôi. Chúng tôi đang làm việc vì bạn! 
// 
// Trang web của chúng tôi: 
// Cửa hàng của chúng tôi: /shop 
// Cửa hàng MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Đây là phần cuối của mã của chúng ta. Nếu bạn đã đến bước này, thì bạn đã tạo ra chiến lược của mình. 
// Ví dụ, tôi đã nhập một chiến lược bí mật. Nếu bạn đã làm mọi thứ chính xác, bạn sẽ nhận được kết quả dưới dạng một cảnh báo trên màn hình! 
// Cảm ơn bạn đã chọn sản phẩm của chúng tôi. Chúng tôi đang làm việc vì bạn! 
// 
// Trang web của chúng tôi: 
// Cửa hàng của chúng tôi: /shop 
// Cửa hàng MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Bước này được tạo ra để bạn không bị lạc khi sử dụng tìm kiếm.

Điều này cho thấy việc lập trình chiến lược của bạn đã hoàn tất.

Chúc bạn may mắn và thu được nhiều lợi nhuận!

MetaTrader 4 Kết luận và Kiểm tra Chiến lược

Nếu bạn làm mọi thứ chính xác, chiến lược của bạn sẽ được tích hợp vào **Expert Advisor**, và bạn sẽ có thể giao dịch bằng cách sử dụng expert advisor của tôi.

Bây giờ, chúng ta cần kiểm tra expert advisor và chiến lược của mình.

  1. Tải terminal;
  2. Mở một tài khoản demo;
  3. Gắn **Expert Advisor** vào biểu đồ;

Kiểm tra Expert Advisor trong Trình kiểm tra Chiến lược:

  1. Mở terminal;
  2. Mở Trình kiểm tra Chiến lược;
  3. Chọn Expert Advisor, cặp tiền tệ, khung thời gian, và khoảng ngày của bạn. Kích hoạt kiểm tra Mỗi tick dựa trên tick thực;
    • Ảnh chụp màn hình lựa chọn Trình kiểm tra Chiến lược
  4. Mở tab Cài đặt;
    • Ảnh chụp màn hình tab cài đặt Trình kiểm tra Chiến lược
  5. Chọn chiến lược của bạn;
  6. Kích hoạt Trực quan hóa;
  7. Nhấn BẮT ĐẦU;
  8. Một biểu đồ sẽ mở ra;
  9. Nếu **Expert Advisor** mở các vị thế, thì bạn đã làm mọi thứ chính xác!
    • Ảnh chụp màn hình các vị thế được mở bởi Expert Advisor

Còn gì khác có thể thay đổi trong Expert Advisor?

Tất nhiên, bạn có thể muốn cá nhân hóa chiến lược của mình và tạo cho expert advisor của chúng tôi một diện mạo độc đáo!

Các tham số mà bạn có thể thay đổi theo ý của mình:

 // Thay đổi 1: Phiên bản của Expert Advisor // Phiên bản của EA
#define versionea "18.008" 
// Thay đổi 2: Logo của Expert Advisor // LOGO của EA
#define BMPLOGO "Images\\dollar.bmp"
// Thay đổi 3: Biểu tượng của Expert Advisor // Biểu tượng của EA
// #property icon "\\Images\\dollar.bmp"
// Thay đổi 4: Tên của Expert Advisor trên biểu đồ // Tên của EA trên Biểu đồ
#define defEANAME "EXP-The X (OS)"
// Thay đổi 5: Liên kết đến hướng dẫn đầy đủ // Liên kết đến hướng dẫn đầy đủ
#define linkTOfull "www.expforex.com/vi/publ/4-1-0-166" 
// Thay đổi 6: Phiên bản demo của Expert Advisor. Chỉ hoạt động trên tài khoản demo hoặc trên tài khoản thực với cặp USDJPY // Phiên bản demo của expert advisor. Chỉ hoạt động trên tài khoản demo hoặc trên tài khoản thực với cặp USDJPY
bool DEMO = false;
    

Tất cả các tham số khác không nên thay đổi, vì điều này có thể làm gián đoạn chức năng của **Expert Advisor**!

Gỡ lỗi một Chiến lược

Bước tiếp theo là kiểm tra và tối ưu hóa The X và tìm cài đặt tốt nhất của bạn.

Ngoài ra, gỡ lỗi và nâng cấp chiến lược của bạn.

Đôi khi, mất vài ngày hoặc vài tuần. Đôi khi, thậm chí vài tháng.

Thị trường Forex – Thông báo Rủi ro! Đây là một cách kiếm tiền rất rủi ro. Hãy cải thiện chiến lược của bạn.

Chúc may mắn và lợi nhuận!

Xuất Thông tin Bổ sung trong Khối Chiến lược

Đây là một tính năng tùy chọn trong mã nguồn mở của chúng tôi.

Bạn có thể xuất bất kỳ giá trị nào của bất kỳ tham số nào trong khối Chiến lược EAPADPRO.

1. Để làm điều này, hãy tạo một biến cục bộ,

ví dụ: double EAPADPRO_StrategyValue1 = 0; double EAPADPRO_StrategyValue2 = 0;

2. Gán một giá trị cho biến này,

ví dụ, gán giá trị của chỉ báo ATR (tìm dòng double atr = iATR):

EAPADPRO_StrategyValue1 = atr;
EAPADPRO_StrategyValue2 = atrma;

Mã bộ lọc đầy đủ:

3. Tiếp theo, thêm giá trị của biến vào khối xuất thông tin:

Tìm hàm CreateStrategy() trong mã và thêm một dòng mới:

ArrayAddStrategy("StrategyValue1", DoubleToString(EAPADPRO_StrategyValue1, 5), "", "");
    
ArrayAddStrategy("StrategyValue2", DoubleToString(EAPADPRO_StrategyValue2, 5), "", "");

Tham số đầu tiên của hàm là tên của biến.

Tham số thứ hai của hàm là giá trị của biến ở định dạng thuận tiện!

Chú ý! Thêm một số lượng tham số chẵn để đảm bảo hiển thị gọn gàng trên màn hình!

Bài viết này cũng có sẵn bằng: English Portuguese Español Deutsch Українська Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt








    Please wait, contacting ...

    Cảnh báo Rủi ro:


    Hiệu suất giao dịch trong quá khứ không đảm bảo kết quả trong tương lai.

    Giao dịch ngoại hối với đòn bẩy mang lại mức độ rủi ro cao và có thể không phù hợp với tất cả các nhà đầu tư.

    Hãy nhận thức rằng việc sử dụng robot giao dịch (trading robots) có thể mang lại rủi ro đáng kể, và bạn có thể mất nhiều hơn khoản đầu tư ban đầu.

    Xin hãy tiến hành một cách thận trọng, đánh giá kỹ lưỡng tình hình tài chính của bạn, và cân nhắc việc tìm kiếm lời khuyên từ một chuyên gia có đủ năng lực.

    Disclaimer

    Trang web này sử dụng cookie để cải thiện trải nghiệm của bạn. Bằng cách sử dụng trang web này, bạn đồng ý với Chính sách bảo vệ dữ liệuTuyên bố miễn trừ trách nhiệm của chúng tôi.
    Đọc thêm