Help: EA code MT5 không hoạt động đúng

trungstart21

Newbie
Joined
Jan 7, 2024
Messages
4
Reactions
2
MR
0.065
E chào các bác !
E đang tìm hiểu về EA trên MT5 nhưng có đoạn code e sửa mãi k đc.
Bác nào rành về tạo EA giúp đỡ e với ạ, e xin mời bác cốc caffe.
Code e để file bên dưới.
E cảm ơn !
 

Attachments

  • 1704584768059.png
    1704584768059.png
    83.3 KB · Views: 67
  • Code edit.txt
    8.3 KB · Views: 38
E chào các bác !
E đang tìm hiểu về EA trên MT5 nhưng có đoạn code e sửa mãi k đc.
Bác nào rành về tạo EA giúp đỡ e với ạ, e xin mời bác cốc caffe.
Code e để file bên dưới.
E cảm ơn !
Code không có vấn đề gì cả, bạn gặp lỗi có thể do 1 trong 2 nguyên nhân:

1: Bạn khai báo thông số đầu vào không phù hợp logic vào lệnh của EA
2: Bạn dùng EA trên khung thời gian khác M15 (EA này được thiết lập chỉ hoạt động trên khung M15)
 
Last edited:
Code không có vấn đề gì cả, bạn gặp lỗi có thể do 1 trong 2 nguyên nhân:

1: Bạn khai báo thông số đầu vào không phù hợp logic vào lệnh của EA
2: Bạn dùng EA trên khung thời gian khác M15 (EA này được thiết lập chỉ hoạt động trên khung M15)
Em đang để điều kiện sell là:
Nến 4 tăng, nến 3 giảm, nến 2 giảm, nến 1 tăng, nến hiện tại giảm. Điểm cao nhất nến 1 phải thấp hơn cao nhất của nến 4, thấp nhất 4 phải thấp hơn của nến 1.
Sell limit tại trung bình giá mở cửa và đóng cửa của nến hiện tại
SL tại cao nhất của nến 4
TP gấp 2 lần stop loss
Em chạy backtest đúng trên khung 15p r bác ạ, tìm 2 ngày nay chưa biết lỗi ở đâu nhờ bác giúp đỡ e ạ.

1704603808974.png

giá entry/tp/sl
double entryPrice = (localHigh[0] + localClose[0]) / 2; // NEEDS UPDATE: ?i?m entry theo yêu c?u
double stopLossPrice = localHigh[4] ; // NEEDS UPDATE: ?i?m stop loss theo yêu c?u
double stopLossDistance = stopLossPrice - entryPrice;
double takeProfitPrice = entryPrice - (2 * stopLossDistance); // NEEDS UPDATE: ?i?m take profit theo yêu c?u
double lotSize = CalculateLotSize(5, stopLossDistance); // NEEDS UPDATE: Tính toán lot size t? 3-6 USD stop loss

Điều kiện slell:
if(closePrices[4] > openPrices[4] && closePrices[3] < openPrices[3] && closePrices[2] < openPrices[2]
&& closePrices[1] > openPrices[1] && highPrices[1] < highPrices[4]
&& closePrices[0] < openPrices[0] && lowPrices[0] < lowPrices[1])
 
Em đang để điều kiện sell là:
Nến 4 tăng, nến 3 giảm, nến 2 giảm, nến 1 tăng, nến hiện tại giảm. Điểm cao nhất nến 1 phải thấp hơn cao nhất của nến 4, thấp nhất 4 phải thấp hơn của nến 1.
Sell limit tại trung bình giá mở cửa và đóng cửa của nến hiện tại
SL tại cao nhất của nến 4
TP gấp 2 lần stop loss
Em chạy backtest đúng trên khung 15p r bác ạ, tìm 2 ngày nay chưa biết lỗi ở đâu nhờ bác giúp đỡ e ạ.

View attachment 243806
giá entry/tp/sl
double entryPrice = (localHigh[0] + localClose[0]) / 2; // NEEDS UPDATE: ?i?m entry theo yêu c?u
double stopLossPrice = localHigh[4] ; // NEEDS UPDATE: ?i?m stop loss theo yêu c?u
double stopLossDistance = stopLossPrice - entryPrice;
double takeProfitPrice = entryPrice - (2 * stopLossDistance); // NEEDS UPDATE: ?i?m take profit theo yêu c?u
double lotSize = CalculateLotSize(5, stopLossDistance); // NEEDS UPDATE: Tính toán lot size t? 3-6 USD stop loss

Điều kiện slell:
if(closePrices[4] > openPrices[4] && closePrices[3] < openPrices[3] && closePrices[2] < openPrices[2]
&& closePrices[1] > openPrices[1] && highPrices[1] < highPrices[4]
&& closePrices[0] < openPrices[0] && lowPrices[0] < lowPrices[1])
- Trong mql5 mặc định nến [0] luôn là nến đang chạy nên bạn khai báo vậy là sai logic. Bạn thử khai báo lại nến tín hiệu từ 5-1 thay vì 4-0.
 
Last edited:
- Trong mql5 mặc định nến [0] luôn là nến đang chạy nên bạn khai báo vậy là sai logic. Bạn thử khai báo lại nến tín hiệu từ 5-1 thay vì 4-0.
Em cảm ơn bác, ko phải thay từ 5-1 mà nó ngược lại. 4 -> 0 phải sửa lại thành 0 -> 4 bác ạ.
 
