ข้ามไปที่เนื้อหา

วิธีการปรับ cBot ให้เหมาะสมที่สุด

ใน cTrader สามารถสร้าง cBot ที่มีพารามิเตอร์ที่ปรับแต่งได้จำนวนเท่าใดก็ได้ซึ่งส่งผลต่อพฤติกรรมของพวกมัน เช่น ระดับการป้องกันคำสั่งหรือปริมาณคำสั่งเริ่มต้น ซึ่งทำให้เกิดคำถามว่านักเทรดจะสามารถกำหนดค่าที่เหมาะสมที่สุดของพารามิเตอร์เหล่านี้ได้อย่างไร โชคดีที่ cTrader มีเครื่องมือในตัวที่สามารถจัดการการปรับให้เหมาะสมที่สุด ช่วยประหยัดเวลาอันมีค่าของนักเทรด

ในคู่มือผู้ใช้นี้ เราจะเน้นไปที่วิธีที่ผู้ใช้สามารถปรับ cBot ให้เหมาะสมที่สุดและแสดงให้เห็นว่าทำไมการปรับ cBot ให้เหมาะสมที่สุดจึงจำเป็นสำหรับนักพัฒนา Algo ทุกคน

การปรับ cBot ให้เหมาะสมที่สุดทำงานอย่างไร

คิดว่าการปรับให้เหมาะสมที่สุดเป็นชุดของการทดสอบย้อนหลัง การทดสอบย้อนหลังแต่ละครั้งเกิดขึ้นบนข้อมูลเดียวกันแต่ใช้ค่าที่แตกต่างกันสำหรับพารามิเตอร์ใดๆ ที่เขียนโค้ดไว้ใน cBot

พิจารณา cBot ที่สามารถตอบสนองต่อกรณีที่ค่าเฉลี่ยเคลื่อนที่ช่วงเร็วและช้าตัดกัน (ค่าเฉลี่ยเคลื่อนที่เร็วตัดค่าเฉลี่ยเคลื่อนที่ช้า) เราต้องการให้สามารถปรับแต่งจำนวนช่วงเร็วและช้าที่ cBot รับข้อมูล

ดังนั้น cBot ของเราควรมีพารามิเตอร์สองตัวต่อไปนี้

1
2
3
4
5
[Parameter("Slow Periods", Group = "Moving Average", DefaultValue = 10)]
public int SlowPeriods { get; set; }

[Parameter("Fast Periods", Group = "Moving Average", DefaultValue = 5)]
public int FastPeriods { get; set; }

เพื่อกำหนดค่าพารามิเตอร์ที่เหมาะสมที่สุด เราจำเป็นต้องทดสอบอย่างละเอียดว่า cBot ทำงานอย่างไรในสภาวะตลาดต่างๆ และเมื่อได้รับค่าที่แตกต่างกันสำหรับพารามิเตอร์สองตัวข้างต้น หากเราต้องทำการทดสอบเหล่านี้ด้วยตนเอง จะใช้เวลานานโดยไม่ได้ผลลัพธ์ที่ง่ายต่อการตีความ

โชคดีที่เราสามารถให้ cTrader ทำการทดสอบเหล่านี้โดยอัตโนมัติ และเมื่อสิ้นสุดการทดสอบ จะให้ค่าพารามิเตอร์บางค่าที่ช่วยให้ cBot บรรลุผลลัพธ์ที่ดีที่สุดที่เป็นไปได้ กระบวนการนี้เรียกว่าการปรับ cBot ให้เหมาะสมที่สุด

การเข้าถึงการปรับ cBot ให้เหมาะสมที่สุด

ในการเข้าถึงการปรับ cBot ให้เหมาะสมที่สุด ให้ดำเนินการดังต่อไปนี้

ขั้นแรก เลือกอินสแตนซ์ของ cBot ที่คุณต้องการปรับให้เหมาะสมที่สุด หากจำเป็น ให้สร้างอินสแตนซ์ใหม่โดยคลิกที่ไอคอน บวก และเลือกสัญลักษณ์ หรือเลือก เพิ่มอินสแตนซ์ ในเมนูบริบทที่เปิดโดยคลิกที่ไอคอน เพิ่มเติม

