เมษายน 2556
 123456
78910111213
14151617181920
21222324252627
282930 
28 เมษายน 2556

ทำ Backtest ระบบเทรด EA ด้วยโปรแกรม MT4 (Metatrader 4) 28/4/56

สวัสดีครับ ว่าจะเขียนเรื่องการทำ Backtest มาหลายวันแล้ว แต่โดนโรคเลื่อน เพราะ ยุ่ง ๆ หลายเรื่อง ก็เลยไม่ได้เขียนซักที

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

การทำ Backtest ถ้าเป็นสมัยก่อน อาจจะต้องมานั่งเปิด Chart แล้วไล่ดูหาจังหวะซื้อขายของระบบ แต่ปัจจุบันมี Software มาช่วยทำให้สะดวก และรวดเร็วมากยิ่งขึ้น โปรแกรม MT4 ก็เป็นโปรแกรมนึง ที่คนใช้กันอย่างแพร่หลาย และตัวมันเองก็สามารถทำ Backtest ได้ด้วยครับ

โปรแกรม MT4 นั้นเราสามารถ Download ได้ฟรีจาก Broker ที่มีระบบรองรับ MT4 โดยส่วนตัวผมเอง ผม Download MT4 จาก Broker Alpari NZ เนื่องจากทาง Alpari มี database ย้อนหลังตั้งแต่ปี 2000 ทำให้เราสามารถทำการทดสอบย้อนหลังได้ยาวถึง 10 กว่าปีครับ

ขั้นตอนการดาวโหลด MT4 จาก Alpari NZ เข้าเวป Alpari NZ เพื่อโหลด MT4 -> ที่นี้
ลงทะเบียนโดยกด Register for MyAlpari เพื่อเปิดบัญชี Demo Account และโหลดข้อมูล history data

กรอกข้อมูลเพื่อลงทะเบียน ตรง Number of Identity-confirming Document: ตรงนี้ใส่เลขที่บัตรประชาชน หรือ Passport ก็ได้ครับ ถ้าเราจะโหลด MT4 เพื่อ Backtest เท่านั้น เราก็ใช้แค่บัญชี Demo และไม่จำเป็นต้อง upload หรือส่งเอกสารดังกล่าวเพื่อยืนยันตัวตนครับ เมื่อกรอกครบแล้ว ก็เลือกวิธีการ Confirm Code SMS หรือ ทาง Email ก็ได้แล้วแต่สะดวก เมื่อได้ Code แล้ว เราก็นำมาใส่ เป็นอันสิ้นสุดการลงทะเบียน เราก็จะได้ Password เพื่อเข้าไปที่ MyAlpari Account ของเราครับ

เมื่อได้ Password เรียบร้อยแล้ว ก็ Login เข้าไปใน MyAlpari จากหน้าเวป และเลือกหัวข้อ Trading Platform จากนั้นก็เลือก Download โปรแกรม MT4 มา install ได้เลยครับ

ในช่วงระหว่าง Download นี้เราก็เปิดบัญชี Demo Account รอไว้เลยครับ โดยจาก My Alpari เลือก Open Account -> Demo Account -> Trade  ตรงนี้ระบบจะให้เราเลือกชนิดของบัญชี Demo แนะนำให้เลือก demo.ecn.mt4 ซึ่งจะเป็นบัญชี ECN ค่า spread จะต่ำกว่า standard และจะไม่เจอ requote ราคาครับ กำหนดสกุลเงินเป็น USD และเลือก Initial Deposit เป็นเท่าไหร่ก็ได้แล้วแต่เราเลย เพราะเป็นบัญชี Demo จากนั้นกดยืนยัน และ Continue ก็เป็นอันเสร็จ ได้บัญชี Demo ซึ่ง ระบบจะแจ้ง username และ password พร้อมทั้ง server สำหรับเข้าโปรแกรม MT4 ครับ

