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

วิธีทดสอบย้อนหลัง cBot ใน cTrader

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

Backtesting ใน cTrader

cBot เป็นหุ่นยนต์เทรดที่สามารถปรับแต่งได้อย่างเต็มที่ ซึ่งคุณสามารถกำหนดค่าให้ดำเนินการเทรดต่างๆ เมื่อพบการเคลื่อนไหวและเหตุการณ์ของตลาดบางอย่าง เช่น การตัดกันของ Moving Average Convergence Divergence (MACD)

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

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

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

การเข้าถึง Backtesting

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

แท็บ Backtesting ควรอยู่ทางขวาของแท็บแรก คลิกที่แท็บนี้เพื่อสลับไปยังพื้นที่การทำ Backtesting

Image title

หลังจากเปิดแท็บนี้ คุณควรเห็นอินเทอร์เฟซต่อไปนี้

Image title

กำหนดช่วงเวลา

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

ใช้แถบเลื่อน

แถบเลื่อนปฏิทินอยู่ใกล้กับด้านบนของแท็บ Backtesting

Image title

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

ใช้เมนู

คุณยังสามารถใช้เมนูแบบเลื่อนลงของปฏิทินทางซ้ายและขวาของ แถบเลื่อน เพื่อเลือกช่วงวันที่ที่แน่นอน

Image title

เพื่อให้แน่ใจว่าช่วงเวลาการทำ Backtesting ของเรามีความยาวเท่ากับ 2 ปีพอดี เราสามารถเปิดเมนูทางซ้ายเพื่อเลือกวันที่ 30 พฤศจิกายน 2020 เป็นวันที่เริ่มต้นใหม่

กำหนดค่าการตั้งค่า

ก่อนทำการ Backtest ให้คลิกไอคอน เฟือง ทางซ้ายของเมนูปฏิทินซ้ายสุด คุณควรเห็นการตั้งค่าต่อไปนี้

Image title

เมื่อเปิดส่วนนี้แล้ว ให้ดำเนินการดังต่อไปนี้

  • ในช่อง เงินทุนเริ่มต้น ให้ระบุเงินทุนเริ่มต้นที่ cBot ของคุณจะเริ่มต้นด้วย
  • เปิดเมนู ค่าคอมมิชชัน และเลือก (หรือพิมพ์) ค่าคอมมิชชันที่ cBot ของคุณจะจ่ายหลังจากเทรดปริมาณหนึ่งล้านหน่วย
  • ในเมนู ข้อมูล ให้ตั้งค่าแหล่งข้อมูลในอดีตสำหรับการทำ Backtesting โดยทั่วไปแล้ว การรับข้อมูล m1 จากเซิร์ฟเวอร์เป็นการประนีประนอมที่ดีระหว่างความแม่นยำและความเข้มข้นของทรัพยากรในการทำ Backtesting โปรดทราบว่าคุณยังสามารถอัปโหลดข้อมูลที่กำหนดเองจากไฟล์ .CSV ที่จัดเก็บในเครื่อง
  • เลือกระหว่างสเปรดคงที่หรือสุ่มในส่วนย่อย สเปรด คลิก สด เพื่อจับคู่สเปรดคงที่ (หากถูกเลือก) กับสเปรดสัญลักษณ์ปัจจุบัน

อ้างอิงถึง บทช่วยสอนนี้ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่าการทำ Backtesting และวิธีที่การตั้งค่าเหล่านี้สามารถส่งผลต่อผลลัพธ์ของการทำ Backtesting

เลือกระหว่างโหมด

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

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

Image title

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

สำหรับตอนนี้ เราจะคงการใช้งานฟังก์ชันโหมดแสดงภาพไว้ในสถานะปิดใช้งาน

เริ่มการทำ Backtesting

ในการทำ Backtest ด้วยการตั้งค่าที่กำหนดและในโหมดที่เลือก ให้คลิกปุ่ม เล่น ทางขวาของเมนูปฏิทินขวาสุด

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

ในกรณีของเรา กระบวนการค่อนข้างรวดเร็วเนื่องจากเราขอข้อมูลเพียง 2 ปีเท่านั้น เมื่อทำการ Backtesting คุณจะเห็นแถบทางขวาของสถานะ โหมดภาพ ค่อยๆ เคลื่อนจากซ้ายไปขวา

เมื่อเคลื่อนไปทางขวาสุด กระบวนการทำ Backtesting จะเสร็จสิ้น

ดูผลลัพธ์

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

Image title

ในกรณีของเรา cBot ได้สร้างกำไรสุทธิที่มากถึง 503%

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

เส้นสีเหลืองจะติดตามยอดคงเหลือของ cBot ของคุณ ในขณะที่เส้นสีเทาจะติดตามอิควิตี้

Image title

เราสามารถเห็นว่า cBot ของเราทำผลงานได้ดีตลอดการ backtesting แต่อาจมีบางกรณีที่เราต้องการแก้ไขก่อนที่จะให้มันเข้าถึงเงินทุนจริง

สุดท้ายแต่ไม่ท้ายสุด แท็บ สถิติการเทรด จะแสดงสถิติสะสมเกี่ยวกับการดำเนินการเทรดทั้งหมดที่ดำเนินการโดย cBot ของคุณ

Image title

เราสามารถเห็นว่าผลตอบแทนรวมของเรานั้นยอดเยี่ยม หุ่นยนต์ทำการเทรดที่ชนะทั้งหมด 271 ครั้ง และส่วนใหญ่ (33,009.55) ของผลตอบแทนรวมถูกสร้างขึ้นจากการเทรดเพียงครั้งเดียว! cBot มีศักยภาพอย่างชัดเจนในการเล่นแบบเสี่ยง

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