หมวดหมู่
ประสิทธิภาพ
ระดับความยาก
เริ่มต้น
ใช้ใน
การแบ็กเทสต์การประเมิน EA

แบ็คเทสต์

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

หรือ: ทดสอบย้อนหลัง, backtest, การจำลองด้วยข้อมูลอดีต

อัปเดต

อธิบายแบบเข้าใจง่าย

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

ทำไมจึงสำคัญ

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

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

ใช้ตรวจสอบความน่าเชื่อถือของกลยุทธ์

ใช้ที่ไหน

  • คัดกรองไอเดียกลยุทธ์ก่อนที่จะทุ่มเงินหรือเวลาทำ forward test ลงไป
  • กำหนดความถี่ของการเทรด ระยะเวลาถือครองเฉลี่ย และช่วงขาดทุนติดต่อกันที่แย่ที่สุดที่ผู้ใช้งานควรคาดไว้
  • สร้างตัวเลขที่เผยแพร่บนหน้า EA ทั้ง profit factor ดรอว์ดาวน์ และอัตราชนะ ซึ่งเป็นเหตุผลว่าทำไมที่มาของการรันจึงเป็นส่วนหนึ่งของคำกล่าวอ้าง
  • รัน EA เดิมซ้ำบนกรอบข้อมูลที่ใหม่กว่า เพื่อตรวจว่าพฤติกรรมของมันเบี่ยงเบนไปหรือยัง

ผลลัพธ์ที่น่าเชื่อถือเป็นอย่างไร

  • ระบุแหล่งข้อมูล ช่วงวันที่ และโมเดลของเทสเตอร์ครบถ้วน การรันนั้นจึงทำซ้ำได้แทนที่จะต้องเชื่อ
  • การรันจำลองสเปรดและค่าคอมมิชชันที่ระดับสมจริง แทนที่จะปล่อยไว้ที่ค่าคงที่ในอุดมคติ
  • กรอบเวลาครอบคลุมหลายสภาวะตลาด อย่างน้อยต้องมีช่วงเทรนด์ ช่วงออกข้าง และช่วงตลาดตึงเครียดหนึ่งครั้ง
  • ไม่มีใครปรับจูนกฎบนกรอบเวลาที่นำมารายงาน หรือถ้าปรับ หน้านั้นก็แสดงกรอบ out-of-sample ที่ยังไม่ถูกแตะต้องไว้ข้างกัน
  • จำนวนออเดอร์อยู่ในหลักร้อย สถิติหลักจึงไม่ได้ถูกแบกไว้ด้วยค่าผิดปกติเพียงไม่กี่รายการ

สัญญาณเตือน

  • ภาพหน้าจอเส้นทุนที่ไม่มีแหล่งข้อมูล ไม่มีช่วงวันที่ และไม่มีจำนวนออเดอร์
  • กรอบเวลาที่เริ่มต้นอย่างสะดวกเกินไป EA ที่เริ่มทดสอบหลังวิกฤตครั้งล่าสุดเท่ากับเลือกข้อสอบให้ตัวเอง
  • พารามิเตอร์ที่อ้างด้วยความละเอียดเกินจริง เช่น ค่าเฉลี่ย 37 แท่งคู่กับจุดตัดขาดทุน 23.7 พิป
  • ตัวเลขคุณภาพการจำลองที่มาจากเทมเพลตไม่ใช่จากการรันจริง Model 0 ของ MT5 สร้างทิกขึ้นจากแท่ง M1 มีเพียง Model 4 เท่านั้นที่เล่นทิกที่บันทึกไว้จริง สคีมาเบื้องหลังหน้าเหล่านี้เคยตั้งค่าเริ่มต้นของช่องนี้ไว้ที่ 99 การรันด้วย Model 0 จึงแสดงข้อความ '99% modelling quality, against a 92% minimum' จนกระทั่งค่าเริ่มต้นนั้นถูกถอดออกเมื่อ 2026-08-06
  • ผลลัพธ์ที่แสดงเฉพาะบนสินทรัพย์ตัวเดียวที่ผู้เขียนใช้ปรับค่าเท่านั้น

