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


เส้น

การเขียน EA โดยใช้ Stochastic

หลังจากที่เราใช้ Concept ของกรอบราคาในการเขียน EA โดยวันนี้เราก็จะยังใช้กรอบราคาแบบเดิมในการเขียน EA  เพียงแต่กรอบราคาของเรา ไม่ได้จำกัดอยู่แค่ว่า จะต้องเป็นกรอบที่อยู่ในรูปแบบนั้นอยู่ตลอด

(เราจะยังคงใช้ FxPro Quant เพื่อสร้าง EA)

เพื่อให้ไม่ลืมกรอบราคาเดิม เราจึงยกภาพ concept การเทรดเดิมเพื่อที่จะเปรียบเทียบกับ Concept กับการใช้ Indicator ในการสร้าง EA นอกจากเราจะสามารถสร้างกรอบราคาในกราฟเองได้แล้ว เรายังสามารถสร้างกรอบราคาโดยเปลี่ยนรูปแบบเป็น Percent ของการเปลี่ยนแปลง เช่น Stochastic โดยกรอบของราคาที่เกิดขึ้นก็คือกรอบการเคลื่อนไหวของราคา เช่นเดียวกันกับกรอบทฤษฎีข้างบน  เพื่อให้เห็นภาพและเข้าใจความเป็นไปได้ ผมจะขอยกตัวอย่างกรอบราคา และกรอบการเคลื่อนไหวของ Stochastic ในภาพต่อไป

ในภาพที่แสดง ผมพยายามชี้ให้เห็นถึงความสอดคล้องกันของกรอบของการเคลื่อนไหว จะเห็นว่า เมื่อเทรนด์อยู่ในระดับ Oversold ของ Stochastic ซึ่งจะสอดคล้องกับราคาในกรอบที่อยู่ติดกรอบล่าง ซึ่งให้สัญญาณ Buy ในวงกลมชุดแรก ขณะที่วงกลงมชุดที่ 2 ด้านขวา ก็ให้สัดส่วนการเปลี่ยนแปลงในระดับ Overbought ซึ่งในกรอบราคาด้านบนก็เคลื่อนไหวอยู่ใกล้กับกรอบราคาด้านบนเช่นเดียวกัน

เมื่อเราเห็นเช่นนี้ เราก็จะสามารถใช้ Stochastic ส่งสัญญาณ BUY หรือ Sell ซึ่งสอดคล้องกับกรอบราคาตามที่เราตั้งทฤษฎีไว้เช่นเดียวกัน  โดยเราจะใช้ Stochastic ตั้งค่าตามภาพที่กำหนด แล้วเขียนเป็น EA ได้ดังต่อไปนี้

ขั้นตอนการเขียน

การกำหนดค่าเริ่มต้นของ Stochastic เพื่อให้สอดคล้องกับทฤษฎีโดยการตั้งค่าดังต่อไปนี้

ค่าที่เลือกใช้สำหรับ %K Period เท่ากับ 7  ค่า % D Period เท่ากับ 3  และ Slowing มีค่าเท่ากับ 5 ซึ่งเราจะใช้ค่านี้ในการตั้งค่า Indicator ใน EA เช่นเดียวกัน

ในภาพผมทำการลาก Stochastic Node มาจาก Indicators และทำการเปรียบเทียบ โดยใช้ Logic การเปรียบเทียบ ถ้าหาก Stochastic มีค่าน้อยกว่า 20 หมายความว่า เป็นสัญญาณ Buy และผมใช้สัญญาณ First Tick เพื่อใช้ส่งคำสั่งทุกแท่งที่เปิดแท่งใหม่และอยู่ใน Zone Oversold การใช้หลักการ First Tick หมายความว่า เรากำลังเฉลี่ยราคา ฉะนั้น ยอดจำนวน Lot ทั้งหมดของ EA ควรจะได้ราคาเฉลี่ย ของบริเวณนั้น ซึ่งทำให้มันเป็นราคาที่ไม่น่าเกลียดเลย เมื่อเราได้เงื่อนไขการส่งคำสั่งมาแล้ว เราจะทำการส่งคำสั่ง Buy และใช้คำสั่ง Trailing Stop ในการปิดออเดอร์

ผมได้ทำการตั้งค่า Trailing Stop ไว้ที่ 200 Point หรือ 20 Pip และออเดอร์ที่จะปิดคืออเดอร์ที่กำไรแล้วเท่านั้น โดยการตั้งค่า Buy Max จะต้องเท่ากับ 0 เราจะทำการ Back Test

ซึ่งจากการ Back Test มีการส่งออเดอร์ และปิดออเดอร์ ตามคำสั่งที่กำหนดไว้ ในบทความนี้เราจะขยายเวลาการทำ Back Test เพื่อให้ข้อมูลสอดคล้องตามความเป็นจริง Lot ที่ใช้ในการส่งคำสั่ง เท่ากัน 0.10 Lot ซึ่ง ทำให้ราคาเฉลี่ยเป็นการเฉลี่ยการส่งคำสั่งขาลง โดยผลการ Back Test ก่อนหน้าได้กำไรจำนวน 11 เหรียญ

จากเงินทุน 10,000 USD และเพื่อให้สอดคล้องกับความเป็นจริง เราจะทำการ Back Test ในระยะเวลากว้างขึ้น จำนวน 6 เดือน โดยเริ่มตั้งแต่ต้นปี ดังนี้

ผลจากการทดสอบตั้งแต่ต้นปี นั่นคือระยะเวลา 6 เดือนผลที่ได้แตกต่างจากการทดสอบชุดแรก เพราะว่า มีการเก็บออเดอร์ค้างไว้จำนวนมาก ในเส้นกราฟของการทดสอบ มี 2 เส้น คือ เส้นสีน้ำเงิน เส้น Balance และ เส้น Equity คือสีเขียว การเปิดออเดอร์ค้างไว้ แต่ก็มีการปิดออเดอร์ตามตลอดเพราะว่า Trailing Stop โดยเราจะมาดูผลการทดสอบดังต่อไปนี้

ผลการทดสอบพบว่า ได้กำไร 35.72 เหรียญ แต่เมื่อเทียบจากการมีออเดอร์ที่เปิดอยู่จะ ติดลบอยู่  57 เหรียญ นั่นคือ เรากำลังเทรดผิดทางแต่นั่นไม่ใช่สิ่งที่ต้องกังวล เพราะสิ่งที่เราต้องใส่ใจคือ Maximum Draw Down ซึ่งเท่ากัน 108 เหรียญ หรือคิดเป็น 1.08 % ซึ่งจากกำไรที่ทำได้ 35 เหรียญและ ขาดทุนสะสมเท่ากับ 108 เหรียญ หมายความว่า ขาดทุนสูงกว่ากำไรถึง 3 เท่า นั่นคือ Risk : Reward เท่ากับ 3:1 ซึ่งความเสี่ยงสูงกว่าค่าตอบแทนถึง 3 เท่า ในกรณีที่ราคาลง กราฟก็จะแสดงผลการเทรดที่ขาดทุนหนักขึ้น  เพราะออเดอร์จะถูกเปิดรายทางตลอดเวลา

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

 

เส้น