VNREBATES

Hướng dẫn lập trình Robot Forex (Expert Advisors) trong MT4

09.04.2020, 08:17 16 phút đọc

Để lập trình robot forex, anh em có thể sử dụng các ngôn ngữ MQL4, MQL5 hoặc viết các robot đơn giản với Script. Chỉ cần có kiến thức lập trình là anh em có thể tự viết cho mình một Robot giao dịch để sử dụng. Trong trường hợp không biết lập trình, anh em cũng có thể tìm các Script có sẵn để cài đặt và sử dụng như một Robot và thực hiện các giao dịch tự động ở mức độ đơn giản.

Mình muốn lưu ý trước với anh em rằng bài viết dưới đây không phải bài hướng dẫn viết robot forex, bởi nếu như anh em là một lập trình viên thì có lẽ anh em hoàn toàn có thể viết được một chương trình robot theo ý mình. Còn ngược lại, nếu anh em không biết về lập trình thì một bài hướng dẫn là không đủ để anh em có thể lập trình robot forex.

Trong bài viết này, mình sẽ cùng anh em thảo luận về cách lập trình robot forex khi đã có một chương trình mã hóa, hay nói cách khác là quy trình tạo robot forex trong MT4 và MT5 với một chương trình đã được viết sẵn. Với bài hướng dẫn này, dù anh em không biết lập trình cũng có thể tìm kiếm các Script có sẵn trên thị trường để tự cài đặt cho mình một robot giao dịch đơn giản trong MT4 hoặc MT5.

Đọc thêm:

1. Cách tạo một script trong MT4

1.1 Sơ lược về Script trong MT4

Cách sử dụng script trong giao dịch có phần giống với sử dụng Macro trong Excel. Macro là một phần nhỏ của các ngôn ngữ lập trình có thể tự động hóa các tác vụ đơn giản nhưng tốn thời gian và cũng giúp giảm bất kỳ sai lầm nào có thể được thực hiện.

Tương tự, các script trong các nền tảng giao dịch (MT4, MT5) là các đoạn mã lệnh được sử dụng để tự động hóa các tác vụ đơn giản nhưng tốn thời gian trong giao dịch.

Sử dụng script không chỉ giúp anh em tiết kiệm thời gian mà còn giúp chúng ta tránh khỏi mọi biến động trượt giá có thể xảy ra giữa các tác vụ thủ công được thực hiện. 

Có rất nhiều các loại script khác nhau với những mục đích đơn giản nhưng lại đem đến hiệu quả rất tối ưu. Ví dụ như một script tự động đóng tất các các lệnh ngay lập tức, hoặc một script xóa các lệnh đang chờ, đặt stop loss và take profit ở những điểm cố định…

Đây đều là những tác vụ đơn giản nhưng nếu thực hiện thủ công thì anh em sẽ mất rất nhiều thời gian, và độ chính xác cũng kém hơn so với dùng script.

1.2 Các bước tạo một script tùy ý

Script MT4 được viết bằng ngôn ngữ MetaQuotes Language 4 (MQL4) với mục đích thực hiện các hành động cần thiết trong một lần. Đây cũng là điểm khác biệt giữa các script với EA khi mà EA có thể chạy liên tục và không giới hạn số lần thực hiện các lệnh, nhưng script chỉ thực hiện một lệnh cho mỗi lần khởi chạy.

Script MT4 được viết bằng ngôn ngữ MetaQuotes Language 4 (MQL4)

Script trên MT4

Dưới đây là các bước cơ bản để khởi chạy một script tự viết trong MT4

1.2.1 Bước 1 – Tạo 1 script

Để tạo script MT4, anh em sẽ sử dụng MQL4 và MetaEditor.

Đầu tiên hãy chọn mục “Create” trên menu của cửa sổ “Navigators – Script”  hoặc trên “Tools – MetaQuotes Language”, hoặc nhấn nút F4, hoặc cũng có thể dùng nút MetaEditor của thanh công cụ “Standard”

Tiếp theo, Expert Creation Wizard sẽ tự động mở cho phép tạo MQL4 mới nhanh chóng như hình bên dưới. Đối tượng được tạo chính là “Script”

Để tạo script MT4, anh em sẽ sử dụng MQL4 và MetaEditor

Bước 1 – Tạo script

Tất cả các trường cần thiết phải được điền vào, gồm:

  • Name – tên của script;
  • Author – tên nhà phát triển;
  • Link – trang web của nhà phát triển.

Các thông tin chung về chương trình Script

Các thông tin chung về chương trình Script