แบ็กเทสต์เทียบกับเทรดจริง

  • การจับคู่คำสั่งมองโลกในแง่ดีเกินไป เทสเตอร์สมมติว่าออเดอร์ไปถึงตลาดที่ราคาที่จำลองไว้ แต่การส่งคำสั่งจริงเพิ่มสลิปเพจ รีโควต และความหน่วง ซึ่งทั้งสามอย่างมีต้นทุน
  • ต้นทุนคงที่ตายตัว แบ็คเทสต์ที่ใช้สเปรดคงที่จะมองไม่เห็นการถ่างของสเปรดรอบข่าวและช่วงเปลี่ยนเซสชัน ซึ่งเป็นจังหวะที่หลายกลยุทธ์เข้าเทรดพอดี
  • ตลาดนั้นเกิดขึ้นไปแล้ว กรอบทดสอบไม่มีสภาวะใดที่กลยุทธ์ยังไม่เคยเห็น ขณะที่การเทรดจริงจะหยิบยื่นสภาวะแบบนั้นให้ในที่สุด
  • ให้คาดว่า profit factor และค่าคาดหวังในบัญชีจริงจะต่ำกว่าตัวเลขที่ทดสอบไว้ ส่วนต่างระดับปานกลางถือว่าปกติ แต่การเปลี่ยนเครื่องหมายแปลว่าการทดสอบตั้งต้นทุนผิดหรือกฎถูกดัดให้เข้ากับข้อมูล
  • ส่วนต่างนี้ถูกวัดไว้แล้วที่นี่ จากสิบสี่รายการบนเว็บไซต์นี้ ค่า profit factor ของแบ็คเทสต์อยู่ระหว่าง 1.23 ถึง 1.53 ขณะที่กรอบ out-of-sample หลังเผยแพร่กระจายตั้งแต่ 0.72 ถึง 6.43 บนออเดอร์เพียงเจ็ดถึง 142 รายการ โดยสองรายการต่ำกว่า 1.0 และหนึ่งในนั้นคือรายการที่มีแบ็คเทสต์ดีเป็นอันดับสองในกลุ่ม กลุ่มตัวอย่างขนาดเล็กเพียงเท่านี้หน้าตาเป็นแบบนี้เอง ทั้งสองทิศทาง

วิธีตรวจสอบที่แนะนำ

  1. 1ตรึงแบบจำลองต้นทุนก่อน ทั้งสเปรดและค่าคอมมิชชันที่สมจริง แล้วค่อยรัน แทนที่จะปรับจูนบนการจับคู่ในอุดมคติแล้วค่อยบวกต้นทุนตอนท้าย
  2. 2กันกรอบเวลาที่ยังไม่แตะต้องไว้ก่อนจะปรับค่าอะไรก็ตาม และอย่าเปิดดูจนกว่ากฎจะนิ่งแล้ว
  3. 3รันซ้ำบนแหล่งข้อมูลที่สอง สองแหล่งที่ให้ผลต่างกันเกินเล็กน้อยกำลังบอกคุณว่าผลลัพธ์ขึ้นกับข้อมูล ไม่ใช่ขึ้นกับกฎ
  4. 4ขยับวันเริ่มต้นไปสองสามสัปดาห์แล้วรันใหม่ ผลลัพธ์ที่รอดเฉพาะวันเริ่มต้นเดียวไม่นับเป็นผลลัพธ์

ตัวอย่าง

EA หนึ่งตัว กรอบเวลาเดียว รันเทสเตอร์สี่ครั้งที่ต่างกันเพียงค่าสเปรดคงที่ที่เขียนไว้ในไฟล์ตั้งค่า

ตั้งสเปรดคงที่ไว้ที่ 20, 30, 40 และ 60 พอยต์
รายงานสี่ฉบับที่เหมือนกันทุกประการ
ค่า MD5 ของไฟล์รายงานทั้งสี่
471C1CE24EC24E669C20BD2B01EBB8A3
ฉบับละ 621,050 ไบต์ การตั้งค่านั้นไม่ได้ขยับอะไรเลย

วัดบน GBPJPYm เมื่อ 2026-07-31 ด้วยเหตุนี้หน้ารายการนั้นจึงไม่เผยแพร่ตัวเลขสเปรดใด ๆ ต่อมามีตัวบันทึกที่รันอยู่ในเทสเตอร์วัดค่าเฉลี่ยได้ 19.14 พอยต์

การคำนวณ 20 / 30 / 40 / 60 พอยต์ → รายงานเดียวที่เหมือนกันระดับไบต์

ผลลัพธ์ เทสเตอร์ของ MT5 ไม่มีคีย์ Spread มันเป็นของตกค้างจาก MT4 แบบจำลองต้นทุนที่มีผลจริงจึงไม่เคยเป็นตัวที่ถูกตั้งไว้เลย

ตีความอย่างไร

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

