เส้น

การเพิ่ม Function อื่น ๆ ให้กับ EA

(( การเขียน EA โดยใช้ FxPro Quant ))

เรากำลังพูดถึง EA ที่เราเขียน เมื่อวาน ซึ่งเป็นการส่งคำสั่ง Long Only และใช้ First Tick เป็นเงื่อนไขเพียงเงื่อนไขเดียวสำหรับการส่งคำสั่ง โดยมี Stop loss ซึ่งการมี Stop Loss ทำให้เราต้องนึกถึง Risk Reward และ Win percent เข้ามาโดยปริยาย เพราะว่า หลักการเทรดแบบนี้มันบังคับด้วยตัวมันเอง

โดยในวันนี้ ผมก็จะมาพูดถึงการ Modified EA ตัวเมื่อวาน โดยการปรับให้ผลขาดทุนน้อยลง โดยสิ่งที่เราจะทำการปรับปรุงเพิ่มเติมวันนี้ ประกอบด้วย การใส่ Trailing Stop และการปรับขนาดการลงทุน นั่นคือ Money Management นั่นเอง

สองสิ่งนี้มีความสำคัญอย่างไร? เพราะว่า Trailing Stop จะสาสมารถป้องกันเราจากเหตุการณ์ ที่ออเดอร์กำลังกำไรและเปลี่ยนเป็นขาดทุน ทำให้เรากำไรน้อย มากกว่าที่จะขาดทุน ขณะที่เราจะเอา Take Profit ออก เพื่อ Lot Profit run และปล่อยให้ชน Trailing Stop เอาเอง  เมื่อเราได้กำไรมากและกำไรน้อย บางครั้งมันจะชดเชยกันเอง  ทำให้ Risk Reward เป็นไปตามเงื่อนไขการเข้าเทรดของ EA เท่านั้น

การจัดการขาดการลงทุน เป็นการชะลอการขาดทุนทำให้พอร์ทขาดทุนลงช้า และเวลากำไรก็เพิ่มขึ้นอย่างรวดเร็วเช่นกัน ซึ่งการจัดการการเงินจะทำให้กำไรของเราเพิ่มขึ้นได้ ทั้ง 2 กระบวนการมีเทคนิคที่เรียบง่าย และเข้าใจได้ ใคร ๆ ก็ทำได้ โดยเราจะเริ่มกันที่การใส่ Trailing Stop ก่อน

 

Trailing Stop

สำหรับการใส่ Trailing Stop นั้น ทำได้ไม่ยาก และเราจะเริ่มกันด้วย EA ตัวเมื่อวาน

ในภาพจะแบ่งเป็นสองกลุ่ม  โดยเราจะพูดถึงกลุ่มด้านล่างก่อน นั่นคือ กลุ่ม Trailing Stop โดย Node ของ Simple Trailing Stop ก็สามารถหาได้จากแถบ Libraries ด้านขวามือล่าง โดยผมทำการ ดึงค่า INPUT เอามาใส่และตั้งชื่อใหม่ว่า TL(Point) นั่นคือ Trailing Point นั่นเอง เพื่อให้สะดวกต่อการปรับค่าเวลาทำ Back Test และผมทำการดึง Magic Index เข้ามาต่อกับ Trailing Stop แค่นี้ก็จะทำให้มันรู้ว่าจะต้องไปส่งคำสั่ง Trailing กับออเดอร์ไหนก่อน

โดยผมเลือกตั้งค่า Stop loss ให้เท่ากับ 20 Pip ส่วน Trailing Stop ตั้งค่าไว้ที่ 150 Point เพราะมันตั้งค่าเป็น Point ได้อย่างเดียว สำหรับ 150 Point ก็คือ 15 pip แล้วเราจะพูดถึงการจัดการ Lot ก่อนจะไปสู่การทำ Back Test

การจัดการ Lot

ในกราฟ ผมใช้ ข้อมูลจาก Node ที่เรียกว่า Account แล้วเลือกให้มันดึงค่า Balance ผมใช้ Balance หารด้วย 1000 ซึ่งทำให้ Lot ที่ได้เท่ากับ 1 อย่างไรก็ตาม ถ้าหากว่า Balance ลดต่ำลงจากการขาดทุน การหารด้วย 1000 อาจจะทำให้ตัวเลขกลายเป็นเศษทศนิยม เช่น 9.837 ซึ่ง บางโบรคเกอร์ไม่ได้ยอมรับเงื่อนไขของการส่งออเดอร์ ต่ำกว่า 0.1 ด้วยซ้ำ (แล้วแต่ประเภทของบัญชีอีกด้วย) ซึ่งเพื่อป้องกันเหตุการณ์ดังกล่าว จึงทำการ Round ทำให้มันเป็นตัวเลขกลม ๆ เช่น 9873/1000 = 9.873 เมื่อเราทำการ Round ก็จะเหลือ เพียง 9 เท่านั้น หรือถ้าเกิน 5 ก็จะปัดเศษเป็น 10 ทุกครั้ง

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

