ผู้เขียน หัวข้อ: ขั้นตอนการ Backtest EA  (อ่าน 9729 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ PNCH

  • ทำสวนเป็นงานรองเพื่อจะก้าวไปสู่.....
  • นักลงทุนขั้นเทพ
  • ****
  • กระทู้: 1822
  • พลังน้ำใจ: 141
ขั้นตอนการ Backtest EA
« เมื่อ: 11 เมษายน 2014, 12:07:42 PM »
ขั้นตอนการ Backtest EA

1. ปรับแต่ง วันเดือนปีให้เป็น ค.ศ.
2. ไปที่ Charts  ให้กด Ctrl+O  แล้วะ Tab ไปที่ Charts  ครับ  ให้พิมพ์  9999999999999  ตรง Max bars in history และ Max bars in chart
3. ให้ปิด MT4  แล้วเปิดใหม่
4. ให้ทำการ Load Data History  ผมโหลดจาก เวปนี้ หรือโหลดจากที่อื่นก็ได้ครับ http://www.forextester.com/data/datasources.html
5. ทำการ Import File History ของคู่เงินที่เราโหลดมา  ไปที่  History Center  กด F2  จากนั้นไปที่คู่เงินที่เราต้องการ เลือก M1  แล้วก็เลือก Import
6. ทำการเลือก file ที่เป็น Text  จากนั้นก็กด OK
7. ทำการปิด MT4 แล้วก็เปิดใหม่
8. ไปดูว่า File ที่เรา import มาหรือยังครับ  ไปที่ File  แล้วก็ไปที่ Open Offline
9. เราสามารถ Backtest ได้ที่ M1 อย่างเดียวครับ  ถ้าเราต้องการ Test ที่ TF อื่นเราต้องทำการ Converter จาก TF M1  ไปเป็น TF อื่นๆๆได้
10.การ Converter จาก TF M1 ทำการเปิดกราฟ Offline M1 ขึ้นมา แล้ว ไปที่ Navigator ให้กด Ctrl+N  แล้วไปที่ Scripts  แล้วก็ลาก PeriodConverter ใส่กราฟ ตรง  InpPeriodMultiplier ใส่ค่า TF  ได้เลย เช่น TF H1  ก็ใส่ 60
11.เริ่มทำการ BacktestEA  ทำการปรับแต่งเวลา  เลือก Use data  เลือกเวลาที่เราจะ Test ได้เลย  ถ้าเราต้องการดูผลการ Test ไปด้วยก็ให้ติก Visual mode  และสามารถปรับความเร็วได้   ถ้าต้องการความรวดเร็วก็ให้ติกออกครับ
12.เลือก EA ที่จะทำการ Backtest  และเลือกคู่เงิน ให้ตรงกับที่เราโหลด Data มานะครับ เดี่ยวจะ Backtest ไม่ได้

ไม่เข้าใจตรงไหนสอบถามได้ครับ
« แก้ไขครั้งสุดท้าย: 29 มกราคม 2015, 21:00:06 PM โดย admin »

ออฟไลน์ PNCH

  • ทำสวนเป็นงานรองเพื่อจะก้าวไปสู่.....
  • นักลงทุนขั้นเทพ
  • ****
  • กระทู้: 1822
  • พลังน้ำใจ: 141
Re: ขั้นตอนการ Backtest EA
« ตอบกลับ #1 เมื่อ: 12 เมษายน 2014, 23:18:38 PM »
ปัจจัยสำคัญในการ BackTest ที่  BackTest  แล้วในแต่ละรอบ ทำไมออกมาล้างบ้าง รอดบ้าง

น่าจะมาจากเรื่อง Spread เป็นเรื่องสำคัญ   ถ้าท่าน BackTest ในตอนตลาดเปิด Spread ในแต่ละรอบไม่เท่ากัน จึงทำให้ การ BackTest  แต่ละครั้งไม่เท่ากันแน่นอนครับ

ถ้า BackTest  ตอนตลาดปิด Spread Fix ไว้ ทำให้ได้ผลออกมาเท่ากันทุกครั้ง 

ถ้าใคร BackTest  ที่ โบรก Exness อย่าลืมดูเรื่อง Spread ด้วยนะครับ ตอนตลาดปิด Spread สูง ทำให้ได้ผลออกมา พลาดได้ครับ
« แก้ไขครั้งสุดท้าย: 12 สิงหาคม 2015, 10:36:58 AM โดย admin »

ออฟไลน์ kusitnas

  • นักลงทุนขั้นเซียน
  • ***
  • กระทู้: 111
  • พลังน้ำใจ: 6
    • Exness
Re: ขั้นตอนการ Backtest EA
« ตอบกลับ #2 เมื่อ: 13 เมษายน 2014, 10:49:04 AM »
ปัจจัยสำคัญในการ BackTest ที่  BackTest  แล้วในแต่ละรอบ ทำไมออกมาล้างบ้าง รอดบ้าง

น่าจะมาจากเรื่อง Spread เป็นเรื่องสำคัญ   ถ้าท่าน BackTest ในตอนตลาดเปิด Spread ในแต่ละรอบไม่เท่ากัน จึงทำให้ การ BackTest  แต่ละครั้งไม่เท่ากันแน่นอนครับ

ถ้า BackTest  ตอนตลาดปิด Spread Fix ไว้ ทำให้ได้ผลออกมาเท่ากันทุกครั้ง 

ถ้าใคร BackTest  ที่ โบรก Exness อย่าลืมดูเรื่อง Spread ด้วยนะครับ ตอนตลาดปิด Spread สูง ทำให้ได้ผลออกมา พลาดได้ครับ


นอกจากเรื่อง สเปรดของ Exness แล้วต้องดูเรื่อง Leverage ด้วยครับ จาก 1:2000 เป็น 1:200
« แก้ไขครั้งสุดท้าย: 12 สิงหาคม 2015, 10:37:11 AM โดย admin »

ออฟไลน์ bullnbearthailand

  • นักลงทุนขั้นต้น
  • *
  • กระทู้: 1
  • พลังน้ำใจ: 0
Re: ขั้นตอนการ Backtest EA
« ตอบกลับ #3 เมื่อ: 12 สิงหาคม 2015, 10:35:50 AM »
ผมอยากรู้วิธีการแบ็คเทสท์ ของ 1 M ให้ได้ modelling quality 99 % พอมี วิธีอธิบายหรือตัวอย่างและขั้นตอนการเทสท์จะขอบคุณมากๆครับ

ออฟไลน์ Fx XXXXX

  • นักลงทุนขั้นเทพ
  • ****
  • กระทู้: 1848
  • พลังน้ำใจ: 62
    • Blog
Re: ขั้นตอนการ Backtest EA
« ตอบกลับ #4 เมื่อ: 19 พฤศจิกายน 2016, 00:56:40 AM »
 :pien020: :wanwan011: :wanwan011:

ออฟไลน์ learntotradefx

  • นักลงทุนขั้นต้น
  • *
  • กระทู้: 30
  • พลังน้ำใจ: 8
  • นักลงทุนสายอู้
    • Learntotradefx
Re: ขั้นตอนการ Backtest EA
« ตอบกลับ #5 เมื่อ: 07 มีนาคม 2017, 10:09:50 AM »
โน๊ตประกอบไว้นะครับ เผื่อมีคนสนใจจะทำ

วิธีทำ Backtest Model Quality 99 % ด้วย TDS (software ขาย แต่มีทดลองใช้ฟรีได้ชั่วระยะเวลาหนึ่ง)
http://www.tradeguideline.com/model-quality-99-mt4-back-testing/

ก่อนอื่น การทดสอบด้วยระบบแบคเทสปกติจะได้ Quality สูงสุดประมาณ 90 % เพราะข้อมูลที่ MT4 ใช้ในการทำแบคเทสนั้นจริงๆเป็น OHLC (Open High Low Close) ที่ M1
อธิบายง่ายๆก็คือ ในเวลา 1 นาที ข้อมูลจะถูกเก็บด้วยค่าเพียง 4 ค่า

การเก็บข้อมูลต่อแท่งด้วยค่าสี่ค่า ทำให้ไม่สามารถอธิบายการเคลื่อนที่ขึ้นลงภายในแท่งดังกล่าวได้ นอกจากจะเก็บข้อมูลเป็นรายวินาทีแทน นั่นหมายถึง 1 นาทีจะต้องเก็บด้วยค่า 60 ค่า
ถึงจะทำให้มีข้อมูลเพียงพอที่จะเข้าใจการเคลื่อนที่ภายในแท่งนั้นได้ตรงกับความเป็นจริงที่สุด ว่าในแท่งนั้นมันวิ่งไปบน(high)ก่อนแล้วค่อยลงมา(low) แล้วค่อยไป close หรือลงก่อน (low) แล้วค่อยขึ้นบน(high)จากนั้นมา close แล้วมันมีการวิ่งขึ้นลงกี่ครั้ง ถ้าเก็บดาต้าแค่สี่ตัวจะบอกรูปแบบเหล่านี้ไม่ได้

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

MT4 จะจำลองเป็นรูปแบบมาตรฐาน
ตามลักษณะแท่งเทียนที่ตายตัวไปเลย ตามบทความนี้ครับ https://www.mql5.com/en/articles/75

นั่นทำให้
- หากเราสร้างอีเอตามรูปแบบตายตัวนี้มาแบคเทส ผลจะออกมาดีเสมอ
เพราะเหมือนเรารู้เฉลยของแบคเทสด้วย MT4 แล้วว่าจะวิ่งไปไหนก่อน หลัง

การจำลองนี้ โดยทั่วไปก็ถือว่าใกล้เคียงภาวะจริงประมาณ 90 % จึงใช้ได้ในระดับหนึ่ง (แต่จะคลาดเคลื่อนได้มาก หากโปรแกรมเมอร์จงใจทำอีเอโดยดักวิธีแบบที่ยกตัวอย่างไว้)
การคลาดเคลื่อนจากความจริงจะมีมากขึ้นเมื่อใช้ Time frame ขนาดเร็ว

ดังนั้นสำหรับคนที่จริงจังเรื่องแบคเทส ก็เลยพยายามทำระบบแบคเทสให้ใช้ข้อมูลระดับ Tick data ขึ้นมาแทน เพื่อให้ติดตามการเคลื่อนไหวของกราฟราคาภายในแท่งต่างๆได้ละเอียดขึ้น
ความคลาดเคลื่อนที่น้อยลงจากข้อมูลราคาที่ละเอียดขึ้น ก็คือวิธีทำแบคเทส 99 % นั่นเอง

วิธีที่ผมใช้อยู่คือ ผมใช้ TDS (software ขาย) ของเวบ www.eareview.net (birt) ราคาแถวๆ 100 usd
แล้วถ้าอยากจะอัพเดตเวอร์ชั่นใหม่ต้องจ่ายค่า subscription อีกเดือนละ 10 usd (มั้ง) จริงๆมีทริคคือปล่อยให้ขาดไปก็ได้ แล้วนานๆค่อยไป subscript ใหม่ ตอนเขาอัพเดตแล้ว เพราะเท่าที่ดูไม่ได้อัพเดตทุกเดือน
// อยากได้วิธีที่ไม่ต้องจ่ายเงินเหมือนกันครับ แต่ตอนนี้ยังหาไม่เจอ เลยใช้แบบนี้ไปก่อน

วิธีลงเหมือนโปรแกรมทั่วไป พอลงแล้วมันจะไปตรวจ MT4 ทั้งหมดในเครื่องเราเอง แล้วมันจะขึ้นให้ใช้ได้โดยมันไปแทรกให้ติ๊กว่าจะใช้ Tick data ไหม ตามรูปครับ


เราก็เลือกได้ว่าจะทดสอบแบบปกติ หรือแบบ Tick data // แบบ tick data จะทดสอบแล้วรันช้ามาก เพราะมันจะเอาข้อมูลการวิ่งละเอียดกว่ามาทดสอบ (เท่าที่ผมลองดึงข้อมูลมาดู มันไม่ละเอียดถึง 60 จุดต่อนาที แต่จะประมาณ 10-30 จุด)

*เรื่องข้อมูล Tick data นั้นตัวนี้รองรับ Dukas copy / True คือพอเราลงโปรแกรมเสร็จ เราต้องไปสั่งให้ TDS download manager ไปโหลดข้อมูลสกุลเงินที่ต้องการ Tick data มาใส่เครื่องเราก่อนด้วย ถึงจะมีดาต้าแบบ Tick ให้ใช้
« แก้ไขครั้งสุดท้าย: 07 มีนาคม 2017, 10:11:39 AM โดย learntotradefx »