Thursday, February 27, 2025
Reversal chart patterns
Want to improve your trades? Here are 3 powerful chart patterns that help spot reversals & breakouts:
Head & Shoulders:
Signals a trend change from bullish to bearish and opposite.
Look for: Three peaks, with the middle (head) higher than the others.
Cup & Handle
A bullish/bearish breakout pattern after consolidation.
Look for: A "U"-shaped cup, followed by a small downward handle before the price surges.
Double Top/Bottom
The market tests key support/resistance levels.
Double Top = Bearish reversal after two failed highs.
Double Bottom = Bullish reversal after two failed lows.
Why use these patterns?
They are easy to spot and provide strong signals for trend reversals or continuations.
Which chart pattern is your favorite?
Thursday, February 6, 2025
MQL สำหรับการเรียนรู้เริ่มต้น
MQL (MetaQuotes Language) เป็นภาษาสำหรับพัฒนา Expert Advisors (EA), Indicators, และ Scripts บนแพลตฟอร์ม MetaTrader (MT4/MT5) ใช้ในการเขียนโปรแกรมเทรดอัตโนมัติและวิเคราะห์กราฟทางเทคนิค
เริ่มต้นกับ MQL:
- ติดตั้ง MetaTrader – ดาวน์โหลดและติดตั้ง MT4 หรือ MT5
- เปิด MetaEditor – เป็นเครื่องมือเขียนโค้ด MQL ใน MetaTrader
- เรียนรู้โครงสร้างภาษา – คล้าย C++ มีฟังก์ชัน, ตัวแปร, เงื่อนไข, ลูป
- เริ่มเขียนโค้ดง่ายๆ – ลองสร้าง Indicator หรือ EA ง่ายๆ เช่น แสดงข้อความบนกราฟ
- ศึกษาคำสั่งสำคัญ – เช่น
OrderSend()
,iMA()
,iRSI()
การพัฒนา EA
การพัฒนา Expert Advisor (EA) ใน MQL ใช้สำหรับสร้างระบบเทรดอัตโนมัติบน MetaTrader ซึ่งสามารถเปิด/ปิดออเดอร์ตามเงื่อนไขที่กำหนด
ขั้นตอนการพัฒนา EA เบื้องต้น
สร้างไฟล์ EA
- เปิด MetaEditor → ไปที่ File → New → เลือก Expert Advisor (template)
โครงสร้างพื้นฐานของ EA
- EA จะมีฟังก์ชันหลักสำคัญ:mql4
// ฟังก์ชันเริ่มต้น (ทำงานเมื่อ EA ถูกโหลด) int OnInit() { return INIT_SUCCEEDED; } // ฟังก์ชันหลัก ทำงานเมื่อราคามีการเปลี่ยนแปลง void OnTick() { } // ฟังก์ชันปิด (ทำงานเมื่อ EA ถูกปิด) void OnDeinit(const int reason) { }
- EA จะมีฟังก์ชันหลักสำคัญ:
เพิ่มเงื่อนไขการเปิด/ปิดออเดอร์
- ตัวอย่างเปิดออเดอร์เมื่อราคาอยู่เหนือเส้น EMA 50mql4
void OnTick() { double ema50 = iMA(Symbol(), 0, 50, 0, MODE_EMA, PRICE_CLOSE, 0); double price = Close[0]; if (price > ema50) { OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, 0, 0, "Buy Order", 0, 0, clrBlue); } }
- ตัวอย่างเปิดออเดอร์เมื่อราคาอยู่เหนือเส้น EMA 50
ทดสอบ EA ด้วย Strategy Tester
- ใน MetaTrader → ไปที่ View → Strategy Tester → เลือก EA และตั้งค่าทดสอบ
ปรับปรุงและเพิ่มฟีเจอร์
- เพิ่ม Stop Loss / Take Profit
- ใช้ Indicator อื่นๆ เช่น RSI, MACD
- จัดการออเดอร์ที่เปิดอยู่
เงื่อนไขการเข้าออกเทรด, การใช้ Indicator และการจัดการออเดอร์
เรามาแยกเป็น 3 ส่วนหลักในการพัฒนา EA กัน
1. เงื่อนไขการเข้าออกเทรด
การเข้าออเดอร์จะใช้เงื่อนไขทางเทคนิค เช่น ค่า Indicator, แนวรับแนวต้าน, หรือรูปแบบแท่งเทียน ส่วนการออกออเดอร์อาจใช้ Take Profit (TP), Stop Loss (SL) หรือเงื่อนไขอื่น
ตัวอย่างเข้า Buy เมื่อ EMA 50 ตัด EMA 200 ขึ้น
mql4void OnTick() { double ema50 = iMA(Symbol(), 0, 50, 0, MODE_EMA, PRICE_CLOSE, 0); double ema200 = iMA(Symbol(), 0, 200, 0, MODE_EMA, PRICE_CLOSE, 0); if (ema50 > ema200) { OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, 0, 0, "Buy Order", 0, 0, clrBlue); } }
ตัวอย่างออกออเดอร์เมื่อราคาแตะ Stop Loss หรือ Take Profit
mql4double stopLoss = Bid - 50 * Point; double takeProfit = Bid + 100 * Point; OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, stopLoss, takeProfit, "Buy Order", 0, 0, clrBlue);
2. การใช้ Indicator ใน EA
MQL มีฟังก์ชันดึงค่าจาก Indicator เช่น
- EMA:
iMA()
- RSI:
iRSI()
- MACD:
iMACD()
ตัวอย่างใช้ RSI เป็นเงื่อนไขเข้า Buy เมื่อ RSI ต่ำกว่า 30
mql4double rsi = iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0); if (rsi < 30) { OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, 0, 0, "Buy Order", 0, 0, clrBlue); }
ตัวอย่างใช้ MACD เป็นเงื่อนไขเข้า Buy เมื่อ MACD ตัด Signal Line ขึ้น
mql4double macdMain, macdSignal; macdMain = iMACD(Symbol(), 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0); macdSignal = iMACD(Symbol(), 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0); if (macdMain > macdSignal) { OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, 0, 0, "Buy Order", 0, 0, clrBlue); }
3. การจัดการออเดอร์ใน EA
การตรวจสอบออเดอร์ที่เปิดอยู่และปิดออเดอร์เมื่อถึงเงื่อนไข
ตัวอย่างปิดออเดอร์เมื่อ RSI > 70
mql4void CloseOrders() { for (int i = OrdersTotal() - 1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_BUY) { double rsi = iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0); if (rsi > 70) { OrderClose(OrderTicket(), OrderLots(), Bid, 10); } } } } }
ตัวอย่างปิดทุกออเดอร์ที่เปิดอยู่
mql4void CloseAllOrders() { for (int i = OrdersTotal() - 1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 10); } } }
สรุป
✅ เงื่อนไขเข้าออกเทรด – ใช้ EMA, RSI, MACD หรือเงื่อนไขอื่น
✅ การใช้ Indicator – ใช้ฟังก์ชัน iMA()
, iRSI()
, iMACD()
เพื่อวิเคราะห์แนวโน้ม
✅ การจัดการออเดอร์ – ตรวจสอบและปิดออเดอร์ตามเงื่อนไข
Featured Posts
Reversal chart patterns
Master Your Market Entries & Exits! Want to improve your trades? Here are 3 powerful chart patterns that help spot reversal...
-
Two approaches to trading Forex trading is complex and challenging. Numerous and various market participants constantly contemplate how to ...
-
Trading robots are programs, code written according to a specific trading strategy. It uses technical signals to enter trades while traders ...
-
👋 How to win trading? 💡 In latest article, "The Only Two Ways to Win in Trading", we delve into essential trading ap...