Em cảm ơn bác, ko phải thay từ 5-1 mà nó ngược lại. 4 -> 0 phải sửa lại thành 0 -> 4 bác ạ.
- Bạn vẫn cần phải sửa logic nến 5-1 (vì logic hoạt động đúng của code là từ nến trái sang phải), và vì điều kiện cuối cùng của bạn là "sell limit tại trung bình giá mở và đóng" cho nên nến cuối chỉ có thể là 1 vì nến 0 là nến đang chạy thì lấy đâu ra giá đóng mà tính trung bình?
- Dù bạn sửa lại sai logic EA vẫn chạy thì không chính xác điều kiện sẽ dẫn đến lệnh sẽ không bao giờ được khớp hoặc EA chỉ chạy rỗng.
 
Last edited:
- Bạn vẫn cần phải sửa logic nến 5-1 (vì logic hoạt động đúng của code là từ nến trái sang phải), và vì điều kiện cuối cùng của bạn là "sell limit tại trung bình giá mở và đóng" cho nên nến cuối chỉ có thể là 1 vì nến 0 là nến đang chạy thì lấy đâu ra giá đóng mà tính trung bình?
- Dù bạn sửa lại sai logic EA vẫn chạy thì không chính xác điều kiện sẽ dẫn đến lệnh sẽ không bao giờ được khớp hoặc EA chỉ chạy rỗng.
Đúng r ạ, e sửa thành 5 -> 1 chạy OK r. E cảm ơn bác nhiều
 
Em đang để điều kiện sell là:
Nến 4 tăng, nến 3 giảm, nến 2 giảm, nến 1 tăng, nến hiện tại giảm. Điểm cao nhất nến 1 phải thấp hơn cao nhất của nến 4, thấp nhất 4 phải thấp hơn của nến 1.
Sell limit tại trung bình giá mở cửa và đóng cửa của nến hiện tại
SL tại cao nhất của nến 4
TP gấp 2 lần stop loss
Em chạy backtest đúng trên khung 15p r bác ạ, tìm 2 ngày nay chưa biết lỗi ở đâu nhờ bác giúp đỡ e ạ.

View attachment 243806
giá entry/tp/sl
double entryPrice = (localHigh[0] + localClose[0]) / 2; // NEEDS UPDATE: ?i?m entry theo yêu c?u
double stopLossPrice = localHigh[4] ; // NEEDS UPDATE: ?i?m stop loss theo yêu c?u
double stopLossDistance = stopLossPrice - entryPrice;
double takeProfitPrice = entryPrice - (2 * stopLossDistance); // NEEDS UPDATE: ?i?m take profit theo yêu c?u
double lotSize = CalculateLotSize(5, stopLossDistance); // NEEDS UPDATE: Tính toán lot size t? 3-6 USD stop loss

Điều kiện slell:
if(closePrices[4] > openPrices[4] && closePrices[3] < openPrices[3] && closePrices[2] < openPrices[2]
&& closePrices[1] > openPrices[1] && highPrices[1] < highPrices[4]
&& closePrices[0] < openPrices[0] && lowPrices[0] < lowPrices[1])
Bác có thể share code này ko
 
Các bác cho em hỏi tự code EA có khó không ạ? em chưa biết tí gì về lập trình, mà đang muốn tạo một con EA bán tự động, vào lệnh bằng tay rồi DCA theo khoảng cách giá. Em ít thời gian quá nên không ngồi canh đc :ami_fat_cat_114:
 
Các bác cho em hỏi tự code EA có khó không ạ? em chưa biết tí gì về lập trình, mà đang muốn tạo một con EA bán tự động, vào lệnh bằng tay rồi DCA theo khoảng cách giá. Em ít thời gian quá nên không ngồi canh đc :ami_fat_cat_114:
Bạn chưa biết gì về lập trình thì tự học code sẽ hơi khó khăn, nhưng nếu bạn có năng khiếu (tư duy logic tốt) thì cơ bản tầm 1-2 tháng là học được (vì ngôn ngữ code mql5 tương đối đơn giản). Bạn có thể bắt đầu học từ đây: https://www.mql5.com/en/articles/100

Theo như ý bạn thì bạn cần 1 EA có chức năng tương đối đơn giản thường gặp nên bạn có thể thử tìm một EA free có sẵn để tiết kiệm thời gian. Bạn có thể tìm ở đây: https://www.mql5.com/en/code/mt5/experts hoặc chịu khó google các nguồn khác.
 
Các bác cho em hỏi tự code EA có khó không ạ? em chưa biết tí gì về lập trình, mà đang muốn tạo một con EA bán tự động, vào lệnh bằng tay rồi DCA theo khoảng cách giá. Em ít thời gian quá nên không ngồi canh đc :ami_fat_cat_114:
mình dang học code hơn 1 tuần nay mà chưa đâu vào đâu, mới thuê người code cho nhanh giá tầm 2-5tr 1 con
 
Các bác cho em hỏi tự code EA có khó không ạ? em chưa biết tí gì về lập trình, mà đang muốn tạo một con EA bán tự động, vào lệnh bằng tay rồi DCA theo khoảng cách giá. Em ít thời gian quá nên không ngồi canh đc :ami_fat_cat_114:
1705210173345.png


Có sẵn, nhiều tính năng. Bác xài không
 

Announcements

Today's birthdays

Forum statistics

Threads
418,662
Messages
7,074,430
Members
170,757
Latest member
zoyboy
Back
Top Bottom