ใช้ TNA_EA ลาบในการทดสอบย้อนหลังให้เชี่ยวชาญ
บทความอื่นๆคุณค่าในการทำ Backtest
ที่ได้อธิบายไปก่อนหน้านี้
สำหรับผู้เริ่มต้น
เพื่อให้สามารถทำ Backtest ได้จริง
ผมจะอธิบายให้เข้าใจ
Backtest คืออะไร
ข้อมูลการเคลื่อนไหวของราคาย้อนหลัง
เพื่อทดสอบการทำงานของ EA
สามารถทำได้
ตัวอย่างการใช้งาน
สิ่งที่สามารถเข้าใจได้จาก Backtest ฟังก์ชันของ MT4
ช่วงเวลาที่ตั้งเป็นระยะทดสอบ
・กำไรขาดทุน
・Drawdown (unrealized loss)
・จำนวนครั้งเข้าออเดอร์และจำนวนชนะ-แพ้
(แยกตาม long และ short)
・Profit Factor (PF)
และตัวเลขสำคัญอื่นๆ ที่ทำให้ทราบผล EA
โดยทั่วไปสามารถคำนวนได้
อย่างไรก็ตาม ข้อมูลเบื้องต้นใน Backtest
รวมถึงSpread ที่แยกออกและSlippage
ไม่มีอยู่ในข้อมูล
ยกตัวอย่าง
ในช่วงประกาศข้อมูลตลาดแรงงานที่มีความผันผวน
ในการ backtest
สามารถเข้าออเดอร์
และทำกำไรตามคำสั่งของ EA
แต่ในความเป็นจริง
ปัญหาสเปรดที่ขยายตัวและ
slippage อาจทำให้ไม่สามารถปฏิบัติตามได้
ดังนั้น
ผลลัพธ์ที่ได้จาก EA ใน backtest
จึงเป็นเพียงแนวทางเท่านั้น
สิ่งที่สำคัญกว่านั้นคือ
ว่า EA เข้าสตาร์ทเมื่อไหร่
และออกสถานะเมื่อไหร่
เพื่อให้สามารถตรวจสอบได้
ว่า EA ทำอะไรในจังหวะใด
นี่คือ
เพราะฉันเขียน EA ด้วยตัวเอง
จึงมีความเข้าใจเพียงพอ
แต่แม้ผู้ใช้งานที่ไม่ทราบตรรกะ EA อย่างละเอียด
ก็สามารถวิเคราะห์และตีความได้ในระดับหนึ่ง
จึงเห็นคุณค่าในการใช้งาน
ดังนั้นที่นี่จึงอธิบายวิธีการทำ Backtest ด้วยฟังก์ชันฟรีของ MT4
โดยวิธีการใช้งาน
(หมายเหตุ)
เพื่อรองรับการสแปรด์ที่ผันผวน
ด้วยการใช้ข้อมูล TDS แบบเสียค่าใช้จ่าย
จะช่วยแก้ปัญหาได้
ถ้าต้องการทราบรายละเอียดเพิ่มเติม
ค้นหาทาง Google ได้
ในที่นี้จะข้ามไป
การเตรียมตัวสำหรับ Backtest
ดาวน์โหลดข้อมูลประวัติศาสตร์
ก่อนอื่น จำเป็นต้องมี
ข้อมูลการเคลื่อนไหวของราคาย้อนหลัง
ข้อมูลประวัติศาสตร์
ที่จำเป็น
วิธีการได้มาคือจากโบรกเกอร์
ที่ให้ดาวน์โหลดฟรี
มีที่ให้ดาวน์โหลดได้
จากที่นั้น
ข้อมูลดาวน์โหลดจะ
ใช้ข้อมูลล่าสุดเท่าที่จะทำได้
จึงดาวน์โหลดล่าสุด
เตรียม MT4
① การตั้งค่า MT4
ใน Tools/Opcions จะมีกรอบดังภาพด้านล่างเปิดขึ้น
ในบรรทัดสูงสุดของบาร์
ให้มีค่า 2147483647
อยู่ในช่อง
② Backtest ต้องการหน่วยความจำและทรัพยากรมาก
ดังนั้นลบไฟล์ที่ไม่จำเป็นเพื่อลดน้ำหนัก
โดยเฉพาะข้อมูลประวัติศาสตร์ที่ MT4 เก็บไว้
สำหรับคู่สกุลเงินหรือ CFD ที่จะใช้ใน Backtest
ให้ลบออกทั้งหมด
วิธีลบข้อมูลประวัติศาสตร์
จากเมนู MT4
เปิด File(F)/Data Folder(D)
จะเปิดโฟลเดอร์ข้อมูล
ดับเบิลคลิก history เพื่อเปิด
โฟลเดอร์ที่มีข้อมูลประวัติศาสตร์
แล้วดับเบิลคลิกเพื่อเปิด
(หมายเหตุ)
ชื่อโฟลเดอร์ที่มีข้อมูลประวัติศาสตร์แตกต่างกันไปตามโบรกเกอร์
หาชื่อโฟลเดอร์ที่เกี่ยวข้องให้เจอ
ภายในโฟลเดอร์นี้
拡張子 .hst คือ
ข้อมูลประวัติศาสตร์
ภายในโฟลเดอร์นี้
ไฟล์ทั้งหมดที่อยู่ภายใน
สามารถลบได้
หลังลบแล้ว ไฟล์จะย้ายไปในถังขยะ
แต่ถ้าอยู่ในถังขยะ
จะไม่ถือเป็นการลดขนาด
ดังนั้น Empty Recycle Bin
จงล้างถังขยะ
จากนั้นปิด MT4
③ หลังจากเปิด MT4 ใหม่
ให้เรียกข้อมูลประวัติศาสตร์ล่าสุดก่อน
เพื่อจุดประสงค์นี้
ให้เปิดคู่สกุลเงินหรือ CFD ที่ต้องการทำ Backtest
จากนั้นเปิดกราฟ 1 นาที
เลื่อนหน้าจอจนเห็นขอบบนสุด
คลิก "-" ซ้ำๆ เพื่อให้ขยายออกไป
และอย่าให้ขอบขวาถูกล็อค
ปิดการล็อคไว้
กราฟนี้ให้เลื่อนไปทางซ้ายจนสุด
ด้วยคีย์บอร์ดของ PC กดปุ่มลูกศรซ้ายพร้อมกับ
คลิกและจับกราฟด้วยเม้าส์เพื่อเลื่อนไปทางขวา
การเลื่อนไปทางซ้ายอย่างรวดเร็วนั้นง่ายกว่า
ด้วยวิธีนี้
ข้อมูลราคา 1 นาทีล่าสุดจะถูกบันทึกลง MT4
จากนั้นรวมเข้ากับข้อมูลประวัติที่ดาวน์โหลดมา
④ รวมข้อมูล 1 นาทีเข้าด้วยกัน
ทำ Backtest โดยเลือก 1 นาที
และคลิก Import
ข้อมูลประวัติที่ดาวน์โหลด
ไฟล์ข้อมูลประวัติ
เรียกดู
คลิก OK
ข้อมูล 1 นาทีที่ดาวน์โหลดจะถูกนำเข้า
และรวมกับข้อมูล 1 นาทีล่าสุด
อย่างสมบูรณ์
จากนั้นปิด MT4 อีกครั้ง
แล้วเปิดใหม่
⑤ สร้างข้อมูลระดับสูงขึ้นจากข้อมูล 1 นาที
ไฟล์/ Offline Chart
เลือกกล่องเปิด
Backtest จะใช้
คู่สกุลเงินหรือ CFD
เลือก 1 นาที
จะเปิดกราฟแบบออฟไลน์ 1 นาที
ในหน้าต่าง Navigator
ลาก PeriodConverter เข้ามา
ในกล่องที่เปิดขึ้น
ใส่ค่า 5 แล้ว OK จะทำให้ข้อมูล 1 นาที
ถูกสร้างเป็นข้อมูล 5 นาที
ทำเช่นนี้ต่อไป
ใส่ 15 แล้ว OK จะสร้างข้อมูล 15 นาที
ข้อมูล 5 และ 15 นาทีถูกสร้าง
แบบนี้ต่อไป
30, 60, 240, 1440, 10080 และอื่นๆ
เมื่อใส่ครบ
จะได้ 30 นาที, 1 ชั่วโมง, 4 ชั่วโมง, รายวัน,
รายสัปดาห์
เมื่อทำการลาก PeriodConverter ซ้ำ
จะมีหน้าต่างเปิดขึ้นดังนี้
ทั้งหมดคือ “ใช่ (Y)”
ตรวจสอบว่าแต่ละระดับเวลา
ถูกสร้างขึ้นหรือไม่
ไฟล์/ Offline Chart
เปิดกล่อง จากนั้น
M1
M5
M15
H1
H4
Daily
สามารถตรวจสอบได้
ตอนนี้ปิด MT4 แล้ว
เตรียมพร้อมแล้ว
Backtest
คลิกไอคอนแว่นขยายเพื่อเปิดหน้าต่าง Tester
เปิดแท็บการตั้งค่าทดสอบ
กำหนดเงื่อนไขการทดสอบ
ทุนเริ่มต้นหรือ
ตั้งค่าทั้ง Long และ Short
ตั้งค่า Long และ Short ทั้งคู่
TAB การป้อนพารามิเตอร์
ตั้งค่าพารามิเตอร์ที่ EA กำหนดไว้
พารามิเตอร์ต่างๆ ขึ้นกับ EA
จึงขึ้นอยู่กับ
EA ที่ใช้งาน
โปรดทำตาม
แท็บการป้อนพารามิเตอร์
สำหรับการทดสอบครั้งเดียว
อย่าเลือกการตรวจสอบ
กรอกค่าต่างๆ แล้ว OK
กรณีทดสอบต่อเนื่องด้วยการปรับค่า (Optimisation)
ให้ตรวจสอบเฉพารามิเตอร์ที่เปลี่ยนได้เท่านั้น
ตรวจสอบเฉพารามิเตอร์ที่เลือกเท่านั้น
กำหนดค่าเริ่มต้นและขั้นตอนและค่าขีดจำกัด
แล้ว OK
⑥ Backtest เริ่ม
กรณีทดสอบครั้งเดียว
ไม่เลือก Optimisation
คลิก Start
กรณีทดสอบต่อเนื่องด้วยการปรับค่า (Optimisation)
เลือก Optimisation
คลิก Start
Backtest จะเริ่มทำงาน
Backtest เปลี่ยนแปลงข้อมูลขนาดใหญ่ระหว่างทำงาน
เมื่อทำ Backtest ซ้ำไปซ้ำมา
ไฟล์ขนาดใหญ่เกินไปจะสร้างขึ้น
อาจทำให้ MT4 ทำงานผิดพลาด
ลองทำความสะอาดบ้างเป็นระยะ
ไฟล์ที่ต้องทำความสะอาดมีดังนี้
จากเมนู MT4
File(F)/Data Folder(D)
จะเปิดโฟลเดอร์ข้อมูล
เปิดโฟลเดอร์ “Tester”
caches
history
logs
ไฟล์ภายในโฟลเดอร์ข้างต้นที่สะสมอยู่
ควรถูกลบเป็นระยะ
บ่อยครั้งอาจมีข้อมูลขนาดใหญ่ที่น่าตกใจ
ข้อแนะนำขอ VPS
ในการ Backtest
ยิ่งช่วงทดสอบนานเท่าไร
EA ที่ซับซ้อนมากเท่าไร
การคำนวณ Backtest จะใช้เวลานาน
ถ้าต้องทำ 7 ปี
ในสภาพแวดล้อมของฉัน
เวลาประมวลผลต่อครั้งจะประมาณ
18 ชั่วโมง
ถ้าใช้ MT4 ที่ติดตั้งบน VPS เพื่อ Backtest
ระหว่างการคำนวณ Backtest
คอมพิวเตอร์ของคุณเองสามารถปิดเครื่องได้
สะดวกมาก
ถึงแม้จะมีค่าบริการแต่
คิดว่าคุ้มค่า
นอกจากนี้ หากคุณใช้ VPS
ถึงเวลาที่ดาวน์โหลดมาแล้ว
นำเข้าและรวมข้อมูล
Back data ที่สร้างขึ้น
บน VPS ยังเปิด MT4 อยู่
หน้าต่างยังเปิดอยู่
ข้อมูลประวัติล่าสุดจะถูกสะสมและ更新ต่อไป
ถัดไปอีกไม่กี่วันหรือหลายเดือน
เมื่อทำการ Backtest จะต้องลบ Historical data ทั้งหมดก่อนดาวน์โหลดใหม่
และขั้นตอนตั้งต้นใหม่
ดังนั้น VPS จะมีประโยชน์มาก
กรุณาพิจารณา
ขอขอบคุณในการพิจารณา