บางคนอาจจะงง ว่าทำไมมี username password อะไรหลายเยอะแยะไปหมด password อันแรกนั้นเป็นของ MyAlpari ใน MyAlpari นั้นเราสามารถมีบัญชี Demo หรือ Real ได้หลาย Account นั้นเองครับ ส่วน Password อันหลังที่เราเพิ่งได้มานี้เป็น password สำหรับเข้าโปรแกรม MT4 สำหรับ Account Demo ครับ 

เมื่อ Install MT4 เรียบร้อยแล้ว ก็เปิดโปรแกรม MT4 ขึ้นมาได้เลยครับ จะขึ้นหน้าต่างโปรแกรมตามรูปด้านล่าง พร้อมทั้งให้เรา Login ใส่ Username Password และเลือก Server ให้ถูกต้องก็จะเข้าโปรแกรมเรียบร้อยครับ


มาถึงขั้นตอนนี้ ถ้าจะลองเทรดเล่นกับบัญชี Demo เราก็สามารถเทรดเล่นได้เลยครับ แต่จุดประสงค์ของเราคือทำ Backtest ระบบเทรด ก็มาเริ่มกันเลยดีกว่าครับ

ในตัวโปรแกรม MT4 นั้นมี Strategy Tester อยู่ในตัว วิธีการจะเอาออกมาเลือก View -> Strategy Tester แค่นี้ มันก็จะขึ้นมาด้านล่างครับ แต่ก่อนที่เราจะเริ่มทำ Backtest เราควรโหลดข้อมูล History Data ก่อนครับ เนื่องจากข้อมูลที่มากับตัว MT4 เริ่มต้นนั้น จะมีข้อมูลย้อนหลังเพียงแค่ไม่กี่เดือน ซึ่งถิอว่าน้อยไปครับ

เริ่มแรกเข้า Tools -> Option ที่ Tab Charts ปรับเปลี่ยนค่า Max bar in history และ Max bar in chart ให้เป็น 5000000 (เพื่อรอรองรับข้อมูลย้อนหลังที่เราจะดาวโหลดมา)



เข้า Tools -> History Center เลือกคู่สกุลเงิน หรือ Commodity และ Time Frame ที่เราต้องการทดสอบ (ถ้าตรงนี้ยังไม่แน่ใจเลือก 1 Minute ไปก่อนครับ) จากนั้นกด Download แล้วก็รอครับ ....

เมื่อ Download เรียบร้อยเราจะมีข้อมูลย้อนหลังขึ้นมาแสดงตามรูปด้านล่างครับ (ข้อมูล history จาก Alpari นั้นส่วนใหญ่เริ่มจากปลายปี 1999)



เนื่องจากข้อมูลนั้นเยอะมาก ดังนั้น Computer ที่ใช้ทดสอบ จึงควรมีเนื้อที่ Hard Disk และ RAM พอสมควรนะครับ จากประสบการณ์ส่วนตัว การทำ Backtest 13 ปี ของ 1 คู่สกุลเงินจะใช้ Harddisk ประมาณ 5G และ RAM ของเครื่องอย่างต่ำควรมีประมาณ 4G (ผมเคยลองใช้เครื่อง 2G ก็พอใช้ได้ แต่จะช้า และบางทีมีปัญหาถ้าเปิดหน้าต่างเยอะ มันก็ไม่ยอมรันครับ)

ในกรณีที่เครื่อง Computer ไม่อำนวยเราก็อาจจะลบข้อมูลเก่า ๆ ทิ้งไปบ้าง แต่แนะนำว่าอย่างน้อยควรทดสอบเป็นปีครับ (ยิ่งมากยิ่งดี)

เมื่อ Download ข้อมูล history มาเรียบร้อยแล้ว ก็เตรียมนำระบบเทรดมาทดสอบได้เลยครับสำหรับคนที่ยังไม่มีระบบเทรด หรือ EA ลอง download EA ตัวนี้ไปลองทดสอบก่อนได้ครับ MyPyramid_v08b.ex4 (EA ตัวนี้ไม่เหมาะสำหรับเทรดจริงนะครับ)

