What are the Risks of Over-Optimizing an MT4 Expert Advisor

Sức mạnh của việc tối ưu hóa là nó cho phép bạn thử nghiệm hàng trăm cài đặt tham số có thể có để tìm ra cài đặt có lợi nhất. Tuy nhiên, giống như tất cả những thứ quyền lực, nó cũng có thể bị lạm dụng. Giống như đòn bẩy, nếu được kiểm soát chặt chẽ, tối ưu hóa có khả năng nâng cao chiến lược và mang lại lợi nhuận cao, nếu không nó có thể phá hủy chiến lược và tài khoản của một người.


Trong quá trình tìm kiếm thông số tốt nhất, rất dễ khớp dữ liệu với lịch sử, từ đó thu được ảo tưởng về “lợi nhuận khổng lồ” chỉ có giá trị cho lịch sử. Điều này được gọi là tối ưu hóa quá mức và việc thực hiện điều này dễ dàng đến mức gần như không thể tránh khỏi. Tìm hiểu trong bài viết này những rủi ro khi tối ưu hóa quá mức MT4 Expert Advisor (EA) của bạn và cách tránh những lừa dối nguy hiểm khi tối ưu hóa quá mức.


Tối ưu hóa quá mức việc tự lừa dối bản thân có thể nguy hiểm. Nó tạo ra lợi nhuận EA giả tạo, khuyến khích lòng tham bên trong của chúng ta muốn thử EA "không tưởng" của chúng ta trên một tài khoản thật - từ đó khiến tài khoản của chúng ta phải hứng chịu ngọn lửa của một hệ thống thực sự khủng khiếp có thể đốt cháy nó.


Sẽ thật ngu ngốc nếu từ bỏ việc tối ưu hóa vì chúng ta sẽ bỏ lỡ cơ hội tìm ra cài đặt tham số tốt nhất cho chiến lược có khả năng sinh lời và có thể bị mắc kẹt trong cài đặt tham số tùy ý. Tuy nhiên, rất dễ vượt quá giới hạn để tối ưu hóa quá mức và hậu quả nguy hiểm của nó. Làm thế nào để chúng ta tìm thấy ý nghĩa vàng?


Chỉ vì chúng tôi phát hiện ra thứ gì đó có khả năng bẩn trong quá trình tối ưu hóa không có nghĩa là chúng tôi phải vứt em bé cùng với nước tắm. Việc tối ưu hóa đáng được theo đuổi miễn là các bước được thực hiện để giảm nguy cơ tối ưu hóa quá mức.


Năm bước bạn có thể thực hiện để giảm thiểu việc tối ưu hóa quá mức:


Bước #1 : Tối ưu hóa càng ít thông số càng tốt.

Không thêm các kết hợp quy tắc không cần thiết (Chỉ báo, tín hiệu, Thoát và bộ lọc). Với mỗi quy tắc bổ sung mà bạn thêm vào chiến lược của mình, bạn sẽ tăng khả năng điều chỉnh đường cong chiến lược cho phù hợp với dữ liệu lịch sử.


Bước #2: Các thông số tối ưu để phát hiện cũng phải mang lại lợi nhuận.

Bất cứ khi nào bạn tối ưu hóa các thông số để tìm ra những thông số có lợi nhuận, hãy đảm bảo rằng các thông số xung quanh cũng mang lại lợi nhuận. Nếu độ dài tối ưu của chỉ báo là 18, hãy đảm bảo rằng các tham số xung quanh bên dưới (15, 16,17) trở lên (19, 20, 21) cũng có lãi. Nếu bất kỳ tham số nào ở hai bên của giá trị tối ưu không mang lại lợi nhuận thì đây sẽ là cảnh báo đỏ.


Bước 3: Tối ưu hóa các tập dữ liệu lớn (lịch sử, thanh và giao dịch).

Lịch sử bạn tối ưu hóa càng nhỏ thì việc điều chỉnh đường cong sẽ càng dễ dàng hơn. Việc điều chỉnh đường cong phù hợp với phạm vi thời gian lớn hơn mà bạn đang tối ưu hóa cũng dễ dàng hơn nhiều. Nói chung, phạm vi thời gian càng lớn thì bạn càng phải tối ưu hóa nhiều lịch sử hơn vì bạn cần nhiều lịch sử hơn để có được kích thước mẫu cột đáng tin cậy. Khung thời gian càng nhỏ, bạn càng phải xử lý ít lịch sử hơn vì bạn có nhiều thanh hơn. Tuy nhiên, bạn vẫn cần biết một số lịch sử vì lịch sử cho thấy những hành vi khác nhau trên thị trường.


Bước #4: Nên áp dụng các tham số tối ưu cho dữ liệu ngoài mẫu (chuyển tiếp).

Các tham số tối ưu có áp dụng cho dữ liệu ngoài mẫu, tức là dữ liệu từ một khoảng thời gian không trùng lặp khác không?


Khi bạn đang thử nghiệm một hệ thống dựa trên dữ liệu lịch sử, việc "lưu" một khoảng thời gian nào đó của dữ liệu lịch sử sẽ được sử dụng cho các mục đích thử nghiệm khác luôn hữu ích. Nói chung, có hai loại dữ liệu: dữ liệu trong mẫu và dữ liệu ngoài mẫu. Dữ liệu trong mẫu là dữ liệu ban đầu được sử dụng để thử nghiệm và tối ưu hóa; dữ liệu ngoài mẫu là dữ liệu đã được lưu. Việc lưu dữ liệu để thử nghiệm thêm là điều quan trọng đối với quá trình đánh giá.


