สิ่งที่ต้องรู้ในการเขียน EA

เส้น

สิ่งที่ต้องรู้ในการเขียน EA

วันก่อนผมกับน้องได้นั่งคุยกัน ถึงการระบาดของ Forex และสิ่งที่เรียกว่า AI ในตลาด Forex น้องบอกว่า มีเพื่อที่รู้จักคนหนึ่ง เขาเป็นมะเร็ง เขาหาเงินรักษาตัวเองด้วยการ ปล่อย AI จาก Forex และทำกำไร โอ้โหวววว นี่มันไปไกลขนาดนั้นกันเลยทีเดียว วันนี้ผมก็เลยจัดชุดบทความชุดใหญ่ เป็นการเขียน EA เพื่อจะได้เลิกถูกหลอดกกันเสียที คำว่า AI เป็นคำย่อภาษาอังกฤษ ว่า Artificial Intelligence หรือปัญญาประดิษฐ์ ถ้าจะพูดง่าย ๆ ก็คือ สิ่งที่สามารถคิดเองได้ ถ้าเราจะบอกว่า คอมพิวเตอร์เป็นปัญญาประดิษฐ์นั้นคงไม่ได้ เพราะมันคือ เครื่องคำนวณ เครื่องประมวลผล แต่ยังไม่ใช่ AI นั่นเอง เพราะมันคิดเองไม่ได้ โต้ตอบอะไรเองไม่ได้ อย่างไรก็ตาม ตลอด 10 ปีที่ผ่านมา การพัฒนาของคอมพิวเตอร์และ การพัฒนาของวิศวกรรมซอฟแวร์ ทำให้เกิดโปรแกรมที่สามารถเรียนรู้ได้เรียกว่า Machine Learning ซึ่งการเกิดขึ้นของ Machine Learning ไม่ได้เพิ่งจะเกิด แต่เกิดขึ้นมานานแล้ว เป็นการรวมกันของแขนงวิชาสถิติและคอมพิวเตอร์ อย่างไรก็ตาม ทั้ง 2 ระบบก็ไม่ใช่ EA อย่างที่เราจะทำการเขียน ในบทความนี้จึงเป็นการแนะนำว่าอะไรคืออะไรครับและ Expert Advisor คืออะไร ต่างจาก AI อย่างไร ต่างจาก Machine Learning อย่างไร

สิ่งที่ต้องรู้ในการเขียน EA

Expert Advisor หรือ EA คืออะไร

Expert Advisor หรือ EA คือ ชุดคำสั่งที่จะสามารถทำให้การส่งคำสั่งของ Forex เป็นไปอย่างอัติโนมัติ โดยมีการตั้งเงื่อนไขไว้ก่อนแล้ว ตัวอย่างเช่น ถ้าถึงเวลา 10 นาฬิกาของทุกวันให้ทำการ Buy ค่าเงิน EURUSD นี่คือเงื่อนไข ที่สามารถกำหนดขึ้นได้ ซึ่งรูปแบบของเงื่อนไขที่ใช้อาจจะมีความซับซ้อนสูง เช่น ถ้าถึงเวลา 10 โมงให้ Buy EURUSD อย่างไรก็ตาม ถ้าถึง 10 โมงแล้ว แต่ราคายังต่ำกว่าราคา 10 โมงเมื่อวาน อย่างนี้ไม่ให้ซื้อ และเมื่อซื้อแล้วต้องคิดว่าจะต้องส่ง Lot เท่าไหร่ก็ต้องใส่เงื่อนไขอีก อย่างนี้เรียกว่า เป็นการส่งคำสั่งแบบหลายเงื่อนไข ซึ่งไม่ว่าจะเงื่อนไขเดียวหรือหลายเงื่อนไข มันก็แค่เงื่อนไขของการส่งคำสั่งในการเทรด

