อ้างอิง https://fxdreema.com/documentation/builder/expert-advisors
บทแปลนี้เผยแพร่ในกลุ่ม fxDreema Discovery
#1 Expert Advisor หรือ EA คืออะไร?
- EA คือโปรแกรมขนาดเล็กที่ออกแบบมาให้เปิด/ปิด คำสั่งเทรดแทนมนุษย์ อาจเรียก EA ว่า Robot หรือหุ่นยนต์ เพราะมันทำงานเองอัตโนมัติ ตามชุดคำสั่งที่ตั้งค่าไว้
- EA เอาไปใช้งานเทรดจริงก็ได้ เทรด Demo ก็ได้ หรือจะ Backtest ทดสอบก็ทำได้
#2 EA เขียนด้วยโปรแกรม ภาษา MQL4/5
- EA ทำงานด้วยตัวเองไม่ได้ ต้องนำ EA ไปใส่ใน MT4/5 ถึงจะสั่งให้ทำงานได้
- EA ทำงานได้ตามชุดคำสั่งที่ตั้งค่าเอาไว้ล่วงหน้า EA จึงทำงานในสถานการณ์ต่างๆ ตามชุดคำสั่งที่เตรียมไว้ล่วงหน้า
#3 จะรัน EA กี่ตัวก็ได้ใน 1 พอร์ต แต่ 1 EA ต้องใช้ 1 ชาร์ต/กราฟราคาเพื่อติดตั้งให้มันทำงาน
4 ทดสอบ EA 2 ขั้นตอนก่อนรันจริงเสมอ
- ขั้นตอนแรก ต้อง Backtest EA ก่อนใช้งานเสมอ เช็คเช็คการทำงานของ EA ต้องทำงานถูกต้อง เรียบร้อยก่อน ขั้นตอนนี้จะไม่มี Broker เข้ามาเกี่ยวข้อง
- ขั้นตอนที่สอง รัน EA โดยใช้ บัญชี Demo เช็คความถูกต้องให้เรียบร้อย ขั้นตอนนี้เป็นการทดสอบเสมือนจริง มีการรับส่งข้อมูลกับ Broker จริง แต่เป็น บัญชีทดลอง หากผิดพลาดจะได้ไม่เสียเงินฟรี และแก้ไขได้
- ขั้นตอนสุดท้าย รัน EA โดยใช้ บัญชีจริง เงินจริง
#5 สั่งให้ EA ทำอะไรได้บ้าง?
- อ่านข้อมูลบัญชีเทรด เช่น Balance, Equity, Margin, Leverage, ชื่อ Server name, ชื่อเจ้าของบัญชี และ ฯลฯ
- สั่งให้แจ้งเตือนผ่านช่องทางต่างๆ เช่น Alert message กล่องข้อความเล็กๆ ที่เด้งขึ้นมาเตือน, Print message (Experts/Journal tabs), Message box, เขียน comment บนชาร์ตราคา (มุมซ้าย/ขวา ด้านบน/ล่าง), สั่งให้มีเสียงเตือน, ส่งเมล์ และ ฯลฯ
- อ่านข้อมูลราคาแท่งเทียน OHLC (Open, High, Low, Close) อ่านได้ทุกแท่งเทียนที่ปรากฎบนชาร์ตราคา
- อ่านข้อมูลจากอินดี้ที่แสดงผล เมื่อเทียบกับแท่งเทียน ได้แท่งต่อแท่ง เช่น แท่งแรก rsi=29, แท่งถัดไป rsi=32 เป็นต้น
- สื่อสารกับ EA ตัวอื่นๆ ใน MT4/5 เดียวกัน ผ่านตัวแปร Global : Global Variables
- กดปุ่ม F3 เพื่อเช็ค Global Variables
- สร้างวัตถุเช่น ลูกศร นิ้วชี้ เทรนไลน์ ขึ้นมาบนชาร์ต
- อ่านข้อมูลของวัตถุนั้นๆ เช่น อยู่ตรงราคา/เวลา และแก้ไขได้
- เปิดคำสั่ง Buy/Sell ได้ หรือตั้ง Pending Order ได้
- อ่านประวัติการซื้อขาย และคำสั่งซื้อขายในปัจจุบันทั้งหมด
- แก้ไข คำสั่งซื้อขายต่างๆ เช่น ปรับระยะ SL/TP, ปรับเพิ่ม/ลดขนาด Lot
- การคำนวณทางคณิตศาสตร์และตรรกะเงื่อนไขโปรแกรมเหมือนโปรแกรมอื่นๆ และ ฯลฯ
#6 EA : Exper Advisor ทำงานอย่างไร
ลองคลิ๊กเข้าไปลองกดเล่นดู >> https://fxdreema.com/demo/mt4-buy-now-if-no-trade-exist
#7 กล่าวโดนสรุป EA ทุกตัวทำงานดังนี้
Event => Checks and Calculations => Trading Actions
#8 Event คือ เหตุการณ์ ที่ MT4/5 ดักจับข้อมูลแล้วส่งต่อให้ EA ประมวลผลต่อ
Event ที่ใช้บ่อย และสำคัญมากที่สุด คือข้อมูล New Tick ใน Event on Tick
สิ่งสำคัญมากคือต้องเข้าใจว่า EA ทุกตัวทำงานได้จากข้อมูลเหตุการณ์เหล่านี้
on init
Event นี้ทำงานเมื่อใส่หรือเปิดการทำงาน EA
เกิด Event นี้เพียงครั้งเดียว
// Init – fired once when the EA starts
on Timer
Event นี้ทำงานเมื่อถึงคาบเวลาที่ตั้งค่าไว้ใน Project
ยกตัวอย่างเช่น ทุกๆ 60 วินาที
//Timer – fired on certain period of time, for example every 60 seconds
on Tick
Event นี้ทำงานเมื่อมีข้อมูล Tick ใหม่เข้ามายัง MT4/5 แล้วส่งข้อมูลให้ EA ทำงานต่อ
ส่วนใหญ่ EA มักทำงานทุก Tick
// Tick – fired when a new tick comes. Normally the biggest portion of your EA works on every tick
on Trade
Event นี้จะทำงานทุกครั้งที่มีการเปิดปิดหรือแก้ไขคำสั่งซื้อขาย
//Trade – fired every time you open, close or modify trades or orders
on Chart
Event นี้ทำงานเมื่อเกิดการสร้าง แก้ไข หรือลบ วัตถุ เช่น ลูกศร หรือ เทรนไลน์ บนชาร์ตราคา
//Chart – fired when you create, modify, delete or click on objects on the chart
on Deinit
Event นี้ทำงานเมื่อลบ หรือปิดการทำงาน EA
เกิด Event นี้เพียงครั้งเดียว
//Deinit – fired once when the EA is stopped
#9 หลักการทำงานของ EA โดยทั่วไป
- เริ่มจากข้อมูลที่ถูกส่งมาจาก MT4/5 เข้ามายัง EA ผ่าน Event ต่างๆ
- EA นำข้อมูลมาทำงานตามชุดคำสั่งที่กำหนดไว้
- EA นำส่งผลลัพธ์กลับไปสั่งให้ MT4/5 ทำต่อ เช่น เปิด/ปิด คำสั่งซื้อขาย หรือการตีเส้นเทรนไลน์ เป็นต้น
#10 ตัวอย่างโปรแกรมแบบง่าย เปิด ลิ้งค์นี้ขึ้นมา
https://fxdreema.com/demo/mt4-buy-now-if-no-trade-exists
EA จะทำงานตามโครงสร้างนี้
Event (on Tick) => Checks and Calculations (No trade) => Trading Actions (Buy now)
เริ่มจาก Event เมื่อมีข้อมูล Tick ส่งเข้ามา > กล่องตรวจสอบ No Trade จะทำการตรวจสอบว่ามีการเทรดค้างอยู่ไหม หากไม่มีการเทรด > ก็จะส่งคำสั่ง Buy ออกไปให้กับ MT4/5 เพื่อเปิดคำสั่ง Buy ต่อไป
แปลโดย #นักแปลระบบเทรด HonyakuTrader.com
** ไม่รับรองความถูกต้องหรือความเสียหายอันเนื่องจากนำบทความไปใช้ จงรับผิดชอบด้วยตนเอง **