Do đó, bạn cung cấp cho mình những dữ liệu chưa được sử dụng trong mô hình tối ưu hóa trước đây. Do đó, dữ liệu ngoài mẫu sẽ không ảnh hưởng đến hệ thống của bạn và bạn sẽ có thể hiểu được hiệu suất thực sự của hệ thống giao dịch của mình. Tóm lại, bạn sẽ thấy hệ thống của mình hoạt động như thế nào trong giao dịch thực tế.


Trước khi bắt đầu bất kỳ hoạt động tối ưu hóa hoặc thử nghiệm ngược nào, bạn nên lưu một số dữ liệu lịch sử sẽ được sử dụng cho thử nghiệm ngoài mẫu. Ví dụ: bạn có thể chia dữ liệu lịch sử thành ba phần và để lại một phần để thử nghiệm ngoài mẫu.


Sau đó, bạn chỉ nên sử dụng hai phần còn lại của dữ liệu lịch sử (dữ liệu trong mẫu) để thử nghiệm và tối ưu hóa ban đầu. Như có thể thấy trong Hình 1, một phần ba dữ liệu lịch sử trên dòng thời gian được dành riêng cho thử nghiệm ngoài mẫu và hai phần còn lại được sử dụng làm dữ liệu trong mẫu cho thử nghiệm ban đầu.


Ví dụ: bạn có thể kiểm tra hệ thống của mình trên dữ liệu từ năm 2000-2008, đây sẽ là lịch sử mẫu kiểm soát của bạn và sau đó khi bạn tìm thấy thông số tốt nhất, bạn có thể kiểm tra chúng trên tập lịch sử "tiến lên" từ năm 2008-2010. Nếu các tham số tối ưu của bạn hoạt động kém trên dữ liệu ngoài mẫu, điều này có nghĩa là nó được tối ưu hóa quá mức.


Thứ tự dữ liệu được đặt trên dòng không điển hình lắm: thông thường, dữ liệu ngoài mẫu không ở đầu dòng kiểm tra, nhưng trước khi thực hiện chuyển tiếp.


Sau khi kiểm tra hệ thống của mình trên dữ liệu trong mẫu, bạn có thể tiếp tục quy trình và áp dụng hệ thống cho dữ liệu ngoài mẫu. Điều này được thực hiện để mang đến cho bạn cơ hội so sánh kết quả hiệu suất hệ thống đối với dữ liệu trong mẫu và ngoài mẫu.


Tương quan là quá trình tìm kiếm sự tương đồng giữa xu hướng và hành vi của dữ liệu trong và ngoài mẫu. Hầu hết tất cả các nền tảng giao dịch đều cho phép bạn so sánh các báo cáo được tạo trong quá trình thử nghiệm hiệu suất hệ thống. Nếu mối tương quan giữa các tập dữ liệu cao thì chiến lược của bạn có khả năng thành công và cho kết quả tốt trong cả thử nghiệm hiệu suất kỳ hạn và giao dịch trực tiếp.


Nếu mối tương quan giữa hai bộ dữ liệu không rõ ràng, như trong hình bên trái, hệ thống có thể bị lỗi khi giao dịch theo thời gian thực do hoạt động bình thường được tối ưu hóa quá mức. Nếu mối tương quan mạnh (ảnh bên phải), bạn có thể tiếp tục và thực hiện một thử nghiệm bổ sung được gọi là thử nghiệm hiệu suất chuyển tiếp.


Bước 5: Nên áp dụng các tham số tối ưu cho dữ liệu hiệu suất chuyển tiếp.

Kiểm tra hiệu suất chuyển tiếp là một công cụ khác để kiểm tra hiệu suất hệ thống. Tập hợp dữ liệu ngoài mẫu này thường được gọi là giao dịch trên giấy vì tất cả các hoạt động được thực hiện "ảo". Trong quá trình thử nghiệm hiệu suất kỳ hạn, một tình huống có thể xảy ra trên thị trường trực tiếp sẽ được mô phỏng và hệ thống hoạt động theo các thông số và logic của nó, giống như giao dịch trực tiếp. Điều này có nghĩa là ghi lại mọi khoản lãi, lỗ, lệnh vào và lệnh thoát nhưng không thực hiện bất kỳ hoạt động thực tế nào.


Hãy nhớ: Điều quan trọng là phải tuân theo logic hệ thống càng chính xác càng tốt, nếu không bạn sẽ không thể đánh giá kết quả kiểm tra hiệu suất tiếp theo. Bạn nên chỉ định một cách trung thực tất cả các mục nhập và thoát giao dịch mà không có bất kỳ ngoại lệ hoặc giải thích nào. Chỉ trong trường hợp này bạn mới có thể đánh giá hệ thống một cách chính xác.


Nhiều nhà môi giới có tùy chọn mở tài khoản giao dịch ảo mà bạn có thể sử dụng để thực hành: mở giao dịch, tính toán lãi lỗ, v.v. Tài khoản này cho phép bạn kiểm tra hệ thống của mình mà không có nguy cơ mất tiền thật.


Nếu có mối tương quan tốt giữa tất cả các tập dữ liệu, hệ thống của bạn có thể sử dụng nó cho mục đích thực tế Giao dịch.