Sau đó, cửa sổ script mới sẽ mở trong trình chỉnh sửa, anh em có thể bắt đầu viết mã nguồn cho script theo các thuật toán tùy ý. Tệp có chứa mã nguồn của script vừa tạo (đuôi “.mq4”) sẽ được lưu vào thư mục / EXPERTS / SCRIPTS trên máy tính

Sau khi script với đuôi “.mq4” đã được tạo, nó phải được biên dịch sang đuôi “.ex4”. Để làm điều đó, anh em chỉ cần thực hiện mở “File – Compile” trong trình Experts Editor, sau đó nhấn F7 hoặc nút “Compile” trên thanh công cụ.

Sau khi đó script sẽ được chuyển sang đuôi “.ex4” và được lưu vào thư mục / EXPERTS / SCRIPTS. Danh sách tất cả các script hiện có anh em có thể xem trong cửa sổ “Navigators – Scripts” trên máy tính.

Sự khác nhau giữa các tệp .MQ4 và .EX4

  • .MQ4 – tệp mã nguồn MQL4 có thể được lập trình viên chỉnh sửa
  • .EX4 – tệp thực thi không thể sửa đổi để bảo vệ bản quyền của lập trình viên

Sau khi viết xong chương trình, tệp sẽ được lưu ở đuôi “.mq4”, nghĩa là ở trạng thái chỉnh sửa. Vì vậy anh em cần thực hiện các bước biên tập lại tệp đó sang đuôi “.ex4” để có thể khởi chạy script.

Chỉnh sửa script

Để bắt đầu chỉnh sửa script hiện đang có sẵn, anh em cần thực hiện lệnh “Modify” trên menu “Navigators – Scripts”. Khi đó, trình Experts Editor sẽ mở ra mới đoạn mã nguồn của script được chọn, anh em có thể tiến hành chỉnh sửa đoạn mã tại đây. Sau khi mã nguồn đã được sửa đổi, hãy nhớ thực hiện lại các bước chuyển đổi sang đuôi “.ex4” để sự thay đổi có hiệu lực nhé.

1.2.2 Bước 2 – Cài đặt 1 script

Lúc này script vừa được tạo đã sẵn sàng sử dụng. Tuy nhiên trước hết anh em cần phải cài đặt các thiết lập của chúng. Anh em hãy mở bảng thông số của script bằng cách thực hiện lệnh menu “Tool – Options”, hoặc bằng cách nhấn các phím tắt Ctrl + O.

Để cài đặt thiết lập các tham số script, anh em chuyển sang tab “Expert Advisors”

Có 5 tùy chỉnh ảnh hưởng đến hoạt động của các script

Bước 2 – cài đặt script

Có 5 tùy chỉnh ảnh hưởng đến hoạt động của các script:

  • Allow automated trading: Tùy chọn này cho phép kích hoạt hoặc vô hiệu hóa việc thực hiện các hoạt động giao dịch của Expert Advisors và script.
  • Allow DLL imports: Để mở rộng chức năng, các script có thể sử dụng DLL (DLL là viết tắt của Dynamic Link Library – thư viện liên kết động). File DLL chứa những hướng dẫn mà các chương trình khác có thể gọi đến để làm một tác vụ nào đó. Về cơ bản, DLL cũng giống như EXEs, tuy nhiên được đặt tên khác nhau). Nếu tùy chọn này được bật, các thư viện liên kết động có thể được sử dụng mà không có bất kỳ giới hạn nào. Nếu tùy chọn này bị vô hiệu hóa, sẽ không có script nào có thể sử dụng bất kỳ tệp DLL bên ngoài.
  • Allow WebRequest for listed URL: Hàm WebRequest () trong MQL4 được sử dụng để nhận và gửi thông tin đến các trang web bằng các yêu cầu GET và POST. Để cho phép ứng dụng MQL4 gửi các yêu cầu như vậy, hãy bật tùy chọn này và chỉ định rõ ràng các URL của các trang web đáng tin cậy theo cách thủ công. Vì lý do bảo mật, tùy chọn bị tắt theo mặc định.

1.2.3 Bước 3 – Chạy Script

Sau khi thiết lập các tham số chung, script có thể được khởi chạy. Để bắt đầu, anh em chỉ cần gắn nó vào biểu đồ. Tùy từng loại script khác nhau sẽ có thêm một số thiết lập khác nhau mà anh em có thể tùy chỉnh trước khi khởi chạy.

lập trình robot forex

Bước 3 – Chạy Script

Sau khi script được khởi chạy, nó sẽ thực thi nhiệm vụ được giao với thuật toán của chương trình vừa tạo. Anh em lưu ý rằng chỉ có một script có thể được sử dụng trong một thời điểm và một biểu đồ hiện tại.