EA จะทำงาน หรือ Backtest ได้ ไฟล์ EA นั้นจะต้องมีนามสกุลเป็น ex4 และต้องอยู่ใน directory expert ของโปรแกรม MT4 นะครับ หรือถ้าเป็นไฟล์ Source Code นามสกุล MQL4 เราจะต้องนำไปเปิดในโปรแกรม Metaeditor (Tools -> Meta language Editor) และ Compile ให้ออกมาเป็นไฟล์ ex4 เสียก่อนครับ

เมื่อทุกอย่างพร้อมแล้วก็เปิดหน้าต่าง Strategy Tester ขึ้นมาเลยครับ (เลือก View -> Strategy Tester)



เลือกระบบเทรด EA (Expert Advisor), คู่สกุลเงิน และ Time Frame ที่เราต้องการจะทดสอบ (ต้องดูว่า EA นั้นออกแบบมาสำหรับ Time Frame ไหน) ส่วน Model เลือกเป็น Every tick (เป็นการทดสอบที่ละเอียด และได้ผลใกล้เคียงจริงที่สุด แต่จะใช้เวลาในการทดสอบนานที่สุด) ช่อง Optimization เว้นไว้ ถ้าต้องการดูกราฟและดูจังหวะเข้าเทรดของ EA ติ๊กที่ Visual mode (แต่จะทำให้การทดสอบช้า)



ถ้ากดที่ปุ่ม Expert Properties จะขึ้นหน้าต่างให้เราตั้งค่าระบบเทรดได้ โดยที่ Tab Testing เราสามารถกำหนดจำนวนทุนเริ่มต้น และเลือกการเปิดเฉพาะ Order BUY หรือ SELL ได้ ส่วนใน Tab Input เราสามารถตั้งค่า Parameter ต่าง ๆ ของ EA ซึ่งตรงนี้ แต่ละ EA จะปรับตั้ง แตกต่างกันไป ไม่เหมือนกันครับ แล้วแต่คนออกแบบ EA จะกำหนดมาครับ ส่วน Tab Optimization นั้นไว้สำหรับ Optimize ระบบเทรด ซึ่งผมจะกล่าวถึงโดยละเอียดอีกทีในวันหลังครับ



เมื่อตั้งค่าทุกอย่างเรียบร้อยแล้ว ก็กด Start เพื่อเริ่มการทดสอบครับ สำหรับการทดสอบ Backtest ตั้งแต่ปี 1999 จนถึงปัจจุบันนั้น จะใช้เวลาพอสมควร ความเร็วในการทดสอบขึ้นอยู่กับความเร็วของเครื่องคอมพิวเตอร์ โดยปกติผมจะใช้เวลาทดสอบครั้งนึงประมาณ 45 นาที - 1:30 ชม แต่ในกรณีที่เครื่องเร็ว หรือช้ากว่า ก็จะแตกต่างกันไปครับ ซึ่งในขณะการทดสอบเราสามารถดูผลไปด้วยได้ โดย click ที่ tab result หรือ graph (equity graph) เราก็จะเห็นรายละเอียดการเปิดปิด Order และขนาดพอร์ตที่โตขึ้น หรือลดลง ในขณะการทดสอบกำลังดำเนินไปได้เลยครับ และเมื่อทดสอบเสร็จเรียบร้อย โปรแกรมก็จะสรุปผลการเทรดออกมาใน tab report ครับ



สำหรับใครที่สนใจจะหา EA มาทดสอบเพิ่มเติม ใน Internet นั้นมีหลายตัวมากมาย แต่ส่วนใหญ่ที่แจกกันฟรี นั้นจะไม่ค่อยเวิร์คซะเท่าไหร่นะครับ เวปด้านล่างนี้ก็เป็นอีกเวปนึงที่มี EA หลายตัว
//www.earnforex.com/metatrader-expert-advisors/ ส่วนตัวผมไม่ได้ลองโหลดมาทดสอบซักเท่าไหร่ ถ้าใครเจอดี ๆ ก็อย่าลืมมาบอกกันบ้างนะครับ หรือถ้าใครสนใจที่จะพัฒนา EA เป็นของตัวเอง ก็ศึกษาภาษา MQL4 ได้ที่ //www.mql4.com/en ครับ Smiley




 

