ใน Metaeditor พอกด File > New จะขึ้นมาให้เลือกว่าเราจะสร้าง File ต่างๆ ในแต่ละประเภท มาดูกันว่าแต่ละประเภท คืออะไรกันบ้าง
1. Expert Advisor (EA)
-
คืออะไร: โปรแกรมเทรดอัตโนมัติเต็มรูปแบบ
-
ใช้ทำอะไร: ใช้เทรด Forex แบบอัตโนมัติตามกฎที่กำหนดไว้ เช่น ถ้าราคาทะลุเส้น Moving Average ให้เปิดออเดอร์
-
ตัวอย่าง: เขียน EA ให้เปิด Buy เมื่อ EMA 50 ตัดขึ้น EMA 200
เหมาะสำหรับ: คนที่ต้องการให้ระบบเทรดเอง ไม่ต้องมานั่งเฝ้าหน้าจอ
2. Custom Indicator
-
คืออะไร: ตัวชี้วัดที่เขียนขึ้นเอง เพื่อดูข้อมูลเพิ่มเติมจากกราฟ (ไม่ได้ส่งคำสั่งซื้อขาย)
-
ใช้ทำอะไร: สร้าง Indicator ใหม่ เช่น Indicator แจ้งเตือนเมื่อราคาชนเส้นแนวรับแนวต้านที่เรากำหนด
-
ตัวอย่าง: เขียนอินดิเคเตอร์ที่วาดลูกศรบนกราฟทุกครั้งที่เกิด Divergence ระหว่างราคาและ RSI
เหมาะสำหรับ: คนที่อยากสร้างเครื่องมือวิเคราะห์ตลาดพิเศษเฉพาะตัวเอง
3. Script
-
คืออะไร: โปรแกรมที่ทำงานครั้งเดียวแล้วจบ (ไม่ทำงานต่อเนื่อง)
-
ใช้ทำอะไร: ใช้งานสำหรับทำบางอย่างรวดเร็ว เช่น ปิดออเดอร์ทั้งหมดในคลิกเดียว, คำนวณอะไรเฉพาะกิจ
-
ตัวอย่าง: เขียน Script กดครั้งเดียวแล้วปิดทุกออเดอร์ที่ขาดทุนอยู่
เหมาะสำหรับ: งานที่ทำครั้งเดียวและไม่ต้องการให้โปรแกรมทำงานตลอดเวลา
4. Service
-
คืออะไร: โปรแกรมที่รันในพื้นหลัง (Background) ตลอดเวลาโดยไม่ขึ้นบนกราฟ
-
ใช้ทำอะไร: ใช้เฝ้าดูค่าบางอย่าง หรือทำงานประสานกับเซิร์ฟเวอร์ภายนอก เช่น ตรวจสอบการเชื่อมต่อ Internet หรือคอยส่งข้อมูลตลาดไปที่ Server
-
ตัวอย่าง: เขียน Service เชื่อมต่อกับ Database ตลอดเวลาเพื่อบันทึกราคาที่เปลี่ยนแปลงทุกวินาที
เหมาะสำหรับ: งานเบื้องหลังที่ไม่ต้องเกี่ยวกับกราฟโดยตรง เช่น การส่งข้อมูลแบบ Real-Time
5. Library
-
คืออะไร: ชุดฟังก์ชัน (Functions) หรือเครื่องมือช่วยเหลือที่เขียนแยกไว้
-
ใช้ทำอะไร: ใช้เขียน Functions หรือ Modules ต่างหาก เพื่อเรียกใช้ซ้ำในหลาย EA/Indicator
-
ตัวอย่าง: เขียน Library ฟังก์ชันคำนวณ Lot Size ตามความเสี่ยง
เหมาะสำหรับ: คนที่เขียนโปรแกรมซับซ้อนและอยากแยกโค้ดให้อ่านง่ายและนำกลับมาใช้ซ้ำได้
6. Include (*.mqh)
-
คืออะไร: ไฟล์หัวข้อที่ใช้แนบ (Include) เข้าไปในโค้ดหลัก เหมือนหัวข้อย่อย ๆ
-
ใช้ทำอะไร: เขียน Functions หรือ Constant ต่าง ๆ แล้วให้ EA หรือ Indicator หลักเรียกใช้งานด้วย
#include
-
ตัวอย่าง: เขียนไฟล์
MoneyManagement.mqh
เอาไว้เก็บวิธีจัดการเงิน แล้วเรียกใช้ในหลาย EA
เหมาะสำหรับ: การแยกโค้ดย่อยให้สะอาด และควบคุมง่ายขึ้น โดยเฉพาะเมื่อโค้ดใหญ่
7. New Class
-
คืออะไร: การสร้าง Class ตามแนว OOP (Object-Oriented Programming)
-
ใช้ทำอะไร: เขียนโปรแกรมเชิงวัตถุ เช่น ทำให้ข้อมูลและฟังก์ชันรวมตัวกันเป็น Object
-
ตัวอย่าง: สร้าง Class “OrderManager” เพื่อจัดการเปิด/ปิดออเดอร์อย่างเป็นระบบ
เหมาะสำหรับ: งานที่ต้องการความซับซ้อนสูง เช่น ระบบเทรดแบบหลายกลยุทธ์ในตัวเดียว
8. Python Script
-
คืออะไร: เขียนสคริปต์ด้วยภาษา Python เพื่อใช้ร่วมกับ MetaTrader 5 (MT5 เท่านั้น)
-
ใช้ทำอะไร: ทำ Data Analysis, Machine Learning, หรือส่งข้อมูลจาก MT5 ไปยัง Python เช่น เทรนโมเดล AI แล้วสั่งเทรด
-
ตัวอย่าง: เขียน Python Script ที่ดึงข้อมูล Tick จาก MT5 มาวิเคราะห์หา Pattern
เหมาะสำหรับ: นักวิเคราะห์ข้อมูล, นักเทรดที่ใช้ Python ในการวิเคราะห์หรือตัดสินใจเทรด
9. Database
-
คืออะไร: ฐานข้อมูลในรูปแบบ SQLite ที่สามารถเก็บข้อมูลภายใน MetaTrader ได้เอง
-
ใช้ทำอะไร: ใช้เก็บข้อมูลต่าง ๆ เช่น ประวัติการเทรด, ราคาตลาด, หรือการตั้งค่าของ EA โดยไม่ต้องต่อกับ Server ภายนอก
-
ตัวอย่าง: สร้าง Database เก็บราคาปิดของคู่เงินทุก 1 ชั่วโมงเพื่อเอาไปวิเคราะห์ย้อนหลัง
เหมาะสำหรับ: คนที่ต้องการเก็บข้อมูลในเครื่องแบบ Local Database เพื่อเอาไปวิเคราะห์เอง