| Mô hình nến nhấn chìm (Engulfing): Cách nhận biết & giao dịch chuẩn trong MT5

Được viết bởi Đặng Trí Thanh vào ngày 01/09/2026 lúc 21:08 | 49 lượt xem

Đặng Trí ThanhĐặng Trí Thanh
Giám đốc Công nghệ · DNT Digital · Hướng Nghiệp Dữ Liệu
Giảng dạy Khóa Kiến thức Giao dịch Forex MQL MT5, Lập trình MT5, Bot Auto Trading.

Mô hình nến nhấn chìm (Engulfing): Cách nhận biết & giao dịch chuẩn trong MT5

Mô hình nến nhấn chìm (Engulfing) - video 60 giây
🎬 Xem video giai thich 60 giay: Xem tren YouTube

Mô hình nến nhấn chìm (Engulfing) là một trong những mô hình nến đảo chiều phổ biến và dễ nhận biết nhất trong phân tích kỹ thuật Forex. Nó xuất hiện khi một cây nến “nuốt trọn” toàn bộ thân của cây nến trước đó — cho thấy phe mua hoặc phe bán đang chiếm ưu thế đảo ngược.

Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về mô hình nến nhấn chìm: định nghĩa, cách nhận biết, quy ước màu khi giao dịch tại Việt Nam, cách kết hợp các giá trị cây nến, và cách lập trình tín hiệu này trong MQL5.

1. Mô hình nến nhấn chìm là gì?

Nến nhấn chìm (Engulfing Pattern) là mô hình gồm hai cây nến:

  • Cây nến thứ nhất có thân nhỏ, thể hiện xu hướng hiện tại
  • Cây nến thứ hai có thân lớn, bao trùm (nuốt) toàn bộ thân của cây nến thứ nhất

Khi cây nến thứ hai đóng cửa bao phủ toàn bộ thân nến trước, thị trường cho thấy sự đảo chiều tiềm năng.

1.1. Nến nhấn chìm tăng (Bullish Engulfing)

Là mô hình xuất hiện ở đáy của xu hướng giảm, báo hiệu khả năng đảo chiều lên:

  • Nến 1: nến giảm (thân nhỏ)
  • Nến 2: nến tăng (thân lớn, đóng cửa cao hơn mức mở cửa của nến 1 và mở cửa thấp hơn hoặc bằng đáy nến 1)

1.2. Nến nhấn chìm giảm (Bearish Engulfing)

Xuất hiện ở đỉnh của xu hướng tăng, báo hiệu đảo chiều xuống:

  • Nến 1: nến tăng (thân nhỏ)
  • Nến 2: nến giảm (thân lớn, đóng cửa thấp hơn mức mở cửa của nến 1)

2. Quy ước màu nến khi giao dịch tại Việt Nam

Quan trọng: Tại Việt Nam, nhiều sàn và phần mềm (bao gồm MT5 khi cài đặt theo tùy chọn VN) dùng quy ước đỏ = tăng, xanh = giảm (ngược với chuẩn phương Tây).

Vì vậy, trong bài giảng khóa Kiến thức Giao dịch Forex MQL MT5, giảng viên nhấn mạnh:

  • Cặp nến tăng = Nến 1 XANH (giảm) + Nến 2 ĐỎ (tăng) → nến đỏ nuốt nến xanh → tín hiệu MUA
  • Cặp nến giảm = Nến 1 ĐỎ (tăng) + Nến 2 XANH (giảm) → nến xanh nuốt nến đỏ → tín hiệu BÁN
Mô hình Nến 1 Nến 2 Ý nghĩa
Bullish Engulfing Xanh (giảm) Đỏ (tăng) Tín hiệu MUA
Bearish Engulfing Đỏ (tăng) Xanh (giảm) Tín hiệu BÁN

3. 6 giá trị của cây nến (OHLC)

Để nhận biết chính xác nến nhấn chìm, bạn cần nắm 6 giá trị của mỗi cây nến:

Giá trị Ý nghĩa
Open Giá mở cửa
High Giá cao nhất
Low Giá thấp nhất
Close Giá đóng cửa
Tick Volume Khối lượng tick
Real Volume Khối lượng thực

Trong MQL5, ta lấy các giá trị này bằng hàm iOpen, iHigh, iLow, iClose:

// Lấy 6 giá trị của nến hiện tại (shift = 1: nến vừa đóng)
int shift = 1;
double open  = iOpen(_Symbol, _Period, shift);
double high  = iHigh(_Symbol, _Period, shift);
double low   = iLow(_Symbol, _Period, shift);
double close = iClose(_Symbol, _Period, shift);