Expert Advisor เริ่มเป็นที่นิยมขึ้นมากเพราะว่า มันสามารถช่วยลดเวลากการอยู่หน้าจอของเทรดเดอร์ได้ ส่งคำสั่งแทนเทรดเดอร์ได้ อย่างไรก็ตามมันไม่สามารถคิดได้ มันแค่ทำตามเงื่อนไขที่วางไว้เท่านั้น ตัวอย่าง EA ที่เป็นที่นิยม คือ EA Scalping เช่น การส่งคำสั่งและปิดคำสั่งอ่ย่างรวดเร็ว โดยการกินคำเล็ก ๆ โดยการส่งเปิด Long และถ้ากำไรครบ 1 pip ให้ปิดออเดอร์เลย  หรือตัวอย่างของ EA ที่ทำการเบิ้ลขนาดการลงทุน โดยใช้หลักการพนันอย่าง Martingale เมื่อเข้าแล้วผิดทางก็จะทำการเดิมพันจนกว่ามันจะถูกทาง และกลับมาได้กำไร โดยวางเงื่อนไขไว้ว่า ถ้าหากเข้า Buy ที่ราคาใดราคาหนึ่ง และมันผิดทาง จะทำการเข้าอีกราคาต่ำกว่านั้น โดยเพิ่มขนาดเป็น 2 เท่า ในระยะห่างทีกำหนด  นี่ก็เป็นตัวอย่างหนึ่งของเงื่อนไขของการส่งคำสั่งโดยใช้ EA ครับ

 

แล้ว EA ต่างจาก Machine Learning อย่างไร?

ถ้าเราบอกว่า  EA คือส่งเงื่อนไขว่า  ส่งคำสั่งเทรด buy เมือ่ Stochastic ต่ำกว่า 20 อย่างไรก็ตามเมื่อ Stochastic กลับขึ้นมาสูงกว่า 20 แต่ราคาไม่ได้ขึ้นด้วย นั่นเพราะสัญญาณล้มเหลว และมีแนวโน้มเกิดเทรนด์ ถ้าเป็น EA จะเทรดเงื่อนไขเดิมต่อไป คือ ส่ง Buy แต่ว่า  Machine Learning จะเปลี่ยนรูปแบบอัติโนมัติ จากข้อมูลที่เราใส่ไปก่อนหน้า และเมื่อมีเหตุการณ์ใหม่ที่ไม่ได้อยู่ในฐานข้อมูลก็จะเก็บสะสมข้อมูลไปเรื่อย ๆ สิ่งเหล่านี้เรียกว่า การเรียนรู้ของเครื่องจักร การใช้กลเมล็ดเดิม ๆ ในจัดการจึงใช้ไม่ได้ผลสำหรับ Machine learning ตัอวย่างนี้เห็นได้จากมีการนำ Machine Learning มาใช้ในเกมส์กระดานชื่อดังอย่างโกะ หรือ หมากล้อม ซึ่งมีรูปแบบที่ไม่ตายตัว ทำให้การเล่นเกมส์หมากล้อมนั้นปรับเปลี่ยนไปเรื่อย ๆ นั่นเอง

ต้องบอกว่าอย่างหนึ่งว่า Machine learning ส่วนใหญ่จะถูกเขียนเป็นภาษาคอมพิวเตอร์พื้นฐาน ซึ่งต้องเขียน package ททที่ประกอบด้วยกระบวนการทางสถิติ และการเก็บข้อมูลต่าง ๆ ทำให้การใช้ Machine Learning นั้นมีข้อจำกัด อยู่ในบางโปรแกรมที่เป็นที่นิยม เช่น ภาษา Jave,  Python , R ฯลฯ ที่มี package ให้ทดลองใช้ แต่แน่นอนไม่มี package สำหรับ ภาษา MQL ซึ่งเป็นภาษาสำหรับการเขียน EA ของ MT4 ทำให้ AI ที่ใช้ในการเทรดของ Forex นั้นน้อยมาก นอกจากจะมีการเชื่อผ่าน API เท่านั้น

ดังนั้นผมบอกได้อย่างชัดเจนเลยว่า  ตั้งแต่เทรดมา ไม่เคยเห็นมีใครใช้ AI จริง ๆ ในการเทรดเลย ฉะนั้น ไอ้พวกที่แอบอ้างส่วนใหญ่จะเป็นของเก๊เสียส่วนใหญ่ครับ บทความต่อไปเราจะมาพูดกันถึงหลักการเขียน  EA เบื้องต้น กัน

 

เส้น