Hướng dẫn - Lập trình Robot Auto Trading theo ngôn ngữ MQL5 | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hướng dẫn Lập trình Robot Auto Trading theo ngôn ngữ MQL5

duypk

Rìu Sắt
Chào các bạn.

Mình là Duy từng là cựu thành viên lâu lắc lâu lờ từ cái thời còn là sinh viên lên VNZ cũng hay lăng xăng đăng hình ảnh chụp hình lung tung, và cũng hay chém gió cấu hình PC với laptop (ở cái domain cũ rích ngày xưa) á, xong rồi chuyển nhà qua đây thì mình tém tém lại bớt chém gió nhiều rồi.

Mình có 1 cái dự án nho nhỏ cũng tính public lên VNZ lâu rồi mà mình vẫn chưa làm, mặc dù mình đã viết xong từ rất lâu, cũng xài từ rất lâu rồi.

Cái dự án đấy nó chỉ thỏa mãn cho cái đam mê giao dịch forex tự động của mình thôi.
Còn nhớ cái hồi mình viết 1 cái topic lên hỏi xem có ai trong VNZ biết về ngôn ngữ mql4 hay không hoặc có tài liệu nào ko cho mình xin nhưng có vẻ cũng ko ai biết nên kể từ đó mình tự tìm tòi lang thang các diễn đàn. Rồi tập tành viết những thứ cơ bản, đúng là 1 mình tự mò rất là khó và mất rất nhiều thòi gian.

Khó nhất là khi có lỗi không biết lỗi là gì, ko biết giải quyết làm sao, ko biết giải xong có đúng hay sai nữa. Nhưng mà vì đam mê lập trình là chủ yếu, mình cũng đã thành thạo được không chỉ ngôn ngữ mql4 mà còn có thể tự viết đến tận mql5.

Ngoài ra mình còn viết riêng cho mình 1 bộ mã nguồn theo cách cá nhân hóa (Personalization), viết theo style riêng, nhưng đã được validated by MetaQuote Inc. Chính thức được phép lưu hành bộ code trên trang chủ của ww.mql5.com và trở thành người bán phần mềm trên đó.

Mình làm ra topic này cũng không có mong muốn gì nhiều, chỉ muốn chia sẻ bộ mã nguồn đã đóng gói để các anh em muốn code giao dịch tự động có thể dễ dàng code.

Thực tế mà nói nếu bạn chưa hề biết gì về code mà bắt tay vào tự học 1 cái gì đó nó rất là khó, chứ đừng nói code giao dịch theo chiến thuật của riêng bạn, càng khó hơn khi code cái đó để có thể mang tiền về túi.

Tuy nhiên, với bộ mã nguồn của mình thì bạn chỉ cần tập trung vào chiến thuật giao dịch, mọi lo lắng về code đã được giải quyết tới hơn 90% rồi, phần còn lại thì bạn chỉ cần tư duy thêm.

Mình lấy ví dụ thế này, bạn cần thiết lập 1 loạt nút bấm hiển thị trên chart nhằm mục đích thoát lệnh nhanh theo các yêu cầu dưới đây:
- Nút bấm Thoát tất cả các lệnh Buy và lệnh Sell (dù hàng trăm hay hàng nghìn lệnh nó cũng xóa hết khi clich vào nút bấm)
- Nút bấm thoát chỉ Buy (có bao nhiêu Buy thoát sạch)
- Nút bấm thoát chỉ Sell (có bao nhiêu Sell thoát sạch)
- Nút bấm xóa sạch tất cả các lệnh Chờ (buy stop, sell stop, buy limit, sell limit, ... )
- Nút bấm xóa duy nhất 1 lệnh Buy gần với thời điểm hiện tại nhất.
- Nút bấm xóa duy nhất 1 lệnh Sell gần với thời điểm hiện tại nhất.