Print("Open=", open, " High=", high, " Low=", low, " Close=", close);

4. Cách nhận biết nến nhấn chìm trong MQL5

Dựa vào 6 giá trị cây nến, ta có thể viết điều kiện kiểm tra mô hình nến nhấn chìm. Với quy ước đỏ = tăng, xanh = giảm:

4.1. Kiểm tra nến tăng / nến giảm

bool IsBullishCandle(int shift)
{
   // Đỏ = tăng (theo quy ước VN): Close > Open
   return iClose(_Symbol, _Period, shift) > iOpen(_Symbol, _Period, shift);
}

bool IsBearishCandle(int shift)
{
   // Xanh = giảm: Close < Open
   return iClose(_Symbol, _Period, shift) < iOpen(_Symbol, _Period, shift);
}

4.2. Kiểm tra nến nhấn chìm

// Bullish Engulfing: nến 1 xanh (giảm) + nến 2 đỏ (tăng) nuốt nến 1
bool IsBullishEngulfing()
{
   int shift = 1; // nến vừa đóng
   double o1 = iOpen(_Symbol, _Period, shift + 1);
   double c1 = iClose(_Symbol, _Period, shift + 1);
   double o2 = iOpen(_Symbol, _Period, shift);
   double c2 = iClose(_Symbol, _Period, shift);

   // Nến 1 giảm, nến 2 tăng, nến 2 nuốt toàn bộ thân nến 1
   return (c1 < o1) && (c2 > o2)
       && (o2 <= c1) && (c2 >= o1);
}

// Bearish Engulfing: nến 1 đỏ (tăng) + nến 2 xanh (giảm) nuốt nến 1
bool IsBearishEngulfing()
{
   int shift = 1;
   double o1 = iOpen(_Symbol, _Period, shift + 1);
   double c1 = iClose(_Symbol, _Period, shift + 1);
   double o2 = iOpen(_Symbol, _Period, shift);
   double c2 = iClose(_Symbol, _Period, shift);

   return (c1 > o1) && (c2 < o2)
       && (o2 >= c1) && (c2 <= o1);
}

5. Lọc tín hiệu bằng khối lượng (Volume)

Mô hình nến nhấn chìm càng đáng tin khi đi kèm khối lượng tăng (volume spike) — cho thấy dòng tiền thực sự tham gia đảo chiều.

// Lấy Tick Volume nến hiện tại
long vol1 = iTickVolume(_Symbol, _Period, 2); // nến trước
long vol2 = iTickVolume(_Symbol, _Period, 1); // nến nhấn chìm

// Tín hiệu mạnh hơn khi volume nến nhấn chìm > 1.5 lần nến trước
bool volumeConfirm = (vol2 > vol1 * 1.5);

6. Ví dụ EA đầy đủ: Giao dịch theo nến nhấn chìm

Dưới đây là EA đơn giản vào lệnh khi gặp nến nhấn chìm có xác nhận:

//+------------------------------------------------------------------+
//| EngulfingEA.mq5 — Giao dịch theo mô hình nến nhấn chìm           |
//+------------------------------------------------------------------+
#property strict

input double LotSize    = 0.01;
input int    StopLossPips = 30;
input int    TakeProfitPips = 60;

int OnInit() { return INIT_SUCCEEDED; }

void OnDeinit(const int reason) {}

bool IsBullishEngulfing()
{
   int shift = 1;
   double o1 = iOpen(_Symbol, _Period, shift + 1);
   double c1 = iClose(_Symbol, _Period, shift + 1);
   double o2 = iOpen(_Symbol, _Period, shift);
   double c2 = iClose(_Symbol, _Period, shift);
   return (c1 < o1) && (c2 > o2) && (o2 <= c1) && (c2 >= o1);
}

bool IsBearishEngulfing()
{
   int shift = 1;
   double o1 = iOpen(_Symbol, _Period, shift + 1);
   double c1 = iClose(_Symbol, _Period, shift + 1);
   double o2 = iOpen(_Symbol, _Period, shift);
   double c2 = iClose(_Symbol, _Period, shift);
   return (c1 > o1) && (c2 < o2) && (o2 >= c1) && (c2 <= o1);
}