หลังจากนั้น สลับไปที่แท็บ การปรับให้เหมาะสมที่สุด ที่อยู่ทางขวาของแท็บ การทดสอบย้อนหลัง หน้าจอกลางในแท็บนี้ควรมีลักษณะดังต่อไปนี้

กำหนดค่าการตั้งค่าการปรับให้เหมาะสมที่สุดและพารามิเตอร์ cBot

เนื่องจากการปรับให้เหมาะสมที่สุดเป็นชุดของการทดสอบย้อนหลัง คุณสามารถกำหนดค่าการตั้งค่าเดียวกันกับที่คุณใช้สำหรับการทดสอบย้อนหลังปกติ ในการทำเช่นนั้น ให้คลิกที่ไอคอน เฟือง และเปลี่ยนค่าในเมนูที่เพิ่งเปิดขึ้น

ในการเลือกพารามิเตอร์ที่แน่นอนที่ cTrader ต้องปรับให้เหมาะสมที่สุด ให้คลิกปุ่ม พารามิเตอร์ ทางขวาของไอคอน เฟือง

ในส่วนย่อยนี้ ให้เปิดหรือปิดสถานะทางซ้ายของชื่อพารามิเตอร์แต่ละตัวเพื่อรวม/ไม่รวมพารามิเตอร์เหล่านี้ในกระบวนการปรับให้เหมาะสมที่สุด โปรดทราบว่าพารามิเตอร์ กรอบเวลา มีอยู่สำหรับ cBot ทั้งหมดโดยไม่คำนึงถึงการกำหนดค่าของพวกมัน

เราต้องการให้การปรับให้เหมาะสมที่สุดกำหนดค่าที่เหมาะสมที่สุดของช่วงช้าและเร็วที่ cBot ของเราจะพิจารณาเมื่อเริ่มต้น อย่างไรก็ตาม เรายังไม่ต้องการลองใช้ประเภทค่าเฉลี่ยเคลื่อนที่อื่นๆ

กำหนดเกณฑ์และอัลกอริทึมการปรับให้เหมาะสมที่สุด

เป็นไปได้ที่จะกำหนดเกณฑ์ที่แน่นอนที่ cTrader จะใช้เพื่อเลือกค่าพารามิเตอร์ที่เหมาะสมที่สุดจากการทดสอบย้อนหลังที่จะดำเนินการ

ในการทำเช่นนั้น ให้คลิกปุ่ม เกณฑ์ ที่แสดงด้วยไอคอนเส้นขึ้น คุณจะเห็นส่วนต่อไปนี้

การตั้งค่าสำหรับแต่ละเกณฑ์ประกอบด้วยเมนูสองรายการ ในเมนูทางซ้าย ให้เลือกว่าควรลดเกณฑ์ให้น้อยที่สุดหรือเพิ่มให้มากที่สุด ในเมนูทางขวา ให้เลือกเกณฑ์ที่ควรลดให้น้อยที่สุดหรือเพิ่มให้มากที่สุดจากชุดตัวเลือกที่กำหนดไว้ล่วงหน้า สามารถเพิ่มเกณฑ์ใหม่ได้โดยคลิกที่ เพิ่มเกณฑ์

ในภาพหน้าจอด้านบน เราต้องการให้ cTrader เพิ่มกำไรสุทธิและจำนวนการเทรดที่ชนะของ cBot ของเราให้มากที่สุด ในขณะเดียวกัน เราต้องการลดเปอร์เซ็นต์ Drawdown อิควิตี้สูงสุดให้น้อยที่สุด

เพื่อความกระชับ บทความนี้ไม่ครอบคลุมเกณฑ์การปรับให้เหมาะสมที่สุดที่กำหนดเองและเมธอด GetFitness() ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ โปรดดูที่ เอกสารทางเทคนิค ของเรา

หากต้องการเลือกอัลกอริทึมการเพิ่มประสิทธิภาพเฉพาะ ให้คลิกปุ่ม อัลกอริทึม ทางด้านขวาของปุ่ม เกณฑ์ ส่วนย่อยต่อไปนี้ควรเปิดขึ้น

