ตัวอย่างการใช้งาน indicator ทางเทคนิค (MA, RSI, MACD, Bollinger Bands) void OnStart() { int barCount = 100; // Moving Average (MA) double ma[]; ArrayResize(ma, barCount); for(int i = 0; i < barCount; i++) { ma[i] = iMA(NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, i); } // Relative Strength Index (RSI) double rsi[]; ArrayResize(rsi, barCount); for(int i = 0; [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่างการใช้งาน ArraySetAsSeries() void OnStart() { int barCount = 10; double closePrice[]; ArrayResize(closePrice, barCount); ArraySetAsSeries(closePrice, true); for(int i = 0; i < barCount; i++) { closePrice[i] = iClose(NULL, 0, i); } // แสดงราคาปิดย้อนหลัง 10 แท่งล่าสุด for(int i = 0; i < barCount; i++) { Print(“Close price “, i, ” bars ago: “, closePrice[i]); } } คำอธิบายฟังก์ชัน [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่างการสร้าง Custom Indicator อย่างง่าย int OnInit() { SetIndexBuffer(0, CustomMABuffer); SetIndexStyle(0, DRAW_LINE); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int limit = rates_total – prev_calculated; for(int i = limit; [อ่านเพิ่มเติมคลิ๊ก]
ชุดคำสั่งสำหรับดึงข้อมูลราคา (Open, High, Low, Close) // ฟังก์ชันดึงข้อมูลราคา void GetPriceData(int bars, double &open[], double &high[], double &low[], double &close[]) { ArrayResize(open, bars); ArrayResize(high, bars); ArrayResize(low, bars); ArrayResize(close, bars); for(int i = 0; i < bars; i++) { open[i] = iOpen(NULL, 0, i); high[i] = iHigh(NULL, 0, i); low[i] = iLow(NULL, 0, i); close[i] = iClose(NULL, [อ่านเพิ่มเติมคลิ๊ก]
EA ที่ทำงานบนหลาย Timeframe Expert Advisor (EA) ที่ทำงานบนหลาย timeframe เป็น EA ที่วิเคราะห์ข้อมูลตลาดจากกรอบเวลา (timeframe) ที่แตกต่างกันหลายๆ กรอบ เพื่อตัดสินใจในการเทรด วิธีนี้ช่วยให้ EA มีมุมมองที่กว้างขึ้นเกี่ยวกับสภาวะตลาด ซึ่งอาจนำไปสู่การตัดสินใจที่แม่นยำมากขึ้น ประโยชน์ของ EA แบบหลาย Timeframe มุมมองที่ครอบคลุม: สามารถวิเคราะห์ทั้งแนวโน้มระยะยาวและการเคลื่อนไหวระยะสั้นได้พร้อมกัน ลดสัญญาณหลอก: การยืนยันสัญญาณจากหลาย timeframe ช่วยลดโอกาสการเกิดสัญญาณหลอก ความยืดหยุ่น: สามารถปรับกลยุทธ์ให้เหมาะสมกับสภาวะตลาดที่แตกต่างกันได้ แนวคิดพื้นฐานในการพัฒนา กำหนด Timeframe ที่จะใช้: เช่น M15, H1, H4 สร้างฟังก์ชันวิเคราะห์แยกสำหรับแต่ละ Timeframe รวมผลการวิเคราะห์: ใช้ข้อมูลจากทุก timeframe เพื่อตัดสินใจ กำหนดน้ำหนักให้แต่ละ Timeframe: อาจให้น้ำหนักมากกับ timeframe ที่สูงกว่า ตัวอย่างแนวคิดการทำงาน input ENUM_TIMEFRAMES TF1 = [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่างการใช้งานโครงสร้างควบคุม (if-else, loops, switch) โครงสร้างควบคุมเป็นส่วนสำคัญในการเขียนโปรแกรม MQL4 ที่ช่วยให้เราสามารถควบคุมการทำงานของโปรแกรมได้อย่างมีประสิทธิภาพ ลองมาดูตัวอย่างการใช้งานโครงสร้างควบคุมแบบต่างๆ กัน: 1. if-else statement ใช้สำหรับตัดสินใจทำงานตามเงื่อนไขที่กำหนด void CheckAndTrade() { double currentPrice = MarketInfo(Symbol(), MODE_BID); double ma20 = iMA(Symbol(), 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0); if(currentPrice > ma20) { Print(“Price is above MA20. Considering a buy order.”); // เพิ่มโค้ดสำหรับเปิดคำสั่งซื้อที่นี่ } else if(currentPrice < ma20) { Print(“Price is below MA20. [อ่านเพิ่มเติมคลิ๊ก]
โครงสร้างและไวยากรณ์ของภาษา MQL4 MQL4 (MetaQuotes Language 4) เป็นภาษาโปรแกรมที่ถูกพัฒนาขึ้นมาเฉพาะสำหรับการเขียนโปรแกรมในแพลตฟอร์ม MetaTrader 4 ซึ่งเป็นโปรแกรมที่ใช้ในการเทรด Forex อย่างแพร่หลาย MQL4 ใช้สำหรับสร้าง: Expert Advisors (EAs): โปรแกรมอัตโนมัติที่สามารถวิเคราะห์ตลาดและทำการซื้อขายแทนคุณ ทำงานอัติโนมัติทุกอย่างบนคอมพิวเตอร์ที่เปิดอยู่ Custom Indicators: Indicator ทางเทคนิคที่คุณสามารถออกแบบเองเพื่อวิเคราะห์ตลาด Scripts: โปรแกรมสั้นๆ ที่ทำงานเฉพาะกิจ เช่น ปิดออเดอร์ทั้งหมด หรือคำนวณข้อมูลบางอย่าง ทำงานครั้งเดียวที่สั่งหรือใช้งาน ด้วย MQL4 คุณสามารถ: เขียนโปรแกรมที่ตัดสินใจซื้อขายอัตโนมัติตามเงื่อนไขที่คุณกำหนด สร้างIndicatorใหม่ๆ ที่ไม่มีในโปรแกรม MetaTrader 4 ทดสอบกลยุทธ์การเทรดของคุณกับข้อมูลในอดีต ปรับแต่งการทำงานของ MetaTrader 4 ให้ตรงกับความต้องการของคุณ สำหรับผู้เริ่มต้น การเรียนรู้ MQL4 อาจดูเหมือนท้าทาย แต่ไม่ต้องกังวลครับ เราจะค่อยๆ เรียนรู้ไปทีละขั้นตอน เริ่มจากพื้นฐานง่ายๆ ไปจนถึงการสร้าง EA ที่ซับซ้อน ต่อไปนี้คือโครงสร้างและไวยากรณ์พื้นฐานของ [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA ที่ทำงานกับหลายคู่สกุลเงิน การพัฒนา EA ที่สามารถทำงานกับหลายคู่สกุลเงินพร้อมกันเป็นเทคนิคขั้นสูงที่ช่วยเพิ่มโอกาสในการทำกำไรและกระจายความเสี่ยง EA แบบนี้สามารถวิเคราะห์และเทรดหลายคู่สกุลเงินในเวลาเดียวกัน ทำให้สามารถใช้ประโยชน์จากโอกาสทางการตลาดได้มากขึ้น ข้อดีของ EA ที่ทำงานกับหลายคู่สกุลเงิน: กระจายความเสี่ยง เพิ่มโอกาสในการทำกำไร ใช้ประโยชน์จากความสัมพันธ์ระหว่างคู่สกุลเงินต่างๆ เหมาะสำหรับตลาดที่มีความผันผวนต่ำ ตัวอย่าง EA ที่ทำงานกับหลายคู่สกุลเงิน: ต่อไปนี้เป็นตัวอย่าง EA ที่ทำงานกับ 3 คู่สกุลเงิน ได้แก่ EURUSD, GBPUSD และ USDJPY โดยใช้กลยุทธ์ Moving Average Crossover อย่างง่าย #property copyright “Your Name” #property link “https://www.example.com” #property version “1.00” #property strict // Input parameters input int FastMA = 10; input [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่าง EA ที่ปรับตัวตามสภาวะตลาด EA ที่สามารถปรับตัวตามสภาวะตลาดเป็นเครื่องมือการเทรดที่มีประสิทธิภาพสูง เนื่องจากสามารถทำงานได้ดีในสภาวะตลาดที่แตกต่างกัน เช่น ตลาดที่มีแนวโน้ม (trending market) หรือตลาดที่เคลื่อนไหวในกรอบ (ranging market) EA แบบนี้จะวิเคราะห์สภาวะตลาดปัจจุบันและปรับกลยุทธ์การเทรดให้เหมาะสม ข้อดีของ EA ที่ปรับตัวตามสภาวะตลาด: ทำงานได้ดีในหลายสภาวะตลาด ลดความเสี่ยงจากการใช้กลยุทธ์เดียวตลอดเวลา เพิ่มโอกาสในการทำกำไรในระยะยาว สามารถปรับตัวเข้ากับการเปลี่ยนแปลงของตลาดได้อย่างอัตโนมัติ ตัวอย่าง EA ที่ปรับตัวตามสภาวะตลาด: ต่อไปนี้เป็นตัวอย่าง EA ที่ใช้ ADX (Average Directional Index) เพื่อตรวจจับสภาวะตลาด และปรับใช้กลยุทธ์ที่เหมาะสม: ถ้า ADX สูง (ตลาดมีแนวโน้มชัดเจน) จะใช้กลยุทธ์ Moving Average Crossover ถ้า ADX ต่ำ (ตลาดเคลื่อนไหวในกรอบ) จะใช้กลยุทธ์ RSI Overbought/Oversold #property copyright “Your Name” #property link [อ่านเพิ่มเติมคลิ๊ก]
ตัวอย่างการใช้ machine learning algorithm ใน EA การนำ machine learning มาใช้ใน EA เป็นแนวทางขั้นสูงที่สามารถเพิ่มประสิทธิภาพในการวิเคราะห์ตลาดและการตัดสินใจเทรด ในตัวอย่างนี้ เราจะใช้ simple neural network เพื่อทำนายทิศทางของราคาในอนาคต ข้อดีของการใช้ machine learning ใน EA: สามารถเรียนรู้และปรับตัวกับรูปแบบตลาดที่ซับซ้อน ลดอคติจากการตัดสินใจของมนุษย์ สามารถประมวลผลข้อมูลจำนวนมากได้อย่างรวดเร็ว มีความยืดหยุ่นในการปรับใช้กับสภาวะตลาดที่เปลี่ยนแปลง ตัวอย่าง EA ที่ใช้ simple neural network: ในตัวอย่างนี้ เราจะใช้ neural network อย่างง่ายที่มี input layer, 1 hidden layer และ output layer เพื่อทำนายทิศทางของราคาในอนาคต #property copyright “Your Name” #property link “https://www.example.com” [อ่านเพิ่มเติมคลิ๊ก]