1.2.4. Bước 4 – Xóa script

Thông thường, một lệnh script sẽ tự tắt sau khi hoàn thành tác vụ của nó vì nó chỉ hoạt động một lần khi được kích hoạt. Nhưng script cũng có thể được gỡ bỏ bằng các thao tác thủ công bằng cách thực hiện lệnh “Remove Script”  trên biểu đồ. Hoặc nếu anh em mở một script khác vào biểu đồ thì script cũ cũng tự động bị tắt đi. Ngoài ra, nếu khung thời gian thay đổi thì tệp lệnh script cũng bị xóa khỏi biểu đồ hiện tại.

Lưu ý:

  • Tất cả các scripts sẽ bị xóa sau khi thiết bị của anh em bị tắt;
  • Xóa script ra khỏi cửa sổ “Navigator”“Bộ điều hướng” sẽ không tắt chương trình MQL4 cùng tên được đặt trong biểu đồ.

Xem thêm:

2. Cách lập trình robot forex trong MT4

Nếu anh em đã hiểu rõ các bước để tạo một script trong MT4, thì quy trình để lập trình robot forex bất kỳ sẽ trở nên rất đơn giản với các bước hoàn toàn tương tự. Khác biệt duy nhất là các chương trình và thuật toán của một robot, cụ thể là các EA sẽ phức tạp hơn và phụ thuộc vào kỹ năng lập trình của anh em.

Hãy trở lại với bước đầu tiên khi tạo một script. Khi muốn khởi tạo một EA anh em chỉ cần thực hiện các bước hoàn toàn tương tự với  MQL4 và MetaEditor.

Cụ thể, chúng ta sẽ chọn mục “Create” trên menu của cửa sổ “Navigators – Expert Advisor”  hoặc trên “Tools – MetaQuotes Language”, hoặc nhấn nút F4, hoặc dùng nút MetaEditor của thanh công cụ “Standard”

Hộp thoại Expert Creation Wizard sẽ mở ra tương tự như khi tạo script. Lúc này thay vì chọn mục Script, anh em chỉ cần chuyển sang Expert Advisor rồi thực hiện bước tiếp theo.

Cách lập trình robot forex trong MT4

Khởi tạo EA

Sang bước tiếp theo anh em cũng cần điền một số thông tin tương tự như tên của EA, nhà phát triển và đường link. Sau đó anh em đã có thể viết chương trình mã nguồn cho EA của mình.

Điểm khác biệt tiếp theo là tệp mã nguồn của Script sẽ được lưu vào thư mục Expert/Script, còn tệp mã nguồn của EA thì được lưu vào thư mục Expert/ Expert Advisor.

Lưu ý rằng tệp mã nguồn của EA sau khi tạo cũng có đuôi “.mq4” và anh em cần thực hiện việc chuyển đổi tương tự sang đuôi “ex5” mới có thể khởi chạy được EA. Thao tác cần làm là mở “File – Compile” trong trình Experts Editor, sau đó nhấn F7 hoặc nút “Compile” trên thanh công cụ.

Sau khi lập trình robot forex EA hoàn tất, anh em cũng cần thiết lập một vài thông số cơ bản trước khi khởi chạy. Việc thiết lập này sẽ tùy thuộc vào loại EA của anh em. Các EA sẽ chạy liên tục và thực hiện các lệnh lặp đi lặp lại chứ không chỉ thực hiện một lệnh duy nhất như script.

Để sửa đổi mã nguồn của một EA, anh em cũng chỉ cần thực hiện lệnh “Modify” trên menu “Navigators – Expert Advisor”, và cũng đừng quên chuyển đổi sang đuôi “.ex4” mỗi khi sửa xong nhé.

Ngoài ra, nếu anh em đang sử dụng nền tảng MT5 thì mọi thao tác tạo script và lập trình robot forex EA cũng đều diễn ra một cách tương tự. Chỉ có một điểm khác, đó là MT5 sử dụng ngôn ngữ MQL5 nên định dạng các tệp mã nguồn của anh em sẽ là “.mq5”, và cần chuyển đổi sang “.ex5” trước khi khởi chạy.

Tuy nhiên, vị trí của các tệp cũng như từng bước thao tác không có gì thay đổi so với nền tảng MT4, thế nên anh em hiểu được các bước thực hiện trên MT4 là hoàn toàn có thể thao tác trên MT5 một cách dễ dàng. Tóm lai, anh em chỉ cần nắm được các bước lập trình script trên MT4 là hoàn toàn có thể dễ dàng thực hiện lập trình robot forex EA trên MT4, lập trình script trên MT5 và lập trình robot forex EA trên MT5.

