MQL4/MQL5 Reference

From binary option
Jump to navigation Jump to search
Баннер1
  1. MQL4/MQL5 Reference

บทความนี้เป็นคู่มืออ้างอิงสำหรับผู้เริ่มต้นที่ต้องการทำความเข้าใจเกี่ยวกับภาษา MQL4 และ MQL5 ซึ่งเป็นภาษาโปรแกรมที่ใช้ในการพัฒนาระบบเทรดอัตโนมัติ (Expert Advisors หรือ EAs) ตัวบ่งชี้ (Indicators) และสคริปต์ (Scripts) สำหรับแพลตฟอร์ม MetaTrader 4 (MT4) และ MetaTrader 5 (MT5) ซึ่งเป็นแพลตฟอร์มยอดนิยมสำหรับการซื้อขาย Forex และ Binary Options. เราจะครอบคลุมพื้นฐานของภาษา, โครงสร้าง, ฟังก์ชันที่สำคัญ, และความแตกต่างระหว่าง MQL4 และ MQL5

MQL4 และ MQL5 คืออะไร?

MQL4 (MetaQuotes Language 4) และ MQL5 (MetaQuotes Language 5) เป็นภาษาโปรแกรมที่มีโครงสร้างคล้ายกับ C++ พัฒนาโดย MetaQuotes Software Corp. เพื่อใช้ในการเขียนโปรแกรมที่ทำงานบนแพลตฟอร์ม MetaTrader 4 และ MetaTrader 5 ตามลำดับ MQL4 ถูกใช้สำหรับ MT4 ในขณะที่ MQL5 ถูกใช้สำหรับ MT5

ความแตกต่างระหว่าง MQL4 และ MQL5

แม้ว่าทั้งสองภาษาจะมีความคล้ายคลึงกัน แต่ก็มีความแตกต่างที่สำคัญหลายประการ:

ความแตกต่างระหว่าง MQL4 และ MQL5
MQL4 | MQL5 | ตลาดที่รองรับ: Forex, CFDs | ตลาดที่รองรับ: Forex, CFDs, Futures, Stocks | ประเภทคำสั่ง: Instant Execution, Market Execution | ประเภทคำสั่ง: Market Execution, Exchange Execution | การจัดการคำสั่ง: จำกัดกว่า | การจัดการคำสั่ง: มีความยืดหยุ่นมากกว่า | โครงสร้างข้อมูล: จำกัดกว่า | โครงสร้างข้อมูล: หลากหลายกว่า | Optimization: ช้ากว่า | Optimization: เร็วกว่า | การเขียนโปรแกรมเชิงวัตถุ: จำกัด | การเขียนโปรแกรมเชิงวัตถุ: ครบถ้วนกว่า | Backtesting: น้อยกว่า | Backtesting: แม่นยำและรวดเร็วกว่า Backtesting |

MQL5 ได้รับการออกแบบมาให้มีประสิทธิภาพและความยืดหยุ่นมากกว่า MQL4 ทำให้เหมาะสำหรับการเทรดในตลาดที่หลากหลายและใช้กลยุทธ์ที่ซับซ้อนมากขึ้น

พื้นฐานของภาษา MQL4/MQL5

      1. ตัวแปรและประเภทข้อมูล

MQL4/MQL5 รองรับประเภทข้อมูลพื้นฐานดังนี้:

  • `int`: จำนวนเต็ม
  • `double`: จำนวนจริง
  • `bool`: ค่าความจริง (true หรือ false)
  • `string`: ข้อความ
  • `datetime`: วันที่และเวลา

ตัวอย่าง:

```mql4 int myInteger = 10; double myDouble = 3.14; string myString = "Hello"; ```

      1. ตัวดำเนินการ

MQL4/MQL5 รองรับตัวดำเนินการทางคณิตศาสตร์, ตัวดำเนินการเปรียบเทียบ, และตัวดำเนินการตรรกะ เช่น:

  • `+`, `-`, `*`, `/`: ตัวดำเนินการทางคณิตศาสตร์
  • `==`, `!=`, `>`, `<`, `>=`, `<=`: ตัวดำเนินการเปรียบเทียบ
  • `&&`, `||`, `!`: ตัวดำเนินการตรรกะ
      1. โครงสร้างควบคุม

MQL4/MQL5 มีโครงสร้างควบคุมที่ใช้ในการควบคุมการไหลของโปรแกรม:

  • `if-else`: ใช้ในการตัดสินใจว่าจะทำอะไรตามเงื่อนไขที่กำหนด การตัดสินใจในการเทรด
  • `for`: ใช้ในการทำซ้ำชุดคำสั่งเป็นจำนวนครั้งที่กำหนด การวนซ้ำในโปรแกรม
  • `while`: ใช้ในการทำซ้ำชุดคำสั่งตราบเท่าที่เงื่อนไขยังเป็นจริง
  • `switch`: ใช้ในการเลือกชุดคำสั่งที่จะทำงานตามค่าของตัวแปร
      1. ฟังก์ชัน

ฟังก์ชันคือชุดคำสั่งที่ทำงานเฉพาะอย่าง และสามารถเรียกใช้ได้จากส่วนอื่น ๆ ของโปรแกรม MQL4/MQL5 มีฟังก์ชันที่กำหนดไว้ล่วงหน้ามากมาย และคุณยังสามารถสร้างฟังก์ชันของคุณเองได้

