Bạn dựng một Expert Advisor RSI trong MT5 mà không cần lập trình bằng cách đặt bốn loại khối lên một canvas. Một node Start, một chỉ báo RSI, một điều kiện so sánh giá trị RSI với một ngưỡng, và một khối lệnh. Máy chủ sau đó sinh và biên dịch MQL5 giúp bạn. Mất khoảng mười lăm phút, và không có lấy một dòng cú pháp MQL5 nào ở bất kỳ khâu nào.
Câu hỏi khó hơn là rốt cuộc bạn đang cầm cái gì khi đã xong. Hướng dẫn này dựng chiếc EA đó rồi đọc chính bản ghi của Builder về cùng thiết kế ấy, và bản ghi đó kém hào nhoáng hơn bất cứ bài hướng dẫn nào sẽ kể cho bạn.
Bạn sẽ dựng ra cái gì
Một EA giữ một vị thế duy nhất trên một cặp, mua khi RSI rơi xuống dưới một ngưỡng quá bán và bán khi nó vượt lên trên một ngưỡng quá mua, với mức cắt lỗ và mục tiêu cố định, được biên dịch thành một file .ex5 thật mà bạn thả được vào MetaTrader 5. Tám khối. Không có code.
Đó là nửa cơ học, và nửa đó thật sự dễ. Phần còn lại của trang này là nửa quyết định xem cái file kia có đáng chạy hay không.
Trước khi bắt đầu: RSI đo cái gì, và không đo cái gì
Bạn cần một tài khoản miễn phí có địa chỉ email đã xác minh (thiết kế thì miễn phí và không cần đăng nhập; biên dịch ra .ex5 thì cần), khoảng mười lăm phút, và một terminal MetaTrader 5 để kiểm thử kết quả.
RSI cho biết n mức đóng cửa gần nhất đang nằm ở đâu giữa chính phần tăng và phần giảm gần đây của chúng, trên thang 0–100. Trong công thức này nó làm đúng một việc: nói rằng giá đã đi xa và nhanh theo một hướng so với chính hành vi gần đây của nó. Thứ nó không nói là nhịp đó đã kết thúc. Chính sự phân biệt ấy là toàn bộ rủi ro của chiến lược — một mức quá bán trong xu hướng giảm là lời mô tả về xu hướng giảm, không phải một tín hiệu chống lại nó.
Khối RSI của Builder mở ra những thiết lập sau, và các giá trị mặc định đều là giá trị quy ước:
| Thiết lập của khối | Mặc định | Nó điều khiển gì |
|---|---|---|
period | 14 | Phép tính nhìn lại bao nhiêu cây nến. Dải 1–999 |
applied_price | PRICE_CLOSE | Giá nào của mỗi cây nến được đưa vào phép tính |
shift | 0 | Đọc cây nến nào — 0 là nến đang hình thành, 1 là nến đã đóng gần nhất |
timeframe | biểu đồ hiện tại | Bất kỳ khung nào từ M1 tới MN1, đọc độc lập với biểu đồ |
symbol | biểu đồ hiện tại | Để trống nghĩa là lấy symbol của chính biểu đồ |
Dòng timeframe là dòng đáng để ý sớm. Khối này đọc được RSI từ một khung thời gian cao hơn khung mà nó đang giao dịch trên đó. Đó chính là cách một bộ lọc đa khung thời gian được dựng lên mà không cần viết code.
Từng bước: dựng EA RSI trong Builder
- Mở EA Builder rồi hoặc nạp mẫu
rsi_reversaltừ thư viện, hoặc bắt đầu từ một canvas trắng. Nạp mẫu thì nhanh hơn; tự tay dựng lại mới là cách bạn học được sợi dây nào làm việc gì. - Đặt một node Start lấy từ bảng Utility. Một luồng thiếu nó sẽ trượt xác thực với
EAB-E202trước khi nó chịu sinh ra bất cứ thứ gì. - Thêm khối chỉ báo RSI và đặt
period. Hãy để nguyên 14 ở lần dựng đầu tiên để kết quả của bạn còn so được với tham chiếu bên dưới, và đặtshiftthành 1 nếu bạn muốn quy tắc chỉ được đánh giá trên nến đã đóng. - Thêm một điều kiện Compare và nối khối RSI vào nó. Bước này không phải phần đấu nối tùy chọn: nối một chỉ báo thẳng vào khối lệnh sẽ bị bác với
EAB-E205— “insert a condition node (Compare/Cross) in between” — chính xác là vì một giá trị chỉ báo thô không phải là một quyết định. - Đặt phép so sánh. Phía mua: RSI nhỏ hơn 30. Phía bán: RSI lớn hơn 70. Toán tử mặc định của chính khối Compare là
>, nên nhánh mua mới là nhánh bạn phải nhớ lật lại. - Nối mỗi điều kiện vào khối hành động Open Buy / Open Sell riêng của nó.
- Đặt phần rủi ro trong tab Settings — Money Management và Exit Strategy. Mặc định dùng chung là cắt lỗ 50 pip, mục tiêu 100 pip và khối lượng cố định
0.01lot. Một luồng không có mức cắt lỗ hợp lệ sẽ dựng lên một chẩn đoán preflightCRITICALvà buộc bạn xác nhận trước khi nó chịu dựng. - Bấm Measure để chạy bài backtest gần đúng tích hợp sẵn, và đọc kết quả đối chiếu với ngưỡng mà chính bảng đó in ra: hệ số lợi nhuận ít nhất 1,2, ít nhất 60 lệnh, sụt giảm không tệ hơn 20%.
- Bấm Compile .ex5, chuyển file vừa tải về vào
MQL5/Expertsqua File > Open Data Folder, rồi làm mới Navigator. Sau đó hãy kiểm thử nó cho tử tế trong Strategy Tester trước khi nó tới gần bất kỳ tài khoản nào.
- Node Start
- Chỉ báo RSI, chu kỳ 14
- Compare — RSI dưới ngưỡng quá bán
- Compare — RSI trên ngưỡng quá mua
- Open Buy
- Open Sell
- Cắt lỗ và chốt lời
- Biên dịch ra .ex5
Có hai khối mà người mới hay với tay tới, và chưa nên với tới.
Cross hỏi xem một đường có cắt qua đường kia trên cây nến này hay không. Đó là một câu hỏi chặt hơn và khác hẳn “đang nằm dưới”. Dùng ở đây, nó sẽ chỉ bắn đúng vào cây nến mà RSI xuyên qua 30 — chứ không phải trên mọi cây nến RSI còn nằm dưới đó.
Bảng khối còn mang theo một khối điều kiện RSI Divergence. Nó phát hiện việc giá tạo một cực trị mới trong khi RSI thì không, và mặc định lấy level 30, pivot_bars 70 và near_band 10. Nó cần một khối RSI có shift đặt bằng 1 nối vào. Đó là một chiến lược thật sự khác, không phải một phép tinh chỉnh của chiến lược này.
Thiết lập vào lệnh, thoát lệnh và tham số của RSI
Dưới đây là mọi giá trị mà công thức này mở ra, và việc dịch chuyển nó thật sự làm gì.
| Thiết lập | Giá trị của mẫu | Đổi nó thì có gì xảy ra |
|---|---|---|
period của RSI | 14 | Ngắn hơn thì phản ứng nhanh hơn và bắn nhiều hơn hẳn; dài hơn thì mượt hơn và hiếm khi bắn. Nó đổi số lệnh nhiều hơn là đổi tỷ lệ thắng |
| Ngưỡng quá bán | 30 | Thấp hơn thì chặt hơn — ít lệnh hơn, vào sâu hơn. Bản sắc của mẫu nằm ở đây |
| Ngưỡng quá mua | 70 | Bản đối xứng của dòng trên ở phía bán |
shift | 0 | Đặt thành 1 để chỉ quyết định trên nến đã đóng. Trên M5, đây là khác biệt giữa vài quyết định mỗi giờ và hàng trăm |
| Cắt lỗ | 50 pip (mặc định dùng chung) | Dải đã dò là 20–50 |
| Chốt lời | 100 pip (mặc định dùng chung) | Dải đã dò là 20–100 |
| Khối lượng lot | 0,01 cố định | Không phải một thiết lập chiến lược; nó phóng đại mọi thứ chiến lược làm, kể cả các khoản lỗ |
Câu hỏi về độ nhạy mà ai cũng hỏi, trả lời thẳng thắn. “Có nên nới 30/70 thành 20/80 không?” là điều đầu tiên mà mọi bài hướng dẫn RSI gợi ý, và trang này không trả lời được, bởi cuộc dò được ghi lại trên mẫu này chưa bao giờ đổi các ngưỡng. Thứ nó đổi là mức cắt lỗ và mục tiêu — SL20-50 × TP20-100, 12 tổ hợp trên ba cửa sổ ở khung H1 — và phán quyết là no_robust_edge với hệ số lợi nhuận trong mẫu tốt nhất là 0,91. Vậy nên ở đây các ngưỡng vẫn là một giả thuyết chưa được kiểm thử, còn những thiết lập đã được kiểm thử thì không nâng nổi thiết kế này lên điểm hòa vốn từ bất kỳ hướng nào. Ai đó nêu cho bạn một ngưỡng RSI “tốt nhất” là đang nêu một niềm tin.
Backtest EA RSI
Đây là chính bản ghi đã đo của Builder cho mẫu này, không phải một lần chạy lại. Mọi mẫu trong phần so sánh dưới đây đều dùng chung đúng một bộ điều kiện nằm ở bảng ngay sau nó. Cách chúng tôi kiểm thử nêu tiêu chuẩn mà các bản ghi đó phải chịu.
Tham chiếu rsi_reversal | Giá trị |
|---|---|
| Hệ số lợi nhuận | 0,94 |
| Số lệnh | 682 |
| Sụt giảm tối đa | -0,97% |
| Lãi ròng | -51,37 |
| Bị manifest gắn cờ yếu | có |
| Được liệt kê là recommended trong thư viện | có |
| Vượt ngưỡng đạt của chính bảng Measure | không |
| Điều kiện kiểm thử | |
|---|---|
| ID thí nghiệm | EXP-RSI-RECIPE-BASELINE-001 |
| Thí nghiệm gốc | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Cặp / khung thời gian | USDJPYm M5 |
| Giai đoạn | 2025-06-01 – 2026-06-09 |
| Mô hình | M1 OHLC (Model=1) |
| Tiền nạp | 10,000 |
| Môi trường | Exness MT5 |
| Tham chiếu đo ngày | 2026-06-18 |
| Kiểm chứng lần cuối | 2026-08-25 |
Hãy đọc bảng đó với hai dòng cuối đặt cạnh nhau. Thư viện đánh dấu mẫu này là recommended còn manifest đánh dấu nó là yếu, và cả hai cờ đều đúng về hai chuyện khác nhau: nó là một ví dụ sạch sẽ, đúng khuôn của mô hình ấy, và nó thua lỗ. Trong 53 mẫu mang một tham chiếu đã đo, 40 mẫu được đánh dấu recommended và cả 53 mẫu đều bị gắn cờ yếu. “Recommended” là một phát biểu về cách đấu nối, không bao giờ là về lợi thế.
RSI đứng ở đâu giữa những hàng xóm của nó. Tám thiết kế này đều được đo dưới đúng một khối điều kiện ở trên, và đó là lý do duy nhất khiến việc xếp chúng cạnh nhau là công bằng:
| Mẫu | Số khối | Hệ số lợi nhuận | Sụt giảm | Số lệnh |
|---|---|---|---|---|
ma_distance_pullback | 6 | 1,10 | -0,26% | 159 |
envelope_reversal | 10 | 0,95 | -1,16% | 989 |
cci_level | 7 | 0,95 | -0,94% | 789 |
rsi_reversal | 8 | 0,94 | -0,97% | 682 |
bb_bounce | 9 | 0,92 | -0,98% | 616 |
stoch_bb | 14 | 0,90 | -1,41% | 888 |
hl_range_reversal | 8 | 0,90 | -1,33% | 573 |
mfi_stddev_revert | 12 | 0,80 | -1,66% | 362 |
Đúng một mẫu vượt được 1,0, và đó là mẫu không chống lại xu hướng. ma_distance_pullback mua một nhịp điều chỉnh trong khi xu hướng vẫn còn nguyên. Đó là hồi quy về trung bình bên trong một hướng đi chứ không phải ngược lại nó. Nó cũng là thiết kế nhỏ nhất trong nhóm, chỉ sáu khối. Mọi mẫu thuần “giá đi quá xa nên sẽ đảo chiều”, kể cả RSI, đều đóng dưới điểm hòa vốn.
Đó là lập luận mạnh nhất trên trang này cho việc đặt một bộ lọc xu hướng trước một điểm vào lệnh RSI. Nhưng giới hạn của nó cũng đáng nói thẳng ra. Nó chỉ vào 159 lệnh so với 682 lệnh của RSI, nên nó đã mua kết quả ấy bằng tính chọn lọc — và một phần tư mẫu là một tuyên bố yếu hơn, không phải mạnh hơn.
Những lỗi thường gặp cần tránh
Đọc “quá bán” thành “sắp đảo chiều”. Đây là kiểu hỏng đặc trưng của chỉ báo này, và nó là lý do các mẫu đảo chiều thuần túy đều túm tụm dưới 1,0. Trong một nhịp đi kéo dài, RSI nằm ghim ở một cực trị rất lâu và quy tắc cứ bắn đi bắn lại vào một xu hướng chưa hề kết thúc. Mức cắt lỗ mới là thứ kết thúc từng lệnh trong số đó, và đó là lý do nới rộng nó làm thiết kế này tệ đi chứ không an toàn hơn.
Biên dịch mẫu rồi coi như xong. Nó mang huy hiệu recommended và một bản ghi thua lỗ cùng lúc. Huy hiệu ấy nói về cách đấu nối.
Tinh chỉnh cho tới khi backtest trông đẹp. Cuộc dò được ghi lại ở đây đã làm đúng chuyện đó một cách trung thực — 12 tổ hợp, ba cửa sổ — và báo về no_robust_edge. Nếu phép tinh chỉnh của chính bạn cho ra một kết quả thắng ở nơi một cuộc dò có hệ thống đã không tìm ra, hãy nghi ngờ phép tinh chỉnh trước khi tin vào kết quả thắng. Đó chính là hình dáng của tối ưu hóa quá mức khi nhìn từ bên trong.
Thêm cặp để làm mượt đường cong vốn. Rổ hai cặp nằm ngay trong bảng ở trên: sụt giảm gấp 37 lần bản một cặp.
Tin một kết quả M5 dựng trên các cây nến nội suy. Tham chiếu này dùng mô hình M1 OHLC, nên chuyển động bên trong nến là mô phỏng chứ không phải thật. Với một quy tắc giao dịch trong ngày, đó là đầu thô của vùng đáng tin — hãy chạy lại bất cứ thứ gì có triển vọng trên dữ liệu tick thật trong chính trình kiểm thử của MT5.
Chạy nó cạnh một EA khác mà không tách chúng ra. Mỗi EA trên cùng một tài khoản cần magic number riêng, nếu không logic thoát lệnh của EA này sẽ đóng vị thế của EA kia.
Bước tiếp theo và các biến thể
Khi nào thì đừng dùng RSI chút nào. Trong một thị trường có xu hướng mạnh, một cú đảo chiều RSI không lọc là một cỗ máy bán vào sức mạnh và mua vào sự yếu ớt. Nếu bạn không phát biểu nổi một điều kiện tắt quy tắc đó đi trong lúc có xu hướng, thì các lựa chọn trung thực là dùng một bộ lọc xu hướng hoặc dùng một ý tưởng khác — hồi quy về trung bình giải thích họ chiến lược này cần điều kiện thị trường nào, và phải trả giá bao nhiêu khi những điều kiện đó vắng mặt.
Các biến thể đáng thử, xếp theo mức độ bằng chứng. Hãy thêm một bộ lọc hướng ở khung thời gian cao hơn trước tiên, bởi thiết kế duy nhất trong nhóm vượt được 1,0 chính là thiết kế đòi hỏi xu hướng còn nguyên — thiết lập timeframe của chính khối RSI làm được điều này mà không cần một dòng code. Rồi hãy thử khối điều kiện RSI Divergence, thứ đặt ra một câu hỏi khác và chặt hơn hẳn một cú cắt ngưỡng. Chỉ sau đó mới động vào các ngưỡng, và mỗi lần chỉ đổi một cái.
Rồi kiểm thử nó cho tử tế. Bảng Measure là một bộ lọc, không phải một phán quyết: nó ở mức cây nến và chỉ gần đúng. Cách chạy backtest trong MT5 đi hết một lần chạy thật từ đầu tới cuối, kể cả chuyện trong hai con số sụt giảm của báo cáo thì nên tin con số nào, còn phần còn lại của các hướng dẫn backtesting bao quát các bước tối ưu hóa và walk-forward đến sau đó. Cách tạo EA MACD trong MT5 không cần lập trình là công thức anh em với kiểu hỏng ngược lại — cuộc tìm kiếm của nó đã thực sự tìm ra một thiết lập thắng ngoài mẫu, và đó là kết quả nguy hiểm hơn cả việc chẳng tìm ra gì. Cách tạo EA MT5 không cần lập trình là chuyến đi rộng hơn qua bộ từ vựng khối, nếu công thức này là luồng đầu tiên của bạn.
Và nếu bạn muốn xem một bản ghi có tài liệu trông ra sao, mỗi EA đã công bố đều mang theo một danh sách lệnh đã đóng đầy đủ và một manifest chạy. Đối chiếu một trong số đó với bảng ở trên là cách nhanh nhất để hiệu chỉnh xem “đã đo” nên có nghĩa là gì, trước khi bạn tin bất kỳ chiến lược nào, kể cả chiến lược của chính bạn.