ฟังก์ชันความเหมาะสมที่กำหนดเองสำหรับการปรับให้เหมาะสมที่สุด
การปรับให้เหมาะสมที่สุดของ cBot เป็นกระบวนการกำหนดค่าพารามิเตอร์ที่ดีที่สุดที่เป็นไปได้สำหรับ cBot ก่อนที่จะนำไปใช้ในการเทรดจริง ใน cTrader คุณสามารถปรับให้เหมาะสมที่สุดของ cBot กับเกณฑ์ในตัวที่หลากหลาย เช่น การเพิ่มกำไรสูงสุดหรือลด Drawdown อิควิตี้ให้น้อยที่สุด อย่างไรก็ตาม คุณยังสามารถเขียนฟังก์ชันความเหมาะสมของคุณเองสำหรับการปรับให้เหมาะสมที่สุด ซึ่งอาจเป็นประโยชน์หากคุณต้องการใช้เกณฑ์ประสิทธิภาพที่กำหนดเองกับ cBot ในบทความนี้และวิดีโอที่เกี่ยวข้อง เราจะพูดถึงวิธีการทำงานของฟังก์ชันความเหมาะสมที่กำหนดเอง
โปรดทราบว่าบทความนี้ไม่ครอบคลุมกระบวนการ การปรับให้เหมาะสมที่สุดของ cBot โดยใช้เกณฑ์ในตัว
กำหนดฟังก์ชันความเหมาะสมที่กำหนดเอง
ฟังก์ชันความเหมาะสมที่กำหนดเองเป็นเพียงการโอเวอร์ไรด์เมธอด GetFitness()
1 2 3 4 | |
การโอเวอร์ไรด์ต้องยอมรับอาร์กิวเมนต์เดียวของประเภท GetFitness args เพื่อให้นับเป็นฟังก์ชันความเหมาะสมที่กำหนดเอง
เขียนฟังก์ชันความเหมาะสมที่กำหนดเอง
เนื่องจากเมธอด GetFitness() ต้องส่งคืนค่า double เนื้อหาของเมธอดควรมีการคำนวณที่ส่งผลลัพธ์เป็นค่าประเภทนี้
ตัวอย่างเช่น เราสามารถเขียนฟังก์ชันความเหมาะสมที่กำหนดเองอย่างง่ายที่ยกกำลังสองจำนวนรวมของการเทรดที่ชนะที่ทำโดย cBot แล้วหารค่านี้ด้วยมูลค่ารวมของการเทรดที่แพ้ ด้วยวิธีนี้ เราจะให้น้ำหนักมากขึ้นกับการเทรดที่ชนะและในแง่หนึ่ง อนุญาตให้ cBot ที่ปรับให้เหมาะสมที่สุดทำการเล่นที่มีความเสี่ยงบางอย่าง
นี่คือลักษณะของฟังก์ชันความเหมาะสมของเรา
1 2 3 4 | |
ณ จุดนี้ เราสามารถเพิ่มการโอเวอร์ไรด์ให้กับ cBot ใดก็ได้ที่เราต้องการ จากนั้นบันทึกและสร้างมัน
ใช้ฟังก์ชันความเหมาะสมที่กำหนดเองในการปรับให้เหมาะสมที่สุด
หลังจากเพิ่มฟังก์ชันของเรา เราต้องเพิ่มอินสแตนซ์ของ cBot ที่เราเลือกแล้วสลับไปที่แท็บ Backtesting เพื่อดำเนินการปรับให้เหมาะสมที่สุดโดยใช้ฟังก์ชันที่กำหนดเองของเรา สิ่งที่เราต้องทำคือเปิดส่วน เกณฑ์การปรับให้เหมาะสมที่สุด และเลือกตัวเลือก กำหนดเอง หลังจากนั้น เราสามารถรันการปรับให้เหมาะสมที่สุดได้ตามปกติ
ระหว่างการปรับให้เหมาะสมที่สุด คะแนนความเหมาะสมที่สูงขึ้นจะถูกจัดสรรให้กับการผ่านที่ cBot ได้เพิ่มอัตราส่วนระหว่างจำนวนการเทรดที่ชนะยกกำลังสองและจำนวนการเทรดที่แพ้ให้สูงสุด
แก้ไขฟังก์ชันความเหมาะสมที่กำหนดเอง
เรายังสามารถกลับไปที่ฟังก์ชันที่กำหนดเองของเราและแก้ไขดังนี้
1 2 3 4 5 6 7 8 9 10 11 | |
ฟังก์ชันนี้ยังคงใช้อัลกอริทึมก่อนหน้านี้ แต่จะใช้การคำนวณที่กำหนดเองเฉพาะเมื่อมีการวางการเทรดมากกว่า 20 ครั้งโดย cBot เท่านั้น ในกรณีอื่นๆ ฟังก์ชันจะส่งคืนค่า double ที่ต่ำที่สุดที่เป็นไปได้ ในทางทฤษฎี สิ่งนี้ควรปรับปรุงผลลัพธ์โดยลดความเป็นไปได้ของอคติทางสถิติ
หากเราสร้าง bot ใหม่และรันการปรับให้เหมาะสมที่สุดอีกครั้ง เราควรเห็นการผ่านหลายครั้งได้คะแนนความเหมาะสมต่ำมากเนื่องจากจำนวนการเทรดทั้งหมดที่น้อยที่ cBot วางไว้
สุดท้าย เราต้องการลด Drawdown อิควิตี้ให้น้อยที่สุดในขณะที่ยังคงส่งเสริมการเทรดที่กระตือรือร้น
1 2 3 4 5 6 7 8 | |
หากเรารันการปรับให้เหมาะสมที่สุดอีกครั้ง เราควรเห็นการผ่านที่ดีที่สุดที่เป็นไปได้ตามกลยุทธ์การเทรดของเรา
ฟังก์ชันความเหมาะสมที่กำหนดเองให้เครื่องมือที่ยอดเยี่ยมในการกำหนดค่าพารามิเตอร์ที่ดีที่สุดที่เป็นไปได้ที่เหมาะกับวิธีการเทรดที่เป็นเอกลักษณ์ของคุณ