Xem thêm: MT4 hay MT5 giúp bạn giao dịch hiệu quả hơn?

3. Sử dụng các mã nguồn có sẵn trên thị trường

Trong trường hợp anh em không có chuyên môn về lập trình, thì anh em có thể dễ dàng tìm được các mã nguồn của các script hoặc các EA đơn giản được cung cấp trên các website tài chính hay các diễn đàn của nhà giao dịch. Với các mã nguồn đó, anh em hoàn toàn có thể tự mình cài đặt một cách dễ dàng trong các nền tảng MT4 hoặc MT5 của mình.

Đầu tiên, khi anh em tìm thấy và tải về mã nguồn của loại script hay EA mà mình yêu thích (file mã nguồn dưới dạng đuôi “.mq4” hoặc “.mq5”), hãy copy và đưa các file đó vào thư mục tương ứng sau:

  • Đối với EA: File/ Open Data Folder/ MQL4 (hoặc MQL5)/ Experts
  • Đối với Script:  File/ Open Data Folder/ MQL4/ Script

Sau khi hoàn tất việc chuyển file, lúc này anh em cần thực hiện việc biên tập lại các file đó để chuyển về định dạng đuôi “.ex4” hoặc “.ex5” bằng cách sau:

Tại giao diện MT4, ấn F4 để mở MetaEditor

lập trình robot forex bằng các mã nguồn của các script hoặc các EA đơn giản được cung cấp trên các website tài chính

Kích hoạt các chương trình có sẵn

Tại đây, anh em có thể thấy các thư mục ở cửa sổ Navigator bên trái. Hãy tìm đến các file vừa được copy vào và kích đúp chuột trái để mở ra. Sau đó, anh em chỉ cần ấn F7 hoặc nhấn “compile” để biên tập lại file, chuyển về định dạng “.ex4”. Sau khi chuyển đổi thành công, các script và EA đã sẵn sàng sử dụng.

Trong trường hợp anh em tìm được các file EA hay script đã được biên tập sẵn với định dạng “.ex4” thì anh em chỉ cần copy chúng vào các thư mục tương ứng như phía trên là có thể sử dụng ngay.

Dưới đây là một số website uy tín cung cấp miễn phí các file mã nguồn của script mà anh em có thể tham khảo:

  • Earn Forex: website này cung cấp một số script như đóng tất các các lệnh, xóa hết lệnh chờ, đặt stop loss và take profit cố định… Tất cả các script đều đi kèm nội dung hướng dẫn tải xuống, cách cài đặt và sử dụng cụ thể nên anh em có thể thao tác một cách rất dễ dàng
  • MQL5.com: đây là trang chủ của MQL5, cung cấp cho anh em các script vô cùng đa dạng cho cả hai nền tảng MT4 và MT5. Ở đây anh em có thể tìm thấy rất nhiều script khác nhau phục vụ cho hầu hết các nhu cầu cơ bản như đóng tất cả lệnh, xác định thời điểm tiềm năng để giao dịch, và một số script hỗ trợ giao dịch tự động với các tín hiệu hay chỉ báo đơn giản như Fibonacci, xu hướng,…

Xem thêm:

4. Tổng kết

Như vậy, chúng ta đã cùng nhau tìm hiểu các bước để lập trình robot forex dành cho những anh em có khả năng tự lập trình. Còn đối với anh em không có chuyên môn lập trình, chúng ta cũng hoàn toàn có thể sử dụng các chương trình có sẵn và được cung cấp miễn phí trên mạng để cài đặt về máy của mình và sử dụng. Hy vọng anh em sẽ có trải nghiệm tốt với các loại EA và script, nhưng hãy nhớ là luôn luôn thực hiện backtest kỹ càng trước khi áp dụng vào giao dịch thực tế nhé.

Chúc anh em giao dịch an toàn và hiệu quả.

Vnrebates tổng hợp

Theo metatrader4.com

Risk Disclaimer: Bài viết thể hiện quan điểm và góc nhìn của cá nhân tác giả, chỉ có giá trị tham khảo về mặt thông tin, kiến thức và không có giá trị pháp lý về khuyến nghị đầu tư hay thay thế cho việc tư vấn tài chính nào tương đương. Bài viết không đảm bảo bất kỳ khoản lợi nhuận nào hay giảm thiểu rủi ro đầu tư nào cho chính độc giả. VnRebates không chịu trách nhiệm hay liên quan đến khoản đầu tư của độc giả khi sử dụng thông tin từ bài viết này. Bản quyền thuộc về đóng góp của tác giả.