MQL5 Free EA – ການກວດສອບໂດຍ backtesting 24 "Moving Average Crossover"
ในซีรีส์ “การยืนยันโดยการทดสอบย้อนหลัง" เราจะตรวจสอบประสิทธิภาพของ EA ฟรีที่ลงทะเบียนในชุมชน MQL5 จากผลการทดสอบย้อนหลัง เราหวังว่ามันจะช่วยคุณเลือก EA
* จําเป็นต้องลงทะเบียนสมาชิก (ฟรี) เพื่อดาวน์โหลด EA และตัวบ่งชี้จากชุมชน MQL5 ดังนั้นเรามาสร้างบัญชีโดยอ้างถึง บทความนี้!
รุ่นที่ 24 คือ “Moving Average Crossover“
เกี่ยวกับ Moving Average Crossover
EA นี้ดูเหมือนจะเป็นการทดสอบทดลอง EA และไม่สามารถคาดหวังผลลัพธ์ที่ดีได้เว้นแต่การลดขนาดจะประสบความสําเร็จ ดังนั้นฉันอยากจะใช้โอกาสนี้เพื่อแนะนําหนึ่งในวิธีการเพิ่มประสิทธิภาพ “Forward optimization"
อ้างจากหน้าอย่างเป็นทางการของ MQL5 (แปล)
หุ่นยนต์นี้ทํางานร่วมกับการข้ามค่าเฉลี่ยเคลื่อนที่ ค่าเฉลี่ยเคลื่อนที่ส่วนใหญ่จะใช้เพื่อติดตามแนวโน้มกลยุทธ์ในการข้ามค่าเฉลี่ยเคลื่อนที่มีวัตถุประสงค์หลักในการใช้ประโยชน์จากการเคลื่อนไหวขาขึ้นและขาลงขนาดใหญ่
พารามิเตอร์ทั้งหมดสามารถแก้ไขได้และใช้งานง่ายนี่เป็นโครงการทดลอง
การซื้อขาย “Moving Avarage Crossover"
ตรรกะของ EA นี้ง่ายมาก: ป้อนด้วยค่าเฉลี่ยเคลื่อนที่สองตัว (ระยะสั้นและระยะยาว) และออกด้วยค่า Take Profit / Stop Loss (TP / SL) ที่ตั้งไว้
- Golden cross (สัญญาณซื้อ): เมื่อค่าเฉลี่ยเคลื่อนที่ระยะสั้นข้ามจากล่างขึ้นบน (ข้าม) ค่าเฉลี่ยเคลื่อนที่ระยะยาว
- Dead cross (สัญญาณขาย): เมื่อค่าเฉลี่ยเคลื่อนที่ระยะสั้นทะลุจากบนลงล่าง (ข้าม) ค่าเฉลี่ยเคลื่อนที่ระยะยาว
อย่างไรก็ตามเนื่องจากดูเหมือนจะไม่มีฟังก์ชั่นในการปิดการซื้อขายบนสัญญาณตรงกันข้าม (ข้าม) เราจึงจําเป็นต้องเพิ่มประสิทธิภาพ TP / SL เช่นกัน
วิธีการเพิ่มประสิทธิภาพ (Forward optimization)
เพื่อที่จะใช้วิธีการเพิ่มประสิทธิภาพที่แนะนําในครั้งนี้จําเป็นต้องเข้าใจลักษณะของ EA ในระดับหนึ่ง นอกจากนี้โปรดทราบว่ามีข้อกําหนดเบื้องต้นบางประการ
- มีพารามิเตอร์ที่ปรับเปลี่ยนได้หลายตัวและการเปลี่ยนค่าตัวเลขโดยพื้นฐานแล้วจะไม่เปลี่ยนตรรกะ
- เมื่อเพิ่มประสิทธิภาพเราต้องการทําการทดสอบย้อนหลังด้วย “ราคาเปิดเท่านั้น" ดังนั้นจึงเป็นที่พึงปรารถนาที่ EA ไม่มีฟังก์ชั่นเช่นการต่อท้าย
ไม่มีอะไรที่ไม่สามารถทําได้แม้จะมี “เห็บทั้งหมด" แต่มันเป็นเรื่องยากตามความเป็นจริงเพราะต้องใช้เวลาในการทดสอบ - ในแง่เดียวกันเป็นที่พึงปรารถนาที่การทดสอบย้อนหลังของ EA นั้นรวดเร็ว
การเริ่มเครื่องมือทดสอบกลยุทธ์
ขั้นแรกให้เปิดตัวทดสอบกลยุทธ์จากเมนู MT5 และเลือก “Forward optimization"
การกําหนดค่า Strategy Tester
- คู่สกุลเงิน: EURUSD #
- กรอบเวลา: H1 * เวลานี้ขึ้นอยู่กับผลการทดสอบเบื้องต้น EURUSD และ H1
- ระยะเวลา: 2013.01.01- 2022.12. 31
- การตั้งค่าระยะเวลาไปข้างหน้า: 1/2 (สามารถเปลี่ยนแปลงได้ตามต้องการ)
* เนื่องจากระยะเวลาการทดสอบถูกตั้งค่าเป็น 2013.01.01 – 2022.12.31 ระยะเวลาการเพิ่มประสิทธิภาพคือ 1/2 ของครึ่งแรก (2013.01.01 – 2017.12.31) และครึ่งหลัง 1/2 (2018.01.01 – 2022.12.31) เป็นช่วงเวลาไปข้างหน้า (ทดสอบตามผลการเพิ่มประสิทธิภาพ) - ข้อมูลในอดีตที่จะใช้: ราคาเปิดเท่านั้น
- วิธีการเพิ่มประสิทธิภาพ: อัลกอริทึมทางพันธุกรรม
- การจัดอันดับการเพิ่มประสิทธิภาพ: คําสั่ง
Profit Factor * ในกรณีนี้เราใช้ Profit Factor max แต่ตัวชี้วัดอื่น ๆ อาจดีกว่า
การตั้งค่าพารามิเตอร์
- พารามิเตอร์ EA มีดังนี้:
- ล็อต: ล็อต
- TakeProfit: ทํากําไร
- stoploss: หยุดการสูญเสีย
- SlowAverage_MediaLenta: ระยะเวลาของค่าเฉลี่ยเคลื่อนที่ระยะยาว
- FastAverage_MediaRapida: ระยะเวลาค่าเฉลี่ยเคลื่อนที่ระยะสั้น MetodoMM_Slow_Lenta: ประเภทของค่าเฉลี่ยเคลื่อนที่ระยะยาว
- MetodoMM_Fast_Rapida: ประเภทของค่าเฉลี่ยเคลื่อนที่ระยะสั้น
- คราวนี้เราจะเพิ่มประสิทธิภาพสี่รายการเหล่านี้: ทํากําไรหยุดขาดทุนและระยะเวลาของค่าเฉลี่ยเคลื่อนที่ระยะยาวและระยะสั้น
ป้อนหมายเลขใน Start-Step-Stop เพื่อให้พารามิเตอร์ได้รับการปรับให้เหมาะสม ฉันคิดว่าช่วงของค่าอินพุตดีกว่าด้วยค่าที่ไม่เบี่ยงเบนมากเกินไปเมื่อพิจารณาถึงวิธีการซื้อขาย
ในตัวอย่างการทํากําไรในตารางด้านบนหมายถึงการทดสอบย้อนหลังโดยการเปลี่ยนพารามิเตอร์ทีละตัว (5, 6, 7, 8,…, 249, 250) จาก 5 ~ 250
มีชุดค่าผสมกําไร 246 ชุด หยุดขาดทุน 97 รายการ และระยะเวลาเฉลี่ยเคลื่อนที่ระยะยาวและระยะสั้น 226 และ 71 ครั้ง รวมเป็น 246 x 97 x 226 x 71 = 382,889,562
อย่างไรก็ตามแทนที่จะใช้การทดสอบย้อนหลังทั้งหมดประมาณ 400 ล้านครั้งเราใช้อัลกอริธึมทางพันธุกรรมเพื่อรวมไว้ในเงื่อนไขที่มีประสิทธิภาพดีและ จํากัด จํานวนครั้ง
ทําการทดสอบย้อนหลัง
เมื่อคุณกดปุ่ม “เริ่ม" ที่มุมล่างขวาระยะเวลาการเพิ่มประสิทธิภาพจะถูกทดสอบย้อนกลับก่อน หลังจากนั้นการทดสอบระยะเวลาไปข้างหน้าจะเริ่มขึ้นโดยอัตโนมัติ
- ระยะเวลาการเพิ่มประสิทธิภาพ: 2013.01.01 – 2017.12.31
เนื่องจากเรากําลังคัดกรองด้วย Profit Factor max พล็อตที่มีสีเขียวเข้มบ่งบอกถึงปัจจัยกําไรที่สูงขึ้นและประสิทธิภาพที่ดีขึ้น
- ระยะเวลาไปข้างหน้า: 2018.01.01 – 2022.12.31
การทดสอบระยะเวลาไปข้างหน้าได้รับการทดสอบโดยใช้พารามิเตอร์ที่ปรับให้เหมาะสมในการทดสอบย้อนหลังที่อธิบายไว้ข้างต้น
Backtest (การเพิ่มประสิทธิภาพ) และผลการทดสอบไปข้างหน้า
- หากคุณมีสัญชาตญาณที่ดีคุณอาจสังเกตเห็นได้เพียงแค่ดูที่รูปด้านบน
นี่คือผลลัพธ์ของการเรียงลําดับปัจจัยกําไรของ backtest (กรอบสีน้ําเงิน) ตามลําดับจากมากไปหาน้อย ตัวเลขในกรอบสีแดงทางด้านซ้ายคือผลลัพธ์เมื่อดําเนินการไปข้างหน้า (เสมือน) ด้วยการตั้งค่าพารามิเตอร์เดียวกันกับการทดสอบย้อนกลับ
แม้ว่าคุณจะทํางานได้ดีในการทดสอบย้อนกลับ (ระยะเวลาการเพิ่มประสิทธิภาพ) คุณจะเห็นว่ามันติดลบอย่างสมบูรณ์ในการทดสอบไปข้างหน้าที่ตามมา
การทดสอบย้อนหลังด้วยพารามิเตอร์ที่ปรับให้เหมาะสม
เส้นโค้งกําไรและขาดทุนมีดังนี้:
ระยะเวลาการเพิ่มประสิทธิภาพ: 2013.01.01 – 2017.12.31
ระยะเวลาไปข้างหน้า: 2018.01.01 – 2022.12.31
- มันยากที่จะเชื่อว่ากราฟได้รับการทดสอบด้วยพารามิเตอร์เดียวกัน แต่นี่คือความจริง
ระยะเวลาการเพิ่มประสิทธิภาพและระยะเวลาไปข้างหน้าเงื่อนไขสําหรับทั้งสองฝ่ายคืออะไร?
ผลลัพธ์ไม่ค่อยดีนัก แต่อยู่ในผลลัพธ์การเพิ่มประสิทธิภาพ
หากการดําเนินการเริ่มต้นในวันที่ 2018.01.01 ฉันไม่คิดว่าพารามิเตอร์ข้างต้นจะได้รับการคัดเลือก แต่ถ้าได้รับเลือกอาจกล่าวได้ว่าเป็นบวกหลังจากนั้น อย่างไรก็ตามเราไม่สามารถรับประกันได้ว่าผลลัพธ์เดียวกันจะเกิดขึ้นในอนาคต มันเป็นสิ่งสําคัญในการกําหนดผลการเพิ่มประสิทธิภาพ
สําหรับการเพิ่มประสิทธิภาพไปข้างหน้าเป็นความคิดที่ดีที่จะเชี่ยวชาญเป็นหนึ่งในเทคนิค!