void OnTick()
{
   static bool hasPosition = false;

   // Kiểm tra lệnh đang mở
   for(int i = 0; i < PositionsTotal(); i++)
   {
      if(PositionGetSymbol(i) == _Symbol)
      {
         hasPosition = true;
         return;
      }
   }
   hasPosition = false;

   if(hasPosition) return;

   double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
   double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
   int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);

   if(IsBullishEngulfing())
   {
      double sl = NormalizeDouble(bid - StopLossPips * 10 * _Point, digits);
      double tp = NormalizeDouble(bid + TakeProfitPips * 10 * _Point, digits);
      // Mở lệnh BUY
      MqlTradeRequest req = {};
      MqlTradeResult res = {};
      req.action = TRADE_ACTION_DEAL;
      req.symbol = _Symbol;
      req.volume = LotSize;
      req.type = ORDER_TYPE_BUY;
      req.price = ask;
      req.sl = sl;
      req.tp = tp;
      req.deviation = 10;
      req.comment = "Bullish Engulfing";
      OrderSend(req, res);
   }

   if(IsBearishEngulfing())
   {
      double sl = NormalizeDouble(ask + StopLossPips * 10 * _Point, digits);
      double tp = NormalizeDouble(ask - TakeProfitPips * 10 * _Point, digits);
      // Mở lệnh SELL
      MqlTradeRequest req = {};
      MqlTradeResult res = {};
      req.action = TRADE_ACTION_DEAL;
      req.symbol = _Symbol;
      req.volume = LotSize;
      req.type = ORDER_TYPE_SELL;
      req.price = bid;
      req.sl = sl;
      req.tp = tp;
      req.deviation = 10;
      req.comment = "Bearish Engulfing";
      OrderSend(req, res);
   }
}

7. Lưu ý khi giao dịch nến nhấn chìm

  1. Khung thời gian lớn đáng tin hơn — H4, D1 cho tín hiệu mạnh hơn M1, M5
  2. Kết hợp vùng hỗ trợ/kháng cự — nến nhấn chìm tại vùng quan trọng đáng tin hơn
  3. Chờ xác nhận — nến nhấn chìm ở cuối xu hướng mới mạnh
  4. Quản lý vốn — luôn đặt SL, không vào lệnh quá lớn
  5. Nến nhấn chìm trong xu hướng mạnh có thể chỉ là nến điều chỉnh, không phải đảo chiều

8. Câu hỏi thường gặp (FAQ)

8.1. Nến nhấn chìm tăng là gì?

Là mô hình 2 nến: nến 1 giảm + nến 2 tăng nuốt trọn thân nến 1 — báo hiệu đảo chiều lên (tín hiệu mua).

8.2. Nến nhấn chìm giảm là gì?

Là mô hình 2 nến: nến 1 tăng + nến 2 giảm nuốt trọn thân nến 1 — báo hiệu đảo chiều xuống (tín hiệu bán).

8.3. Nến nhấn chìm có chắc chắn đảo chiều không?

Không. Đây là tín hiệu xác suất, cần kết hợp volume, vùng giá và quản lý vốn. Không có mô hình nào chắc chắn 100%.

8.4. Màu nến nào là tăng ở Việt Nam?

Tại Việt Nam phổ biến quy ước đỏ = tăng, xanh = giảm. Hãy kiểm tra cài đặt MT5 của bạn.

9. Kết luận

Mô hình nến nhấn chìm (Engulfing) là công cụ mạnh để nhận biết sớm sự đảo chiều trong giao dịch Forex. Kết hợp với 6 giá trị cây nếnkhối lượng, bạn có thể lập trình bot EA phát hiện tín hiệu này hoàn toàn tự động trong MQL5.

Nếu bạn muốn học bài bản từ nền tảng — từ nến, Pip/Point, lệnh đến lập trình bot EA MQL5 — hãy tham gia khóa học Kiến thức Giao dịch tài chính & Lập trình đầu tư tự động (Forex MQL MT5 Cơ bản) tại Hướng Nghiệp Dữ Liệu.

🎬 Xem giải thích nhanh 60 giây: Mô hình nến nhấn chìm

📚 Đăng ký khóa học: https://www.huongnghiepdulieu.com/kien-thuc-giao-dich-tai-chinh-forex-mt5/

Hướng Nghiệp Dữ Liệu — Đào tạo lập trình & giao dịch thực chiến · Hotline / Zalo: 0934 145 100

Đặng Trí Thanh

Đặng Trí Thanh

Giám đốc Công nghệ · DNT Digital · Giảng viên HNDL
870 Bài viết
15.4k Người theo dõi
120k+ Lượt đọc

Đặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.

Đội ngũ hỗ trợ

Đặng Trí Thanh
Đặng Trí Thanh
Giám đốc Công nghệ DNT Digital
Zalo 0934145100
Mộng Cầm
Mộng Cầm
Hỗ trợ khách hàng · Huấn luyện viên
Zalo 0927909257
Khánh Linh
Khánh Linh
Hỗ trợ khách hàng · Huấn luyện viên
Zalo 0927909582