MQL4 Reference
- MQL4 Reference
บทความนี้เป็นคู่มืออ้างอิงสำหรับผู้เริ่มต้นในการทำความเข้าใจภาษา MQL4 (MetaQuotes Language 4) ซึ่งเป็นภาษาโปรแกรมที่ใช้ในการพัฒนา Expert Advisors (EAs), Custom Indicators และ Scripts สำหรับแพลตฟอร์มการซื้อขาย MetaTrader 4 (MT4) ที่นิยมใช้กันอย่างแพร่หลายในการซื้อขาย Forex และ Binary Options. การเรียนรู้ MQL4 จะช่วยให้คุณสามารถสร้างระบบการซื้อขายอัตโนมัติและเครื่องมือวิเคราะห์ทางเทคนิคที่ปรับแต่งได้ตามความต้องการของคุณ
- บทนำสู่ MQL4
MQL4 เป็นภาษาโปรแกรมที่มีโครงสร้างคล้ายกับภาษา C++ โดยมีไวยากรณ์ที่ค่อนข้างง่ายต่อการเรียนรู้สำหรับผู้ที่มีพื้นฐานการเขียนโปรแกรมมาก่อน อย่างไรก็ตาม ผู้ที่ไม่มีประสบการณ์การเขียนโปรแกรมก็สามารถเรียนรู้ MQL4 ได้เช่นกัน ด้วยแหล่งข้อมูลและบทเรียนออนไลน์มากมาย
- โครงสร้างของโปรแกรม MQL4
โปรแกรม MQL4 ประกอบด้วยส่วนต่างๆ ดังนี้:
- **Properties:** ส่วนที่ใช้กำหนดคุณสมบัติของโปรแกรม เช่น ชื่อ, ผู้เขียน, และคำอธิบาย
- **Includes:** ส่วนที่ใช้เรียกใช้ไลบรารีหรือไฟล์ส่วนหัวอื่นๆ
- **Global Variables:** ตัวแปรที่สามารถเข้าถึงได้จากทุกส่วนของโปรแกรม
- **Functions:** กลุ่มคำสั่งที่ทำงานเฉพาะอย่าง และสามารถเรียกใช้ซ้ำได้
- **Event Handlers:** ฟังก์ชันพิเศษที่ถูกเรียกใช้เมื่อเกิดเหตุการณ์ต่างๆ ใน MT4 เช่น การเปิดแท่งเทียนใหม่, การรับคำสั่งซื้อขาย, หรือการเริ่มต้นโปรแกรม
- ประเภทข้อมูลใน MQL4
MQL4 รองรับประเภทข้อมูลพื้นฐานต่างๆ ดังนี้:
- **int:** จำนวนเต็ม
- **double:** จำนวนทศนิยม
- **bool:** ค่าจริง (true) หรือ เท็จ (false)
- **string:** ข้อความ
- **datetime:** วันที่และเวลา
- การพัฒนา Expert Advisors (EAs)
Expert Advisors (EAs) คือโปรแกรมที่สามารถทำการซื้อขายในตลาด Forex และ Binary Options ได้โดยอัตโนมัติ EAs ถูกเขียนด้วยภาษา MQL4 และถูกติดตั้งใน MT4 เพื่อทำงานตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
- โครงสร้างพื้นฐานของ EA
EA ต้องมีอย่างน้อยหนึ่งฟังก์ชันที่เรียกว่า `OnInit()` ซึ่งจะถูกเรียกใช้เมื่อ EA เริ่มต้นทำงาน และฟังก์ชัน `OnTick()` ซึ่งจะถูกเรียกใช้เมื่อมีแท่งเทียนใหม่เกิดขึ้น
ตัวอย่างโครงสร้างพื้นฐานของ EA:
```mql4 //+------------------------------------------------------------------+ //| MyFirstEA.mq4 | //| Copyright 2023, Your Name | //| https://www.example.com | //+------------------------------------------------------------------+
- property copyright "Copyright 2023, Your Name"
- property link "https://www.example.com"
- property version "1.00"
int OnInit()
{
// Initialization code here
return(INIT_SUCCEEDED);
}
void OnTick()
{
// Trading logic here
}
```
- การจัดการคำสั่งซื้อขาย
MQL4 มีฟังก์ชันต่างๆ ที่ใช้ในการจัดการคำสั่งซื้อขาย เช่น:
- `OrderSend()`: ส่งคำสั่งซื้อขายไปยังตลาด
- `OrderModify()`: แก้ไขคำสั่งซื้อขายที่มีอยู่
- `OrderClose()`: ปิดคำสั่งซื้อขาย
- `OrdersTotal()`: นับจำนวนคำสั่งซื้อขายที่เปิดอยู่
- การใช้ Indicators ใน EA
Indicators เป็นเครื่องมือวิเคราะห์ทางเทคนิคที่ใช้ในการระบุแนวโน้มและสัญญาณการซื้อขายในตลาด MQL4 สามารถเรียกใช้ Indicators ที่มีอยู่แล้วใน MT4 หรือสร้าง Custom Indicators ขึ้นมาเองได้
ตัวอย่างการใช้ Indicator ใน EA:
```mql4 double MA = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0); ```
- การพัฒนา Custom Indicators
Custom Indicators คือเครื่องมือวิเคราะห์ทางเทคนิคที่สร้างขึ้นโดยผู้ใช้เอง โดยใช้ภาษา MQL4 Custom Indicators สามารถแสดงผลบนกราฟ MT4 เพื่อช่วยในการวิเคราะห์ตลาด
- โครงสร้างพื้นฐานของ Custom Indicator
Custom Indicator ต้องมีอย่างน้อยหนึ่งฟังก์ชันที่เรียกว่า `OnInit()` ซึ่งจะถูกเรียกใช้เมื่อ Indicator เริ่มต้นทำงาน และฟังก์ชัน `OnCalculate()` ซึ่งจะถูกเรียกใช้เมื่อมีการคำนวณค่า Indicator
ตัวอย่างโครงสร้างพื้นฐานของ Custom Indicator:
```mql4 //+------------------------------------------------------------------+ //| MyFirstIndicator.mq4 | //| Copyright 2023, Your Name | //| https://www.example.com | //+------------------------------------------------------------------+
- property copyright "Copyright 2023, Your Name"
- property link "https://www.example.com"
- property version "1.00"
int OnInit()
{
// Initialization code here
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime begin)
{
// Calculation logic here
return(0);
}
```
- การวาดกราฟบน Indicator
MQL4 มีฟังก์ชันต่างๆ ที่ใช้ในการวาดกราฟบน Indicator เช่น:
- `Plot()`: วาดเส้นกราฟ
- `PlotHistogram()`: วาดฮิสโตแกรม
- `PlotArrows()`: วาดลูกศร
- การพัฒนา Scripts
Scripts คือโปรแกรม MQL4 ที่ทำงานเพียงครั้งเดียวเมื่อถูกเรียกใช้งาน Scripts มักใช้สำหรับการดำเนินการบางอย่าง เช่น การปิดคำสั่งซื้อขายทั้งหมด หรือ การคำนวณค่าบางอย่าง
- โครงสร้างพื้นฐานของ Script
Script ต้องมีอย่างน้อยหนึ่งฟังก์ชันที่เรียกว่า `OnStart()` ซึ่งจะถูกเรียกใช้เมื่อ Script เริ่มต้นทำงาน
ตัวอย่างโครงสร้างพื้นฐานของ Script:
```mql4 //+------------------------------------------------------------------+ //| MyFirstScript.mq4 | //| Copyright 2023, Your Name | //| https://www.example.com | //+------------------------------------------------------------------+
- property copyright "Copyright 2023, Your Name"
- property link "https://www.example.com"
- property version "1.00"
void OnStart()
{
// Script logic here
}
```
- ฟังก์ชันที่สำคัญใน MQL4
- **Math Functions:** `MathAbs()`, `MathPow()`, `MathSqrt()`, `MathSin()`, `MathCos()`
- **String Functions:** `StringLen()`, `StringSubstr()`, `StringReplace()`, `StringFormat()`
- **Time Functions:** `TimeLocal()`, `TimeToString()`, `StringToTime()`
- **Array Functions:** `ArrayInitialize()`, `ArraySetAsSeries()`, `ArrayResize()`, `ArrayShift()`
- **File Functions:** `FileOpen()`, `FileRead()`, `FileWrite()`, `FileClose()`
- การดีบักโปรแกรม MQL4
การดีบักเป็นขั้นตอนสำคัญในการพัฒนาโปรแกรม MQL4 เพื่อค้นหาและแก้ไขข้อผิดพลาด MT4 มีเครื่องมือดีบักในตัวที่ช่วยให้คุณสามารถตรวจสอบค่าตัวแปร และติดตามการทำงานของโปรแกรมได้
- แหล่งข้อมูลเพิ่มเติม
- MQL4 Documentation: เว็บไซต์อย่างเป็นทางการของ MQL4 Documentation
- MQL5 Community: ฟอรัมและชุมชนผู้ใช้ MQL4 และ MQL5
- BabyPips MQL4 Tutorial: บทเรียน MQL4 สำหรับผู้เริ่มต้น
- กลยุทธ์การซื้อขายที่ใช้ MQL4
MQL4 สามารถใช้ในการพัฒนาและทดสอบกลยุทธ์การซื้อขายที่หลากหลาย ตัวอย่างเช่น:
- Moving Average Crossover: กลยุทธ์ที่ใช้การตัดกันของเส้นค่าเฉลี่ยเคลื่อนที่
- RSI Overbought/Oversold: กลยุทธ์ที่ใช้ดัชนี RSI เพื่อระบุสภาวะซื้อมากเกินไปและขายมากเกินไป
- Bollinger Bands Breakout: กลยุทธ์ที่ใช้ Bollinger Bands เพื่อระบุการ breakout ของราคา
- Fibonacci Retracement: กลยุทธ์ที่ใช้ Fibonacci Retracement เพื่อระบุระดับแนวรับและแนวต้าน
- Ichimoku Cloud: กลยุทธ์ที่ใช้ Ichimoku Cloud เพื่อระบุแนวโน้มและสัญญาณการซื้อขาย
- MACD Divergence: กลยุทธ์ที่ใช้ MACD เพื่อระบุ divergence ระหว่างราคาและ indicator
- Three Black Crows: รูปแบบแท่งเทียนที่บ่งบอกถึงแนวโน้มขาลง
- Engulfing Pattern: รูปแบบแท่งเทียนที่บ่งบอกถึงการกลับตัวของแนวโน้ม
- Head and Shoulders: รูปแบบแท่งเทียนที่บ่งบอกถึงการกลับตัวของแนวโน้ม
- Double Top/Bottom: รูปแบบแท่งเทียนที่บ่งบอกถึงการกลับตัวของแนวโน้ม
- Cup and Handle: รูปแบบแท่งเทียนที่บ่งบอกถึงแนวโน้มขาขึ้นต่อเนื่อง
- Triangles: รูปแบบแท่งเทียนที่บ่งบอกถึงการพักตัวของแนวโน้ม
- Elliott Wave Theory: ทฤษฎีที่ใช้ในการวิเคราะห์รูปแบบคลื่นของราคา
- Harmonic Patterns: รูปแบบที่ซับซ้อนที่ใช้ในการระบุโอกาสในการซื้อขาย
- Scalping: กลยุทธ์การซื้อขายระยะสั้นที่มุ่งเน้นทำกำไรเล็กน้อย
- การวิเคราะห์ทางเทคนิคและการวิเคราะห์ปริมาณการซื้อขาย
การใช้ MQL4 ร่วมกับการวิเคราะห์ทางเทคนิค Technical Analysis และการวิเคราะห์ปริมาณการซื้อขาย Volume Analysis จะช่วยเพิ่มประสิทธิภาพในการซื้อขายของคุณได้ ตัวอย่างเช่น การสร้าง Custom Indicator ที่แสดงผลข้อมูลปริมาณการซื้อขายร่วมกับ Indicator ทางเทคนิคอื่นๆ
- การซื้อขาย Binary Options ด้วย MQL4
แม้ว่า MQL4 จะถูกออกแบบมาสำหรับ Forex แต่ก็สามารถนำมาประยุกต์ใช้กับการซื้อขาย Binary Options ได้เช่นกัน โดยการเขียน EA ที่ส่งคำสั่งซื้อขาย Binary Options ตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
| ฟังก์ชัน | คำอธิบาย |
|---|---|
| OrderSend() | ส่งคำสั่งซื้อขาย |
| OrderModify() | แก้ไขคำสั่งซื้อขาย |
| OrderClose() | ปิดคำสั่งซื้อขาย |
| iMA() | คำนวณค่า Moving Average |
| iRSI() | คำนวณค่า RSI |
| iMACD() | คำนวณค่า MACD |
| TimeLocal() | แปลงเวลาจาก GMT เป็นเวลาท้องถิ่น |
| StringLen() | หาความยาวของ string |
| StringSubstr() | ดึงส่วนหนึ่งของ string |
หวังว่าบทความนี้จะเป็นประโยชน์สำหรับผู้เริ่มต้นในการเรียนรู้ MQL4 และนำไปประยุกต์ใช้ในการพัฒนาโปรแกรมซื้อขายของคุณ
เริ่มต้นการซื้อขายตอนนี้
ลงทะเบียนกับ IQ Option (เงินฝากขั้นต่ำ $10) เปิดบัญชีกับ Pocket Option (เงินฝากขั้นต่ำ $5)
เข้าร่วมชุมชนของเรา
สมัครสมาชิกช่อง Telegram ของเรา @strategybin เพื่อรับ: ✓ สัญญาณการซื้อขายรายวัน ✓ การวิเคราะห์เชิงกลยุทธ์แบบพิเศษ ✓ การแจ้งเตือนแนวโน้มตลาด ✓ วัสดุการศึกษาสำหรับผู้เริ่มต้น