ช่วงค่า ความหมาย
ไม่ระบุแหล่งข้อมูลและช่วงวันที่ ไม่ใช่หลักฐาน ไม่มีอะไรให้ทำซ้ำและไม่มีอะไรให้โต้แย้ง
ระบุแหล่งข้อมูล สินทรัพย์เดียว กรอบที่ผ่านการปรับค่า เป็นจุดเริ่มต้น มันแสดงว่ากฎชนะได้ในที่ใดที่หนึ่ง ซึ่งเป็นสิ่งที่อ่อนที่สุดที่แบ็คเทสต์แสดงได้
ระบุแหล่งข้อมูล ต้นทุนสมจริง ครอบคลุมหลายสภาวะตลาด ควรค่าแก่การอ่าน ตัวเลขตอนนี้พูดถึงกลยุทธ์แล้ว ไม่ใช่พูดถึงวิธีตั้งค่าอีกต่อไป
ทั้งหมดข้างต้น บวกกรอบ out-of-sample ที่ยังไม่ถูกแตะต้อง หลักฐานที่แข็งแรงที่สุดเท่าที่แบ็คเทสต์ลำพังจะให้ได้ เพราะส่วนหนึ่งของมันไม่ได้อยู่ในมือคนที่ปรับจูนกฎ
  • ถามว่าอะไรถูกปรับค่าไปบ้าง ทุกพารามิเตอร์ที่จูนบนกรอบที่นำมารายงานล้วนยืมผลลัพธ์ส่วนหนึ่งมาจากข้อมูลชุดนั้นเอง
  • ดูจำนวนออเดอร์ก่อนดูกำไร ห้าสิบออเดอร์ยังแยกกลยุทธ์ออกจากโชคไม่ได้ ต่อให้ตัวเลขดูดีแค่ไหน
  • แบ็คเทสต์ที่ทำซ้ำไม่ได้ก็เป็นแค่ภาพหน้าจอ จงถือว่าบรรทัดที่บอกที่มาเป็นส่วนหนึ่งของตัวเลข ไม่ใช่เชิงอรรถ

หน้า EA ของ mt5depot ระบุแหล่งข้อมูล ช่วงวันที่ และโมเดลเทสเตอร์ของทุกการรันที่เผยแพร่ และมีเพียง 6 ใน 30 รายการเท่านั้นที่แสดงตัวเลขคุณภาพการจำลอง นั่นคือ 6 ใน 18 รันที่ทำบนทิกจริง มีด่านตรวจตอนบิลด์คอยอ่านหน้าที่ปล่อยออกไปจริง เพื่อไม่ให้อีก 24 รายการอ้างตัวเลขนั้น

ความเข้าใจผิดที่พบบ่อย

อ่านแบ็คเทสต์เป็นคำพยากรณ์

มันรายงานว่ากฎจะทำอะไรบนข้อมูลที่มีอยู่แล้ว อนาคตมีเงื่อนไขที่กรอบทดสอบไม่มี นั่นคือเหตุผลที่ผลฟอร์เวิร์ดออกมาแย่กว่า และส่วนต่างนั้นเองคือสิ่งที่ต้องวางแผนรองรับ

ปรับค่าและรายงานผลบนกรอบเวลาเดียวกัน

ทุกพารามิเตอร์ที่จูนจะดูดซับสัญญาณรบกวนของกรอบนั้นไว้บางส่วน การทดสอบบนข้อมูลชุดที่ใช้จูนจึงเท่ากับวัดการจูนเอง ผลที่ได้จึงสวยงามแน่นอนและทำซ้ำไม่ได้แน่นอน

เปรียบเทียบแบ็คเทสต์สองชุดที่รันคนละเงื่อนไข

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

คิดว่ากรอบเวลายิ่งยาวยิ่งดีเสมอ

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

รายละเอียดเพิ่มเติม

คำถามที่พบบ่อย

แบ็คเทสต์ที่ดีเพียงพอต่อการตัดสินใจซื้อ EA หรือไม่
ไม่พอ แบ็คเทสต์คัดกลยุทธ์ทิ้งได้และแสดงได้ว่ากฎทำงานตามที่อธิบายไว้ แต่พิสูจน์ไม่ได้ว่าความได้เปรียบจะอยู่รอดในเงื่อนไขที่กรอบทดสอบไม่เคยมี ให้มองหากรอบ out-of-sample หรือบันทึกฟอร์เวิร์ดควบคู่ไปด้วย และอ่านแบบจำลองต้นทุนก่อนดูกำไร
แบ็คเทสต์ของ EA ควรยาวแค่ไหน
ยาวพอจะครอบคลุมหลายสภาวะตลาด และมีออเดอร์มากพอให้สถิตินิ่ง ในทางปฏิบัติคือหลายปีและหลายร้อยออเดอร์สำหรับกลยุทธ์ส่วนใหญ่ ความยาวเพียงอย่างเดียวไม่ใช่เกณฑ์ การรันยาวบนข้อมูลคุณภาพต่ำอาจบอกอะไรได้น้อยกว่าการรันสั้นกว่าบนทิกจริง
ทำไมผลแบ็คเทสต์จึงต่างกันไปในแต่ละโบรกเกอร์
เพราะประวัติราคา บันทึกสเปรด และเงื่อนไขการเทรดต่างกัน การรันกฎชุดเดียวกันบนสองแหล่งข้อมูลแล้วได้ผลต่างกันอย่างมีนัยสำคัญคือข้อมูลที่มีประโยชน์ มันแปลว่าผลลัพธ์ขึ้นอยู่กับข้อมูลไม่น้อยไปกว่าขึ้นอยู่กับกลยุทธ์