Create Date : 28 เมษายน 2556
18 comments
Last Update : 28 เมษายน 2556 23:27:55 น.
Counter : 16891 Pageviews.

 

ขอบคุณครับ กำลังหัด forex ครับ
แต่มีคำถามครับ ผมลองทำตาม ทำไมมันถึงดึงข้อมูลย้อนหลังได้แค่ 2000 กว่าเองครับ

 

โดย: tewin IP: 49.0.82.201 7 พฤษภาคม 2556 17:14:58 น.  

 

2000 กว่านี้คือปี หรืออะไรครับ

 

โดย: Mikas 7 พฤษภาคม 2556 18:35:12 น.  

 

ขอบคุณมากๆครับ

 

โดย: 007 IP: 61.90.141.59 21 มิถุนายน 2556 15:20:26 น.  

 

ลองมาหาประสบการณ์ทำกำไรกับ forex แบบไม่ต้องเหนื่อยแต่ยังได้กำไรกัน กับอีก 1 ช่องทางนะครับ

ลองมาศึกษากันดูที่
//www.greenplusclub.com/

https://www.facebook.com/greenplusclub

แล้วพบกันที่ความร่ำรวยกับระบบทำเงินที่ดีที่สุดในยุดออนไลน์นี้ึครับ

admin

 

โดย: greenplusclub IP: 202.12.74.129 4 กรกฎาคม 2556 15:18:02 น.  

 

อ่านแล้วเข้าใจง่าย อธิบายได้ดีมากเลยครับ

ขอบคุณสำหรับบทความดีดีครับผม

 

โดย: The Tfex Killer IP: 118.174.14.138 23 สิงหาคม 2556 13:46:02 น.  

 

เขียนได้ละเอียดมากๆเลยครับท่าน
ขอบคุณมากๆครับ

 

โดย: fx IP: 1.0.227.93 31 สิงหาคม 2556 17:22:21 น.  

 

มีแต่บันชีdemo หรอคะ

 

โดย: seris IP: 114.109.96.139 27 พฤศจิกายน 2556 17:30:18 น.  

 

ตัว MT4 มันเทรดได้ทั้ง demo และ live ครับ ขึ้นอยู่กับ login account

ถ้าเราต้องการ login เข้าบัญชีจริง (Live account) ก็ใช้ account ของบัญชี live login เข้าไปได้ครับ

 

โดย: Mikas 3 ธันวาคม 2556 15:56:33 น.  

 

ขอบคุณมากครับ พอดีกำลังหาข้อมูลอยู่เชียว

 

โดย: yoye IP: 171.99.20.129 8 ธันวาคม 2556 20:46:55 น.  

 

รบกวนนิดนะครับ พอดีผมลองแบคเทสแล้ว คืองี้ครับ
พอเทสแค่ใช้ผลปีนี้ ผลอกมาดีมาก ใช้งานได้เลย แต่พอเอาผล 10 ปี เจ๊งสนิทเลย ผมเลยสงสัยครับ
ว่าเราต้องใช้ผลของช่วงปีไหนมาเทส เพราะผมว่า 10 ปีไม่ถูกนะ เพราะระบบการบริหารเศรษฐกิจ และเสถียรภาพทางการเงินของประเทศที่เราเล่นมันเปลี่ยนไปในแต่ละปี ซึ่งในแต่ละปีบางช่วงเศรษฐกิจเค้าเสียหายหนักหรือกราฟแปรปรวน มันก็ปิดพอร์ตที่เราเทสไปเลย ตั้งแต่ 3-5 ปีแรกๆ แต่ผมไม่มีความรู้ว่ารูปแบบกราฟในช่วงปีปัจจุบันมันใกล้เคียงช่วงปีไหนอ่าครับ จึงขอรบกวนช่วงวิเคราะห์ทีครับ ว่าช่วงปีไหนที่เหมาะกับการแบคเทสช่วงนี้ที่สุดครับ
ปล.ผมคิดว่าEAแต่ละตัวมีอายุไขนะ มันอาจใช้ดีแค่บางช่วง อาจแค่ 3-4 ไตรมาส หรือเป็นแค่ 1 ปี เลยทำให้อีเอเก่าแล้วที่เค้ามาให้โหลดพอแบคเทสแล้วใช้ไม่ได้ครับ
เอื่อ ผมจบเกี่ยวกะเลี้ยงสัตว์มาครับ ไม่มีความรู้ด้านนี้เลยนะครับ ถ้ามันผิดพลาดไง ขอโทษด้วยนะครับ

 

