ตัวอย่างการสร้างและใช้งาน Custom libraries Custom libraries เป็นเครื่องมือที่มีประโยชน์มากในการพัฒนา EA ช่วยให้เราสามารถแยกส่วนโค้ดที่ใช้งานบ่อยออกมาเป็นไลบรารีแยกต่างหาก ทำให้โค้ดหลักอ่านง่ายขึ้น ลดการเขียนโค้ดซ้ำซ้อน และง่ายต่อการบำรุงรักษา ข้อดีของการใช้ Custom libraries: ลดการเขียนโค้ดซ้ำซ้อน ทำให้โค้ดหลักอ่านง่ายและเข้าใจง่ายขึ้น ง่ายต่อการบำรุงรักษาและอัพเดทฟังก์ชันที่ใช้งานบ่อย สามารถแชร์ฟังก์ชันระหว่าง EA หรือ Indicator ต่างๆ ได้ ตัวอย่างการสร้าง Custom library: เราจะสร้าง Custom library ชื่อ “TradingFunctions.mqh” ที่มีฟังก์ชันสำหรับการเทรดและการจัดการความเสี่ยง // TradingFunctions.mqh // Calculate position size based on risk percentage double CalculatePositionSize(double riskPercentage, double stopLossPips) { double accountBalance = AccountBalance(); double [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA แบบ Grid Trading คำอธิบายองค์ประกอบหลักของ EA แบบ Grid Trading: Input Parameters: GridSize: ระยะห่างระหว่างแต่ละระดับของ grid (ในหน่วย pips) LotSize: ขนาดล็อตสำหรับแต่ละออเดอร์ MaxLevels: จำนวนระดับสูงสุดของ grid TakeProfit: ระยะ Take Profit สำหรับแต่ละออเดอร์ (ในหน่วย pips) StopLoss: ระยะ Stop Loss สำหรับออเดอร์แรกของแต่ละทิศทาง (ในหน่วย pips) OnInit(): ตรวจสอบความถูกต้องของ input parameters OnTick(): ตรวจสอบและเปิดระดับ grid ใหม่ถ้าจำเป็น ตรวจสอบและปิด grid ทั้งหมดถ้าเงื่อนไขเป็นจริง CheckAndOpenGridLevels(): ตรวจสอบว่าควรเปิดระดับ grid ใหม่หรือไม่ทั้งฝั่ง Buy และ Sell GetNextBuyLevel() [อ่านเพิ่มเติมคลิ๊ก]
forexduckFOREXDUCK (นามปากกา) นักเขียนของเรามีประสบการณ์การเงินการลงทุนกว่า 10 ปี มีความเชี่ยวชาญในการวิเคราะห์ตลาด Forex และคริปโต โดยเฉพาะการวิเคราะห์ทางเทคนิค รวมถึงเทคนิคต่าง www.forexduck.com
ตัวอย่าง EA ที่ใช้หลายกลยุทธ์ร่วมกัน คำอธิบายองค์ประกอบหลักของ EA ที่ใช้หลายกลยุทธ์ร่วมกัน: กลยุทธ์ที่ใช้: Trend Following: ใช้ Trend MA เพื่อกำหนดแนวโน้มหลัก MA Crossover: ใช้การตัดกันของ Fast MA และ Slow MA RSI: ใช้ RSI เพื่อระบุภาวะ overbought และ oversold การตัดสินใจเข้าเทรด: Buy: เมื่อราคาอยู่เหนือ Trend MA และ (Fast MA ตัดขึ้นบน Slow MA หรือ RSI < oversold) Sell: เมื่อราคาอยู่ใต้ Trend MA และ (Fast MA ตัดลงใต้ Slow MA หรือ RSI [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA แบบ Scalping คำอธิบายองค์ประกอบหลักของ EA แบบ Scalping: Input Parameters: FastMA และ SlowMA: ช่วงเวลาสำหรับ Moving Average เร็วและช้า LotSize: ขนาดล็อตสำหรับแต่ละการเทรด StopLoss และ TakeProfit: ระยะ Stop Loss และ Take Profit ในหน่วย pips MaxSpread: ค่า spread สูงสุดที่ยอมรับได้ Slippage: ค่า slippage สูงสุดที่ยอมรับได้ OnInit(): สร้างและตั้งค่า Moving Average indicators OnTick(): ตรวจสอบ spread อัพเดทค่า indicators ตรวจสอบสัญญาณเข้าและออกจากตลาด IsTradeOpen(): ตรวจสอบว่ามีการเทรดที่เปิดอยู่หรือไม่ OpenBuyTrade() และ OpenSellTrade(): เปิดออเดอร์ [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA แบบ Breakout Trading คำอธิบายองค์ประกอบหลักของ EA แบบ Breakout Trading: Input Parameters: LookbackPeriod: จำนวนแท่งเทียนย้อนหลังที่ใช้ในการหาจุดสูงสุดและต่ำสุด RiskPercent: เปอร์เซ็นต์ความเสี่ยงต่อการเทรดแต่ละครั้ง StopLoss และ TakeProfit: ระยะ Stop Loss และ Take Profit ในหน่วย pips OnInit(): ตรวจสอบความถูกต้องของ input parameters OnTick(): ตรวจสอบว่าเป็นแท่งเทียนใหม่หรือไม่ คำนวณจุดสูงสุดและต่ำสุดใหม่ ตรวจสอบการเกิด breakout และเปิดออเดอร์ CalculateHighLow(): คำนวณจุดสูงสุดและต่ำสุดในช่วง LookbackPeriod CheckBreakout(): ตรวจสอบว่าราคาปัจจุบันทะลุจุดสูงสุดหรือต่ำสุดหรือไม่ เปิดออเดอร์ Buy หรือ Sell ตามทิศทางของ breakout OpenBuyOrder() และ OpenSellOrder(): เปิดออเดอร์ Buy หรือ Sell [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA Trend Following ในบทนี้ เราจะมาดูตัวอย่าง EA แบบ Trend Following ที่สมบูรณ์กัน EA นี้จะใช้ Moving Average (MA) เพื่อระบุแนวโน้มและสร้างสัญญาณการเทรด ต่อไปนี้เป็นตัวอย่าง Code EA แบบ Trend Following พร้อมคำอธิบายองค์ประกอบหลัก: คำอธิบายองค์ประกอบหลักของ EA: Input Parameters: FastMA และ SlowMA: ช่วงเวลาสำหรับ Moving Average เร็วและช้า LotSize: ขนาดล็อตในการเทรด StopLoss และ TakeProfit: ระยะ Stop Loss และ Take Profit ในหน่วย pips OnInit(): สร้างและตั้งค่า Moving Average indicators จัดสรรหน่วยความจำสำหรับ indicator [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่างการใช้งาน DLL เพื่อเพิ่มความสามารถของ EA Dynamic-Link Library (DLL) เป็นไลบรารีที่สามารถเพิ่มฟังก์ชันการทำงานให้กับ EA ได้อย่างมาก โดยเฉพาะอย่างยิ่งสำหรับการทำงานที่ต้องการประสิทธิภาพสูงหรือต้องการใช้ฟังก์ชันที่ไม่มีใน MQL4 ข้อดีของการใช้ DLL: เพิ่มประสิทธิภาพการทำงานสำหรับการคำนวณที่ซับซ้อน สามารถใช้ไลบรารีและฟังก์ชันจากภาษาอื่นๆ เช่น C++ หรือ C# ปกป้องโค้ดที่เป็นความลับหรือทรัพย์สินทางปัญญา เพิ่มความสามารถในการทำงานที่ไม่มีใน MQL4 โดยตรง เช่น การเชื่อมต่อกับฐานข้อมูลภายนอก ตัวอย่างการสร้าง DLL: สมมติว่าเราต้องการสร้าง DLL ที่มีฟังก์ชันคำนวณ Fibonacci levels แบบซับซ้อน เราจะสร้างไฟล์ C++ ดังนี้: #include extern “C” __declspec(dllexport) void CalculateFibonacciLevels(double high, double low, double* levels, int size) { std::vector fibLevels = [อ่านเพิ่มเติมคลิ๊ก]