อัลกอริทึมการค้นหาแบบละเอียดมีความแม่นยำสูงแต่ใช้ทรัพยากรมาก เมื่อเลือกตัวเลือก กริด cTrader จะสร้างตารางของค่าพารามิเตอร์ที่เป็นไปได้ทั้งหมดและรันการทดสอบย้อนหลังทั้งหมดที่จำเป็นเพื่อทดสอบค่าเหล่านั้น แม้ว่ากระบวนการนี้จะละเอียดถี่ถ้วน แต่อาจใช้เวลาสักครู่

โชคดีที่ cTrader มีตัวเลือก อัลกอริทึมพันธุกรรม อัลกอริทึมนี้จำลองการคัดเลือกตามธรรมชาติโดยพิจารณาแต่ละรอบเป็นบุคคล พารามิเตอร์ของ cBot เป็นยีน และระดับความเหมาะสมกับเกณฑ์การเพิ่มประสิทธิภาพเป็นความสามารถในการปรับตัว อัลกอริทึมพันธุกรรมจะหยุดเมื่อตรวจพบว่าการเปลี่ยนแปลงค่าพารามิเตอร์บางอย่างจะทำให้ประสิทธิผลของ cBot ลดลง

เนื่องจากอัลกอริทึมพันธุกรรมใช้ทรัพยากรน้อยกว่าการค้นหาแบบละเอียดแต่ยังคงให้ผลลัพธ์ที่แม่นยำ เราจึงแนะนำให้เลือกวิธีการเพิ่มประสิทธิภาพนี้

จัดสรรทรัพยากรและดำเนินการเพิ่มประสิทธิภาพ cBot

ในการดำเนินการเพิ่มประสิทธิภาพ cBot ให้เลือกช่วงข้อมูลในอดีตที่ cTrader จะรันการทดสอบย้อนหลัง ในการทำเช่นนั้น ให้ใช้ แถบเลื่อนปฏิทิน ที่ด้านบนของแท็บ การเพิ่มประสิทธิภาพ หรือเมนูทางด้านซ้ายและขวาของแถบเลื่อน

โปรดทราบว่าการเพิ่มประสิทธิภาพเป็นกระบวนการที่ใช้ทรัพยากรมากและอาจใช้เวลาสักครู่ในการดำเนินการให้เสร็จสิ้น เนื่องจากเราต้องการรับผลลัพธ์ค่อนข้างเร็ว เราจะเลือกหนึ่งปีเป็นช่วงเวลาการเพิ่มประสิทธิภาพ

cTrader ยังอนุญาตให้กำหนดเปอร์เซ็นต์ที่แน่นอนของทรัพยากร CPU ที่จัดสรรให้กับกระบวนการเพิ่มประสิทธิภาพ หากต้องการปรับแต่งการตั้งค่านี้ ให้คลิกปุ่ม ทรัพยากร ทางด้านซ้ายของเมนูปฏิทินซ้ายสุด

ในส่วนที่ปรากฏขึ้นใหม่ ให้ลากแถบเลื่อนเพื่อเพิ่มหรือลดการใช้ CPU

หลังจากจัดสรรทรัพยากรเสร็จแล้ว คุณควรพร้อมที่จะดำเนินการเพิ่มประสิทธิภาพ ในการทำเช่นนั้น ให้คลิกปุ่ม เล่น ทางด้านขวาของเมนูปฏิทินขวาสุด หลังจาก cTrader โหลดข้อมูลในอดีตแล้ว คุณจะเห็นการเพิ่มประสิทธิภาพในแต่ละรอบถูกเพิ่มลงในหน้าจอกลางแบบเรียลไทม์

ที่ด้านบนของตาราง คุณจะเห็นจำนวนรอบปัจจุบัน เวลาที่ผ่านไป และเวลาที่เหลือในการเพิ่มประสิทธิภาพ

รอบที่เสร็จสมบูรณ์แล้วจะถูกทำเครื่องหมายด้วยเครื่องหมายถูกสีเขียว รอบทั้งหมดที่ cBot ของคุณถึงจุด Stop out จะถูกทำเครื่องหมายด้วยเครื่องหมายถูกสีเทาแทน

หมายเหตุ