Với các yêu cầu thế này, thông thường các bạn sẽ nghĩ đến việc lần mò trên mạng để tìm cách:
Bước 1. Tìm cách để làm sao thiết kế vẽ và hiển thị các nút bấm
Bước 2. Tìm cách để làm sao sau khi nút bấm đã hiển thị thì máy tính nó nhận biết được bạn vừa lick vào cái nút đó
Bước 3. Tìm cách làm sao để thêm các công thức vào các nút bấm, thông thường việc vào lệnh Buy hay Sell không khó, nhưng cái đoạn chỉ xóa các lệnh Buy, hoặc chỉ xóa các lệnh Sell thì nó lại làm đau đầu nhiều người.
Bước 4. Làm sao sử dụng lại được cái nút bấm đấy.

Mới chỉ nghĩ thôi đã thấy lằng nhằng rồi, nhưng với đoạn code của mình thì chỉ cần các bước:
Bước 1. Tạo nút bấm cực kỳ đơn giản bằng cách gọi cái nút bấm đó ra và đặt tên cho nó, xác định vị trí cần đặt
Bước 2. Gọi luôn cái hàm thực thi tương ứng vào từng nút bấm
Bước 3. Click là nó tự xử

Về code thì lại càng dễ khi các bạn chỉ cần bấm fx và dấu chấm "fx." là hệ thống nó tự xổ ra 1 mớ các chỉ thị khuyến nghị cho các bạn. Ko cần nhớ làm gì cho mệt, nó hiển thị ra nó show luôn đấy là gì luôn.

Như hình dưới đây mình tạo cái nút bấm nè
buttons.png

Còn đây là ví dụ về gọi cái hàm thực thi đóng tất cả các lệnh Buy, có bao nhiêu Buy đóng sạch sẽ luôn nè
closeAllBuy.png

Và đây là kết quả cần nè
results.png


Show lên để anh em thấy nó cực kỳ dễ, nên đừng quá lo lắng về code. Chỉ cần tập trung vào chiến lược.

Từ các reply về sau, mình sẽ post hướng dẫn từng bước từng bước cơ bản cho những ai chưa biết 1 tí gì cũng có thể thực hành để có thể thành thạo viết được 1 con robot đơn giản. Những ai siêng năng hơn hoàn toàn có thể viết được các con robot phức tạp.

Chờ link video hướng dẫn của mình nhé. Mình tin là mình tự viết được và các bạn cũng vậy.
 
Sửa lần cuối:

duypk

Rìu Sắt
Mỗi tuần mình sẽ ra ít nhất 1 video, và sẽ public chính tại đây để các bạn tiện theo dõi nhé. Cần trao đổi học tập gì cứ reply ở đây mình sẽ trả lời trong phạm vi hiểu biết của mình.

Đây là video đầu tiên mình làm hôm thứ 6 tuần rồi


Đây là 1 tài khoản bình thường của người anh em đang sử dụng robot do mình viết, con Robot DCA Pro Auto Trend Detected.
SonNguyen.png


Anh em tạm thời coi video đầu tiên ở đây nhé, thứ 6 này mình sẽ xuất bản video thứ 2 và 3.
 

duypk

Rìu Sắt
Chào các bạn, lại là mình đây.
Ở video số 2 này mình sẽ hướng dẫn mọi người về các vào lệnh Buy, Sell một cách cực kỳ đơn giản.
Công việc các bạn cần nhớ đó là chữ "fx" sau đó gõ dấu chấm "." và thao tác theo các chỉ thị.

Ví dụ: fx.e._entry(_Symbol,ORDER_TYPE_BUY,volume,Ask, SL Points, TP Points, Comment, Magic);

Các bạn xem chi tiết trong video cho dễ hiểu nhé

 

duypk

Rìu Sắt
Còn đây là video số 3. Tại video này các bạn sẽ được hướng dẫn download và cài đặt eCodePro.