เราจะมาดูผลการ Back Test ในกราฟ EURUSD กับ Time Frame 1 ชั่วโมงดูว่าผลจะเป็นอย่างไร

กราฟข้างต้น แสดงผลขาดทุน 4101 USD และ Win percent เท่ากับ 44.56 ขณะที่ Risk Reward เท่ากับ 4.61: – 5.11 นั่นหมายความว่า ทั้ง Risk Reward ที่สูงแล้ว ยังเจอกับ Win percent ที่ต่ำกว่าครึ่งอีก

จากกราฟ จะเห็นว่า มีบางช่วงได้กำไร ขณะที่ส่วนใหญ่จะขาดทุน ขนาด Lot ในกราฟ มีการลดหลั่นลง ค่อย ๆ ลด ไม่ได้มีขนาด Lot คงที่ ซึ่งเป็นไปตาม Balance ยิ่งมีน้อยก็ส่ง  Lot น้อย แต่เพื่อให้บรรลุวัตถุประสงค์ เราจะทำการปรับ Time Frame ขึ้น และ ลด Trailing sTop ลง โดย Concept ก็คือ เนื่องจากกรอบการเคลื่อนไหวของ Time Frame ต่ำนั้นแคบกว่า เมื่อเปิดออเดอร์จึงเป็น Spread ไปกว่า 20 percent ต่อออเดอร์ เมื่อเราปิดออเดอร์ เราก็จะขาดทุน Spread ดังนั้น เราจึงทำการขยับขึ้นไป 1 Time Frame เพื่อให้สัดส่วน Spread น้อยลง และลด Trailing Stop 2 ปัจจัยนี้ โดยเริ่มจากการขยับ Time Frame ก่อนว่า จะดีขึ้นหรือไม่

ผลของการขยับ Time Frame  ขึ้นทำให้กำไรขยับขึ้น โดยช่วงแรกมีกำไรขณะที่ช่วงหลัง ๆ ของกราฟขาดทุน ซึ่งเราจะทยอยแก้ไข มันไป

 

โดยการ Back Test ใน Time Frame 1H นั้น ขาดทุน ขณะที่เมื่อย้าย Time Frame เข้ามาเทรด Time Frame ที่ใหญ่กว่าเดิมทำให้ผลการเทรดดีขึ้น จนเมื่อเปลี่ยนมาเทรด Time Frame Daily ผลการเทรด เป็นไปตามภาพข้างล่างนี้

โดยผมได้ชี้แจงว่า นั่นเป็นเพราะว่า สัดส่วน กำไรขาดทุน ต่อ Spread ซึ่งเป็นอำนาจต่อรองของ Broker นั้นได้ลดน้อยลงไปใน Time Frame ใหญ่ ๆ การขยับเขยื้อนเพียงเล็กน้อยก็ทำให้เกิดกำไรได้ อย่างไรก็ตาม ผมได้เพิ่มความเห็นไว้ว่า อย่าเพิ่งได้นำ EA แบบนี้ไปใช้งาน นั่นเพราะว่า มันเป็น EA ที่เข้าเทรดมั่ว ๆ ยังกำไร หมายความว่า จริง ๆ แล้วเราไม่รู้เลยว่า เหตุผลที่มันกำไรนั้นคืออะไร อะไรก็ตามที่เราไม่เข้าใจมัน มันคือความเสี่ยง ความไม่รู้จริง

หลายคนอาจจะไม่เชื่อ เดี๋ยวผมจะทำให้ดู  วันนี้เราจะมาดูในเรื่องของการเทรดใน Model นี้ต่อ โดยผมจะทำการเปลี่ยนเงื่อนไขเพียง 1 เงื่อนไข นั่นคือ การเปลี่ยนจากการส่ง Buy กลับมาเป็น Sell โดยการส่ง First Tick เหมือนเดิมกับการส่ง Buy เพียงแค่กลับด้านเท่านั้น ซึ่งถ้าหากว่าเป็นเพราะว่า First Tick นั้นมันได้ผล การส่งคำสั่ง Sell ก็ย่อมจะสามารถทำกำไรได้เช่นเดียวกัน

เป็นอย่างไรครับ Time Frame เดียวกัน และช่วงเวลาที่ใช้ Back Test เดียวกัน แต่ต่างกันที่มันเป็น order Sell อย่างเดียว สร้างความแตกต่างได้มหาศาล ออเดอร์ที่กำไรในฝั่ง Buy กลับไม่สามารถทำกำไรได้ในฝั่ง Sell นั่นก็เพราะว่า เราไม่รู้ว่าทำไม EA ถึงทำกำไรได้ในฝั่ง Buy มันยังมีแบบนี้อีกหลายกรณี จริง ๆ แล้ว ไม่ยากเลยครับ ไม่ว่า EA ตัวไหน หรือว่าระบบเทรดระบบไหน สิ่งที่คนเขียน EA หรือ คนเทรดควรทำอันดับแรกก็คือ ทำไมมันถึงขาดทุน และทำไมมันถึงกำไร ส่วนใหญ่แล้วคนเขียน EA ก็แค่บอกว่า มันไม่กำไรเท่านั้นเอง แต่ไม่ได้บอกว่า ทำไมถึงไม่กำไร ซึ่งมันทำให้เราต้องเสี่ยงกับสิ่งที่เราไม่รู้จัก  ในการเทรดนั้น ความเสี่ยงคือ ภาวะที่ไม่ได้เป็นไปอย่างที่คิด แม้ว่าจะกำไร ก็ยังเสี่ยงอยู่ดี  นั่นก็คือสภาวะที่เรากำลังเผชิญอยี่นี่แหละครับ เรียกว่า เสี่ยง

