Scalping forex là chiến lược giao dịch tần số cao — mở và đóng hàng chục đến hàng trăm lệnh mỗi ngày, kiếm lời từ những biến động giá nhỏ (5-20 pips mỗi lệnh). Khi được tự động hóa bằng bot MT5, scalping trở nên cực kỳ mạnh mẽ.
Scalping Là Gì?
Scalper không giữ lệnh qua đêm — mỗi lệnh chỉ mở trong vài giây đến vài phút. Mục tiêu: kiếm nhiều lần thắng nhỏ, tích lũy thành lợi nhuận lớn.
Đặc điểm của scalping:
- Timeframe: M1, M5, M15
- Target profit: 5-15 pips/lệnh
- Stop loss: 5-10 pips/lệnh
- Số lệnh/ngày: 10-50+
- Phí spread ảnh hưởng rất lớn → cần sàn spread thấp
Điều Kiện Cần Thiết Cho Scalping
1. Spread thấp: EUR/USD cần spread < 1 pip. Tránh scalping khi spread cao (phiên châu Á, trước tin tức).
2. Latency thấp: Bot cần thực thi lệnh nhanh → VPS gần server của sàn (London/New York).
3. Thanh khoản cao: Chỉ scalp các cặp major (EUR/USD, GBP/USD, XAU/USD) trong giờ cao điểm.
4. Tránh tin tức: Dừng bot trước 15-30 phút khi có tin tức NFP, CPI, FOMC.
3 Chiến Lược Scalping Phổ Biến
1. EMA Ribbon Scalping (M5)
// Dùng 3 EMA: 5, 13, 21
// Buy khi EMA5 > EMA13 > EMA21 và giá đang retrace về EMA5
// Sell khi EMA5 < EMA13 < EMA21
Target: 10 pips | SL: 8 pips | Chỉ giao dịch phiên London
2. RSI + Bollinger Bands Mean Reversion (M15)
// Sell khi giá chạm Upper Band VÀ RSI > 70
// Buy khi giá chạm Lower Band VÀ RSI < 30
// Target: Middle Band | SL: 1.5 × ATR
Chiến lược này hoạt động tốt trong sideway market.
3. Opening Range Breakout (M5)
// Xác định High/Low của 15 phút đầu phiên London (14:00-14:15 giờ VN)
// Buy breakout khi giá phá lên trên High + 2 pips
// Sell breakout khi giá phá xuống dưới Low - 2 pips
Code Bot Scalping MT5 Cơ Bản
input int EMA_Fast = 5;
input int EMA_Mid = 13;
input int EMA_Slow = 21;
input double LotSize = 0.01;
input int TP_Pips = 10;
input int SL_Pips = 8;
input int MaxSpread = 15; // Không trade khi spread > 1.5 pip
void OnTick() {
// Kiểm tra spread
long spread = SymbolInfoInteger(_Symbol, SYMBOL_SPREAD);
if(spread > MaxSpread) return;
// Kiểm tra giờ giao dịch (14:00-22:00 VN = 7:00-15:00 UTC)
MqlDateTime dt;
TimeCurrent(dt);
if(dt.hour < 7 || dt.hour >= 15) return;
// Tính EMA
double ema5 = iMA(_Symbol, PERIOD_M5, EMA_Fast, 0, MODE_EMA, PRICE_CLOSE, 0);
double ema13 = iMA(_Symbol, PERIOD_M5, EMA_Mid, 0, MODE_EMA, PRICE_CLOSE, 0);
double ema21 = iMA(_Symbol, PERIOD_M5, EMA_Slow, 0, MODE_EMA, PRICE_CLOSE, 0);
double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);
if(PositionsTotal() > 0) return; // Chỉ 1 lệnh cùng lúc
// Buy signal: EMA5 > EMA13 > EMA21
if(ema5 > ema13 && ema13 > ema21) {
double sl = ask - SL_Pips * 10 * point;
double tp = ask + TP_Pips * 10 * point;
trade.Buy(LotSize, _Symbol, ask, sl, tp);
}
// Sell signal: EMA5 < EMA13 < EMA21
if(ema5 < ema13 && ema13 < ema21) {
double sl = bid + SL_Pips * 10 * point;
double tp = bid - TP_Pips * 10 * point;
trade.Sell(LotSize, _Symbol, bid, sl, tp);
}
}
Rủi Ro Của Scalping
- Phí giao dịch ăn vào lợi nhuận nhiều nhất — với 30 lệnh/ngày × 1 pip spread = 30 pips phí/ngày
- Slippage — Trong thị trường biến động, lệnh khớp giá khác ý muốn
- Overfit trong backtest — Scalping dễ overfitted vì quá nhiều tham số trên M1/M5
Học cách tối ưu bot scalping MT5 và phân tích kết quả backtest chuyên sâu tại Hướng Nghiệp Dữ Liệu.