กลไกการทดสอบกลยุทธ์ MT4 ที่ให้ตัวเลขที่ดูสมเหตุสมผลมากขึ้นภายใต้สองเงื่อนไข — ที่ดูบนบรรทัดสี่บรรทัดก่อน PF
n/a คุณภาพการสร้างแบบจำลอง (ผลลัพธ์เสีย) | 114 ข้อผิดพลาดกราฟไม่สอดคล้อง | 4 บรรทัด บรรทัดของรายงานที่ดูก่อน PF |
ผมคือ lab.aiueo ผู้พัฒนาและขายอินดิเคเตอร์ MT4/MT5 ใน GogoJungle
หายไปสักพัก วันนี้จะเริ่มเขียนต่อ
MT4 สตราทีจีเทสต์เตอร์เป็นเครื่องมือที่ทำให้ EA ทำงานด้วยข้อมูลในอดีตเพื่อให้ได้ผลงาน
แต่เงื่อนไขบางอย่างทำให้ตัวเลขที่ได้ดูเป็นไปได้และดูสมเหตุสมผล แม้ว่าจะมีข้อผิดพลาดก็ตาม และมันไม่หยุดทำงาน
วันนี้ผมจะเขียนถึงสองข้อที่ผมได้ทดลองจริง และจะบอกว่าตรงไหนในรายงานที่อธิบายสิ่งเหล่านี้
ข้อที่ 1: เมื่อช่วงที่ไม่มีแท่งนาทีถูกหมุนด้วย "ทุกรายการเทรด"
อะไรกันแน่ที่เกิดขึ้น
ฉันสร้าง EA เพื่อทดสอบ และรันว Euro/USD แบบ 4 ชั่วโมง เป็นเวลาประมาณ 13 ปี โดยวิธีทดสอบเป็นแบบ "ทุกรายการเทรด"
ตัวเลขที่ได้ PF0.71
หากดูเฉพาะตัวเลขอย่างเดียว ก็อาจจะคิดว่า EA นี้แพ้ แต่ในด้านบนของรายงานกลับเขียนว่า
- การสร้างแบบจำลอง: n/a
- ข้อผิดพลาดกราฟไม่สอดคล้อง: 114
ผลลัพธ์นี้เสียหาย
ทำไมถึงพัง
"ทุกรายการเทรด" เป็นวิธีที่สร้างการเคลื่อนไหวในช่วงเวลาย่อยของกราฟจากกราฟนาที
อย่างไรก็ตาม กราฟนาที Euro/Dollar ใน MT4 ของฉันมีช่วงตั้งแต่เดือนเมษายน 2026 เป็นต้นไปเท่านั้น กราฟ 4 ชั่วโมงมีตั้งแต่ธันวาคม 2009 แต่กราฟนาทีแทบไม่มีเลยในช่วงทดสอบ
ช่วงที่ไม่มีกราฟนาที จะไม่มีวัสดุในการสร้างการเคลื่อนไหวในช่วงนั้น แต่เครื่องทดสอบยังทำงานต่อไปจนได้ตัวเลข
วิธีดูแยกแยะ
- รายงานมีค่า "การสร้างแบบจำลอง" ไม่ใช่ n/a หรือไม่
- "ข้อผิดพลาดกราฟไม่สอดคล้อง" เป็น 0 หรือไม่
- ตั้งแต่ช่วงเริ่มต้นของระยะทดสอบ แทบกราฟ 1 นาทีพร้อมใช้งานหรือไม่ (ตรวจสอบได้จาก Tools → History Center)
หาก EA ตัดสินใจจากแท่งที่ยืนยันครบแล้ว ให้หมุนด้วย "Open" เท่านั้น
EA นี้จะตัดสินใจเมื่อแท่งถูกยืนยันเท่านั้น ไม่ใช้การเคลื่อนไหวระหว่างแท่ง
EA แบบนี้ วิธีการทดสอบควรใช้ "Open price only" เพราะต้องหมุนเมื่อแท่งยืนยันแล้วเท่านั้น หากไม่มีกราฟนาที แต่มีกราฟ 4 ชั่วโมงก็ยังรันได้
การดูว่าเป็นการหมุนด้วย "Open price only" หรือไม่ สามารถดูได้จากจำนวนโมเดลเทคนิค (Model Tick) ในรายงาน ตามสภาพแวดล้อมของผม จำนวนแท่งที่ทดสอบได้ประมาณสองเท่า
อย่างไรก็ตาม "Open price only" ก็ไม่สามารถระบุได้ว่าในระหว่างแท่งมีการตี Stop หรือ Take Profit ใ นช่วงย่อยได้ละเอียด หาก Stop และ Take ใกล้กัน และ EA ไปถึงทั้งสองภายในแท่งเดียวกัน ตัวเลขอาจคลาดเคลื่อนกับความเป็นจริง
ข้อที่ 2: เมื่อใส่สเปรดเป็น 0 แต่กลับหมุนไม่เป็น 0
อะไรกันแน่ที่เกิดขึ้น
เพื่อดูศักยภาพจริงๆ โดยไม่คำนึงถึงค่าค่าใช้จ่าย ฉันปรับสเปรดเป็น 0 และรัน EA ที่เคยทำเมื่อปี 2019 ตามวิธีที่ "เริ่มต้นด้วยสเปรด 0" ได้อธิบายไว้
แต่บนส่วนบนของรายงานในบรรทัด "สเปรด" กลับระบุค่า Current Value (10) แสดงว่าแท้จริงแล้วสเปรดในบัญชีจริงคือ 10 จุด ไม่ใช่ 0
วิธีดูแยกแยะ
ดูบรรทัด "สเปรด" ในรายงานว่า ค่าเป็นค่าเดียวกับที่ตั้งไว้หรือไม่ ค่าเหล่านี้คือค่าที่ถูกใช้งจริง
ถ้าไม่สามารถรันที่ 0 ได้ ให้ขยายด้วยสองค่า
ใช้ค่าในคอลัมน์สเปรด (เช่น 2 และ 10) เพื่อรันสองรอบ
ต้นทุนสเปรดจะเพิ่มขึ้นตามขนาดสเปรด ถ้าหาค่าต่อเนื่องแล้วลากเส้นไปถึง 0 จะทำให้เห็นผลลัพธ์เมื่อสเปรดเป็น 0
ตัวอย่าง (ตัวเลขเพื่ออธิบายเท่านั้น)
- สเปรด 2 ได้กำไรสุทธิ +800 ดอลลาร์
- สเปรด 10 ได้กำไรสุทธิ 0 ดอลลาร์
- เพิ่ม 8 จุด ทำให้กำไรหาย 800 ดอลลาร์ ดังนั้น 1 จุด = 100 ดอลลาร์
- ถ้าสเปรดเป็น 0 จะได้ +1,000 ดอลลาร์ประมาณนี้
ในขณะนั้นให้ตรวจสอบจำนวนการเทรดด้วยว่ามีความต่างกันมากน้อยเพียงใด หากจำนวนรอบต่างกัน พล็อตเส้นตรงไม่สามารถใช้ได้
PFก่อน ดู 4 บรรทัดบนรายงาน
ทั้งคู่บอกคำตอบอยู่ด้านบนของรายงาน
- การสร้างแบบจำลอง
- ข้อผิดพลาดกราฟไม่สอดคล้อง
- โมเดลเทคนิคิค (Model tick) จำนวน
- สเปรด
ตอนนี้ ก่อนดู PF หรือกำไรสุทธิ ให้ดู 4 บรรทัดนี้ก่อน
การที่ตัวเลขของ tester เปลี่ยนไปตามวิธีการทดสอบเป็นเรื่องที่เขียนไว้ในบทความการสร้าง EA ปี 2019 ด้วย
เรื่องการยืนยันตัวเลขด้วยวิธีอื่นก่อนเชื่อถือก็มีในตอนถัดไป บทความนี้เป็นการตรวจสอบของสคริปต์ทดสอบของฉันเองที่อาจมีข้อผิดพลาด
ในฐานะผู้สร้าง สิ่งที่กำหนดไว้
- EA ที่ตัดสินใจจากแท่งที่ยืนยันต้องหมุนด้วย Open price only
- เมื่อหมุนด้วย "ทุกรายการเทรด" ต้องตรวจว่าในระยะทดสอบมีกราฟนาทีพร้อมใช้งานก่อน
- ดู 4 บรรทัดบนรายงานก่อน PF
- ถ้าต้องการผลลัพธ์สเปรด 0 ให้ใช้สองค่าแล้วลากไปถึง 0
- ตัวเลข tester ต้องตรวจสอบกับวิธีอื่น
บทความนี้เป็นบันทึกการทดสอบของฉันเอง การทำงานของสตราทีจีเทสเตอร์ขึ้นกับการสร้าง MT4 และข้อมูลของโบรกเกอร์ ซึ่งอาจแตกต่างกัน ไม่ได้แนะนำ EA หรือกลยุทธ์การซื้อขายใดๆ และผลการทดสอบหลังในอดีตไม่ใช่ตัวบ่งชี้ผลการดำเนินงานในอนาคต ควรตัดสินใจลงทุนด้วยความรับผิดชอบของตนเอง
ขอบคุณที่อ่านจนจบ