คุณสามารถบันทึกและโหลด ผลลัพธ์การเพิ่มประสิทธิภาพ ซึ่งช่วยให้คุณสามารถนำไปใช้กับอุปกรณ์ต่างๆ ได้

แปลความหมายและนำผลลัพธ์การเพิ่มประสิทธิภาพไปใช้

ในตารางกลาง cTrader จะแสดงเมตริกหลายอย่างสำหรับการทดสอบย้อนหลังแต่ละรอบ รวมถึงจำนวนการเทรดที่ชนะที่ cBot ของคุณทำได้และเปอร์เซ็นต์การถดถอยของอิควิตี้สูงสุด

สิ่งที่ควรสังเกตเป็นพิเศษคือคอลัมน์ ความเหมาะสม ที่แสดงคะแนนความเหมาะสมสำหรับแต่ละรอบ คิดว่าคะแนนความเหมาะสมเป็นเมตริกที่ประเมินระดับที่รอบหนึ่งๆ ได้เพิ่ม/ลดเกณฑ์การเพิ่มประสิทธิภาพที่คุณเลือก คะแนนความเหมาะสมที่สูงกว่าบ่งชี้ถึงระดับความเหมาะสมที่สูงกว่ากับเกณฑ์เหล่านี้

หากต้องการเลือกรอบที่มีคะแนนความเหมาะสมสูงสุดอย่างรวดเร็ว เพียงแค่เปิดใช้งานสถานะ เลือกรอบที่ดีที่สุดโดยอัตโนมัติ ที่อยู่เหนือตารางกลาง โปรดทราบว่าคุณสามารถเปิดใช้งานสถานะ เลือกรอบที่ดีที่สุดโดยอัตโนมัติ ในขณะที่การเพิ่มประสิทธิภาพกำลังดำเนินการอยู่ และ cTrader จะค้นหาค่าพารามิเตอร์ที่ดีที่สุดที่เป็นไปได้แบบไดนามิก

ดังที่คุณเห็นในคอลัมน์ ความเหมาะสม รอบที่ 33 ให้คะแนนความเหมาะสมที่ดีที่สุดเมื่อเทียบกับรอบอื่นๆ ทั้งหมด

เราสามารถคลิก ใช้ ข้างรอบที่ 33 ได้อย่างปลอดภัย และค่าพารามิเตอร์ที่ใช้ในระหว่างรอบนี้จะถูกนำไปใช้กับอินสแตนซ์ cBot ของเราทันที

ค่าเริ่มต้นสำหรับพารามิเตอร์ ช่วงเวลาช้า และ ช่วงเวลาเร็ว เท่ากับ 10 และ 5 ตามลำดับ

เช่นเดียวกับการทดสอบย้อนหลัง การแสดงผล Trade Watch จะแสดงกราฟอิควิตี้และสถิติการเทรดโดยละเอียดที่สรุปการดำเนินการของ cBot ของเราในระหว่างรอบเฉพาะ โปรดทราบว่ากราฟอิควิตี้จะแสดงเฉพาะ 20 รอบที่ดีที่สุดจากตารางกลางเท่านั้น

เส้น ยอดคงเหลือ และ อิควิตี้ ที่เพิ่มขึ้นอย่างต่อเนื่องเพียงแค่ยืนยันข้อเท็จจริงที่ว่ารอบที่ 33 ให้ค่าพารามิเตอร์ที่จำเป็นสำหรับ cBot ของเราในการทำงานอย่างมีประสิทธิภาพ

สรุป

โดยสรุป การเพิ่มประสิทธิภาพ cBot เป็นเครื่องมือที่ทรงพลังในการตรวจสอบให้แน่ใจว่าที่ปรึกษาการเทรดอัตโนมัติของคุณได้รับการกำหนดค่าอย่างถูกต้อง เราขอแนะนำอย่างยิ่งให้ดำเนินการเพิ่มประสิทธิภาพหลายรอบโดยใช้เกณฑ์ที่แตกต่างกันเพื่อให้ได้แนวคิดว่าค่าพารามิเตอร์ใดจะดีที่สุดสำหรับ cBot ที่คุณพัฒนาขึ้นเองหรือได้รับจากนักพัฒนารายอื่น