Chỉ mất có 5 phút để có thể cài đặt và sau đó sử dụng hầu hết các tiện ích sẵn có ở bên trong nó.
Lưu ý. Các bạn cài đặt xong thì thực hành lại theo cái video số 2 cho thành thạo trước khi đi đến các video tiếp theo của mình.

 

anhsuperstar

Gà con
Chào các bạn.

Mình là Duy từng là cựu thành viên lâu lắc lâu lờ từ cái thời còn là sinh viên lên VNZ cũng hay lăng xăng đăng hình ảnh chụp hình lung tung, và cũng hay chém gió cấu hình PC với laptop (ở cái domain cũ rích ngày xưa) á, xong rồi chuyển nhà qua đây thì mình tém tém lại bớt chém gió nhiều rồi.

Mình có 1 cái dự án nho nhỏ cũng tính public lên VNZ lâu rồi mà mình vẫn chưa làm, mặc dù mình đã viết xong từ rất lâu, cũng xài từ rất lâu rồi.

Cái dự án đấy nó chỉ thỏa mãn cho cái đam mê giao dịch forex tự động của mình thôi.
Còn nhớ cái hồi mình viết 1 cái topic lên hỏi xem có ai trong VNZ biết về ngôn ngữ mql4 hay không hoặc có tài liệu nào ko cho mình xin nhưng có vẻ cũng ko ai biết nên kể từ đó mình tự tìm tòi lang thang các diễn đàn. Rồi tập tành viết những thứ cơ bản, đúng là 1 mình tự mò rất là khó và mất rất nhiều thòi gian.

Khó nhất là khi có lỗi không biết lỗi là gì, ko biết giải quyết làm sao, ko biết giải xong có đúng hay sai nữa. Nhưng mà vì đam mê lập trình là chủ yếu, mình cũng đã thành thạo được không chỉ ngôn ngữ mql4 mà còn có thể tự viết đến tận mql5.

Ngoài ra mình còn viết riêng cho mình 1 bộ mã nguồn theo cách cá nhân hóa (Personalization), viết theo style riêng, nhưng đã được validated by MetaQuote Inc. Chính thức được phép lưu hành bộ code trên trang chủ của ww.mql5.com và trở thành người bán phần mềm trên đó.

Mình làm ra topic này cũng không có mong muốn gì nhiều, chỉ muốn chia sẻ bộ mã nguồn đã đóng gói để các anh em muốn code giao dịch tự động có thể dễ dàng code.

Thực tế mà nói nếu bạn chưa hề biết gì về code mà bắt tay vào tự học 1 cái gì đó nó rất là khó, chứ đừng nói code giao dịch theo chiến thuật của riêng bạn, càng khó hơn khi code cái đó để có thể mang tiền về túi.

Tuy nhiên, với bộ mã nguồn của mình thì bạn chỉ cần tập trung vào chiến thuật giao dịch, mọi lo lắng về code đã được giải quyết tới hơn 90% rồi, phần còn lại thì bạn chỉ cần tư duy thêm.

Mình lấy ví dụ thế này, bạn cần thiết lập 1 loạt nút bấm hiển thị trên chart nhằm mục đích thoát lệnh nhanh theo các yêu cầu dưới đây:
- Nút bấm Thoát tất cả các lệnh Buy và lệnh Sell (dù hàng trăm hay hàng nghìn lệnh nó cũng xóa hết khi clich vào nút bấm)
- Nút bấm thoát chỉ Buy (có bao nhiêu Buy thoát sạch)
- Nút bấm thoát chỉ Sell (có bao nhiêu Sell thoát sạch)
- Nút bấm xóa sạch tất cả các lệnh Chờ (buy stop, sell stop, buy limit, sell limit, ... )
- Nút bấm xóa duy nhất 1 lệnh Buy gần với thời điểm hiện tại nhất.
- Nút bấm xóa duy nhất 1 lệnh Sell gần với thời điểm hiện tại nhất.