สิ่งที่เราควรทำเข้าใจคืออะไร?

จะเห็นว่า การที่เราขาดทุนนั้น คือ การที่ Order นั้นชน Stop loss มากกว่า การทำกำไรได้ นั่นเพราะเราเข้ามั่ว ๆ ดังนั้น สิ่งที่เราควรทำความเข้าใจคือ การเข้าเทรดครับ หลายคนบอกว่า ไม่เห็นจะยาก งั้นก็เอา indicator เข้าใส่ไปสิ ก็จะสามารถเทรดได้ตรงเทรนด์แล้ว ผมคงต้องบอกว่า มันไม่ได้อย่างนั้นครับ

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

อ้าว!!! งั้นก็เพียงพอแล้วนีน่ เราแค่รู้ว่า Buy หรือ Sell ก็พอแล้ว ก็ต้องบอกอีกว่าไม่พอครับ การเข้าเทรด ถูกทางแต่ไม่ถูกราคาจะทำให้เราชน Stop loss ก็มีครับ เพราะว่า แม้ว่าเราจะเข้าฝั่งถูก แต่ว่าเมื่อมันพักฐาน มันก็แกว่งโดน Stop loss ของเราเช่นกัน ดังนั้นปัญหานี้มันยากกว่าที่คิดมากครับ เรามาดูก่อนว่า เราควรจะปรับอะไร ดังนี้ครับ

สิ่งที่เราสามารถปรับได้ มีเพียง 2 อย่างเท่านั้นครับ นั่นก็คือ Win Percent ใน สี่เหลี่ยมสีแดง และ Risk Reward ใน สี่เหลี่ยมสีเขียว แล้วทำไม Risk Reward เปลี่ยน ในภาพ Risk Reward มันมาจากการที่ปิดกำไรขาดทุนเฉลี่ยได้เท่าไหร่ และ Win % ก็เช่นเดียวกัน ซึ่งสาเหตุที่มันเปลี่ยนนั่นเพราะว่า มันมีพฤติกรรมการเคลื่อนไหวของมันเปลี่ยน ซึ่งสิ่งนี้เรียกว่า Trading Scenario ที่ผมเคยเขียนบทความไว้และคนที่เผยแพร่เรื่องนี้ในไทยที่ผมรู้จัก คือ คุณอาภากรณ์  สุวรรณศักดิ์ ผู้จัดการกองทุน Middle March Capital Tokyo นั่นเองครับ

เราต้องยอมรับว่า กราฟจะไม่เคลื่อนไหวแบบเดิมไปตลอดปีตลอดชาติ มันจะเปลี่ยนไปมาแบบนี้ให้เราปวดหัวนั่นแหละครับ ดังนั้น Scenario Sell และ Buy แตกต่างกัน และในโลกการเทรดมีหลาย Scenario เราแค่ค้นพบว่า การเทรด แบบนี้ใช้ได้เพียงสถานการณ์เดียวเท่านั้นเองครับ วิธีแก้ที่จะทำให้ได้กำไร และจะทำให้ EA ได้กำไรทั้งฝั่ง Buy และ Sell คือ การสะสมความรู้ด้าน Scenario ให้มากพอ ทำความรู้จักกับมันและนำมาทดสอบบน EA ครับ

 

เส้น

นักเขียน ling lopburee

ling โบรกเกอร์ Forex

สวัสดีครับ ผม ลิง เข้าสู่ตลาด Forex จากคำแนะนำของฮีโร่ในดวงใจ ขาดทุนอยู่หลายครั้ง ทยอยลงทุนที่ 100 – 1,000 เหรียญ จนมียอดขาดทุนสะสมกว่า 15,000 USD ประมาณ 450,000 หมื่นบาทไทย ใช้เวลากว่า 8 ปีถึงจะได้คืนทั้งหมด  และเป็นผู้แปลเว็บไซต์ โบรกเกอร์ Forex กว่า 10 เว็บไซต์ในช่วงบุกเบิกตลาดในไทยของโบรคเกอร์

  • ตำแหน่ง : นักเขียนหลัก , สอนเทรด
  • ประสบการณ์ในการลงทุน :  หุ้น 13 ปี  Forex  11 ปี Crypto 3 ปี
  • การศึกษา : ปริญญาตรี ภาษาอังกฤษ  ปริญญาโท เศรษฐศาสตร์  กำลังศึกษาต่อปริญญาเอก เศรษฐศาสตร์

อ่านเพิ่มเติมเกี่ยวกับนักเขียน