ตัวอย่าง:

```mql4 int MyFunction(int a, int b) {

 return a + b;

} ```

ฟังก์ชันที่สำคัญใน MQL4/MQL5

      1. การเข้าถึงข้อมูลตลาด
  • `iClose()`: ดึงข้อมูลราคาปิดของแท่งเทียน
  • `iOpen()`: ดึงข้อมูลราคาเปิดของแท่งเทียน
  • `iHigh()`: ดึงข้อมูลราคาสูงสุดของแท่งเทียน
  • `iLow()`: ดึงข้อมูลราคาต่ำสุดของแท่งเทียน
  • `iVolume()`: ดึงข้อมูลปริมาณการซื้อขาย การวิเคราะห์ปริมาณการซื้อขาย
  • `SymbolInfoDouble()`: ดึงข้อมูลเกี่ยวกับสัญลักษณ์ เช่น Bid, Ask, Spread
      1. การจัดการคำสั่งซื้อขาย
      1. การทำงานกับ Indicators

ตัวอย่างโปรแกรม MQL4/MQL5

      1. Simple Moving Average (SMA) Indicator

```mql4 //+------------------------------------------------------------------+ //| Simple Moving Average Indicator | //+------------------------------------------------------------------+

  1. property indicator_chart_window

int Period = 5; // กำหนดช่วงเวลาของ SMA

double SMAValue;

int init() {

 return 0;

}

int deinit() {

 return 0;

}

int start() {

 SMAValue = iMA(NULL, 0, Period, 0, MODE_SMA, PRICE_CLOSE, 0);
 Plot1(SMAValue, "SMA", COLOR_BLUE, STYLE_SOLID, 2);
 return 0;

} //+------------------------------------------------------------------+ ```

โปรแกรมนี้จะคำนวณค่า Simple Moving Average และแสดงผลบนกราฟ

      1. Simple Expert Advisor (EA)

```mql4 //+------------------------------------------------------------------+ //| Simple Expert Advisor | //+------------------------------------------------------------------+

  1. property copyright "Your Name"
  2. property link "Your Website"

extern double Lots = 0.1; extern int TakeProfit = 50; extern int StopLoss = 25;

int init() {

 return 0;

}

int deinit() {

 return 0;

}

int start() {

 if(Close[0] > Open[0]) {
   // Buy if the current candle is bullish
   OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Ask - StopLoss * Point, Ask + TakeProfit * Point, "My EA", 12345, 0, GREEN);
 } else {
   // Sell if the current candle is bearish
   OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, Bid + StopLoss * Point, Bid - TakeProfit * Point, "My EA", 12345, 0, RED);
 }
 return 0;

} //+------------------------------------------------------------------+ ```

โปรแกรมนี้จะเปิดคำสั่งซื้อ BUY เมื่อแท่งเทียนปัจจุบันเป็นแท่งเขียว และเปิดคำสั่งขาย SELL เมื่อแท่งเทียนปัจจุบันเป็นแท่งแดง

การดีบักและทดสอบ

การดีบัก (Debugging) เป็นกระบวนการค้นหาและแก้ไขข้อผิดพลาดในโปรแกรม MQL4/MQL5 สามารถใช้เครื่องมือ Debugger ที่มีอยู่ใน MetaEditor เพื่อตรวจสอบการทำงานของโปรแกรมทีละบรรทัด

การทดสอบ (Testing) เป็นกระบวนการตรวจสอบว่าโปรแกรมทำงานตามที่คาดหวังหรือไม่ สามารถใช้ Strategy Tester ใน MetaTrader 4/5 เพื่อทดสอบโปรแกรมกับข้อมูลในอดีต (Historical Data) การทดสอบกลยุทธ์

แหล่งข้อมูลเพิ่มเติม

สรุป

MQL4/MQL5 เป็นภาษาโปรแกรมที่ทรงพลังที่ช่วยให้คุณสามารถสร้างระบบเทรดอัตโนมัติ, ตัวบ่งชี้, และสคริปต์ที่ปรับแต่งได้ตามความต้องการของคุณ การทำความเข้าใจพื้นฐานของภาษาและฟังก์ชันที่สำคัญจะช่วยให้คุณสามารถพัฒนาเครื่องมือเทรดที่มีประสิทธิภาพและเพิ่มโอกาสในการทำกำไรในการซื้อขาย การพัฒนาเครื่องมือเทรด. การฝึกฝนและการทดสอบอย่างสม่ำเสมอเป็นสิ่งสำคัญในการพัฒนาทักษะการเขียนโปรแกรม MQL4/MQL5 และสร้างระบบเทรดที่ประสบความสำเร็จ


เริ่มต้นการซื้อขายตอนนี้

ลงทะเบียนกับ IQ Option (เงินฝากขั้นต่ำ $10) เปิดบัญชีกับ Pocket Option (เงินฝากขั้นต่ำ $5)

เข้าร่วมชุมชนของเรา

สมัครสมาชิกช่อง Telegram ของเรา @strategybin เพื่อรับ: ✓ สัญญาณการซื้อขายรายวัน ✓ การวิเคราะห์เชิงกลยุทธ์แบบพิเศษ ✓ การแจ้งเตือนแนวโน้มตลาด ✓ วัสดุการศึกษาสำหรับผู้เริ่มต้น

Баннер