โดย: yoye IP: 101.108.191.62 9 ธันวาคม 2556 11:02:03 น.  

 

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

ผมไม่ได้คาดหวังไปถึง EA ที่สามารถทำกำไรได้ตลอดทุกสภาพตลาดนะครับ แค่จุดสำคัญให้มันต้องอยู่รอดในตลาดได้ และโดยรวมมุมกว้างสามารถทำกำไรได้แค่นั้น จากที่ผมได้ลองแบคเทส EA มาหลายตัว EA ที่รอดผ่านตลาดมากกว่า 10 ปี นั้นมีอยู่หลายตัวครับ ถึงแม้บางช่วงผลงานจะไม่ดีบ้าง แต่มันก็อยู่รอดผ่านมาได้ นั่นแสดงถึงว่าตัวมันเอง มีกลยุทธที่รองรับความผิดพลาดที่ดีระดับหนึ่ง การอยู่รอดได้นี้เป็นจุดสำคัญจริง ๆ ยังไงผมก็แนะนำให้ทำการ Backtest โดยใช้ช่วงเวลายาวที่สุดเท่าที่จะสามารถทำการทดสอบได้ครับ ถ้าระบบเทรดนั้นเอาตัวรอดไม่ได้ ก็แสดงให้เห็นว่ามันมีจุดอ่อนอย่างชัดเจน และไม่ควรใช้มันครับ

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

 

โดย: Mikas 5 มกราคม 2557 1:06:49 น.  

 

ลองทำแล้วครับมีขี้นแค่ไม่กี่เดือนเองครับ

 

โดย: tao IP: 171.97.65.74 13 มิถุนายน 2557 8:35:42 น.  

 

ไม่รู้ทำผิดตรงไหนรบกวนช่วยหน่อยครับ

 

โดย: tao IP: 58.9.1.110 13 มิถุนายน 2557 19:36:25 น.  

 

อาจจะอยู่ที่ Broker ด้วยนะครับ ผมใช้ของ Alpari load history data ย้อนหลังได้ถึงปี 2000 ครับ

 

โดย: Mikas 30 กันยายน 2557 21:43:17 น.  

 

ข้อมูลดีมากเลย ขอบคุณครับ ผมเพิ่งเขียน EA เสร็จ มาสักพัก สงสัยต้องลองภาวะตลาด ยาวๆ สักหน่อย ว่าจะรอดมั้ย

 

โดย: SirTON IP: 27.55.149.28 26 พฤศจิกายน 2557 13:51:47 น.  

 

 

โดย: สมาชิกหมายเลข 1932853 11 ธันวาคม 2557 22:34:39 น.  

 

longandshort.webs.com

 

โดย: goldspot IP: 171.101.212.112 4 กุมภาพันธ์ 2559 13:33:25 น.  

 

ข้อมูลย้อนหลัง Forex historical data เพื่อทำ Backtest ข้อมูลประมาณ 10 ปี ข้อมูลมีคุณภาพ สมบูรณ์ หลายสกุลเงิน และ Timeframe ทางเรามีข้อมูลย้อนหลังตั้งแต่ปี 2007-ถึงอัฟเดตสัปดาห์ที่ผ่านมาล่าสุด ข้อมูลมีคุณภาพเชื่อถือได้ ใช้งานได้ทันที
ที่
www.forexhistorydata.blogspot.com

 

โดย: data IP: 1.46.237.108 4 กุมภาพันธ์ 2559 21:47:18 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 


Mikas
Location :
ปทุมธานี Thailand

[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 15 คน [?]




 
[Add Mikas's blog to your web]