Với các yêu cầu thế này, thông thường các bạn sẽ nghĩ đến việc lần mò trên mạng để tìm cách:
Bước 1. Tìm cách để làm sao thiết kế vẽ và hiển thị các nút bấm
Bước 2. Tìm cách để làm sao sau khi nút bấm đã hiển thị thì máy tính nó nhận biết được bạn vừa lick vào cái nút đó
Bước 3. Tìm cách làm sao để thêm các công thức vào các nút bấm, thông thường việc vào lệnh Buy hay Sell không khó, nhưng cái đoạn chỉ xóa các lệnh Buy, hoặc chỉ xóa các lệnh Sell thì nó lại làm đau đầu nhiều người.
Bước 4. Làm sao sử dụng lại được cái nút bấm đấy.

Mới chỉ nghĩ thôi đã thấy lằng nhằng rồi, nhưng với đoạn code của mình thì chỉ cần các bước:
Bước 1. Tạo nút bấm cực kỳ đơn giản bằng cách gọi cái nút bấm đó ra và đặt tên cho nó, xác định vị trí cần đặt
Bước 2. Gọi luôn cái hàm thực thi tương ứng vào từng nút bấm
Bước 3. Click là nó tự xử

Về code thì lại càng dễ khi các bạn chỉ cần bấm fx và dấu chấm "fx." là hệ thống nó tự xổ ra 1 mớ các chỉ thị khuyến nghị cho các bạn. Ko cần nhớ làm gì cho mệt, nó hiển thị ra nó show luôn đấy là gì luôn.

Như hình dưới đây mình tạo cái nút bấm nè
buttons.png

Còn đây là ví dụ về gọi cái hàm thực thi đóng tất cả các lệnh Buy, có bao nhiêu Buy đóng sạch sẽ luôn nè
closeAllBuy.png

Và đây là kết quả cần nè
results.png


Show lên để anh em thấy nó cực kỳ dễ, nên đừng quá lo lắng về code. Chỉ cần tập trung vào chiến lược.

Từ các reply về sau, mình sẽ post hướng dẫn từng bước từng bước cơ bản cho những ai chưa biết 1 tí gì cũng có thể thực hành để có thể thành thạo viết được 1 con robot đơn giản. Những ai siêng năng hơn hoàn toàn có thể viết được các con robot phức tạp.

Chờ link video hướng dẫn của mình nhé. Mình tin là mình tự viết được và các bạn cũng vậy.
mấy tháng rồi chưa thấy thớt ra video :(
 

duypk

Rìu Sắt
 

duypk

Rìu Sắt
Thời gian vừa qua mình khá bận, với lại việc làm video hướng dẫn không phải sở trường nên mình cứ loay hoay mãi với việc dựng video sao cho anh em dễ hiểu.

Khoảng 2 tuần nay mình đã cho phát hành quyển sách hướng dẫn rồi, anh em đọc giáo trình mình tự soạn tại đường link eCodePro nhé.

Nhân tiện đây mình cũng thông báo, mặc dù thời gian vừa qua không lên Video, nhưng đổi lại mình đã xây dựng xong giáo trình tự học cho tất cả mọi người, dù là chưa biết gì về lập trình. Mọi người cứ tải giáo trình bản PDF về đọc và thực hành theo sách.

Ngoài ra mình còn có làm các video ngắn hướng dẫn thực hành để hiểu rõ về MQL5
Đảm bảo các anh em sẽ tự code được robot cho riêng mình, cứ chịu khó học và thực hành nhé.
Mình hứa sẽ ra video thường xuyên, ít nhất 1 tuần có 2 videos cho anh em thực hành.

Bài 1.1


Bài 1.2


Bài 2.1


Bài 2.2
 

duypk

Rìu Sắt
Cũng đang bắt đầu nghiên cứu cái này, em đánh dấu để theo dõi, cảm bác bác đã chia sẻ
Welcome bro, cứ bám sát các video của tớ thì các bạn sẽ tự mình viết được robot MQL5 nhá.
 


Top