🤖 Robot EA Forex EURUSD Gratis Open Source MQL4 – Scalping M1 dengan Auto Lot Super Cerdas
Trading forex dengan robot (EA) selalu menarik, apalagi kalau ada yang gratis, open source, dan bisa dimodifikasi. Kali ini eafxgratis.com bahas EA Snipper EURUSD untuk MetaTrader 4 (MT4) yang dirancang khusus scalping time frame 1 menit (M1).
Pasti banyak trader yang penasaran bagaimana cara kerja robot EA Forex EURUSD gratis open source ini dan bagaimana cara menggunakanya di MetaTrader 4 (MT4). EA (Expert Advisor) ini didesain khusus untuk scalping di time frame 1 menit (M1), sehingga cocok bagi trader yang suka entry cepat dengan target profit kecil tapi konsisten.
EA ini sudah diuji di pair EURUSD dengan hasil yang bisa bikin jantungan. Bahkan dari modal kecil $100 saja bisa berkembang jadi puluhan ribu dolar hanya dalam 2 tahun. Gokil kan? Yuk kita kupas tuntas.

🔑 Kenapa Harus Menggunakan EA Forex EURUSD Scalping M1?
- Pair EURUSD terkenal dengan spread rendah (biasanya < 2 pips) → ideal untuk scalping.
- Time frame 1 menit (M1) memungkinkan banyak peluang entry dalam sehari.
- EA open source → Anda bisa memodifikasi sesuai strategi.
- Gratis → tidak perlu beli EA mahal, cukup pahami logika dasar.
- Winrate tinggi → EA ini dirancang dengan kombinasi indikator Bollinger Bands dan manajemen risiko ketat.
📌 Script EA Forex EURUSD Gratis (Open Source MQL4)
Berikut adalah script lengkapnya, sudah saya tambahkan comment di setiap baris penting agar mudah dipahami:
//+---------------------------------------------------------------------+
//| Snipper EURUSD by: www.eafxgratis.com |
//| Untuk MetaTrader 4 (MQ4) - WinRate > 90% |
//+---------------------------------------------------------------------+
#property strict
// -------------------- Input Parameter -----------------------------
// Parameter utama yang bisa diubah sesuai kebutuhan trader
extern double RiskPercent = 0.5; // Persentase risiko per posisi (disarankan kecil 1-2%)
extern int Slippage = 2; // Maksimal slippage saat eksekusi order
extern double StopLossPips = 10; // Stop Loss default 10 pips
extern double TrailingStartPips = 3; // Trailing mulai aktif jika profit sudah > 3 pips
extern double TrailingStepPips = 1; // Jarak pergeseran trailing stop 1 pip
// Setting Bollinger Bands (indikator bawaan MT4)
extern int BB_Period = 20;
extern double BB_Deviation = 2.0;
// -------------------- Variabel Global -----------------------------
// Variabel global untuk menyimpan data candle
double candleOpen, candleHigh, candleLow;
datetime candleCheckedTime = -1;
bool orderExecutedThisCandle = false;
//+------------------------------------------------------------------+
//| Fungsi hitung lot otomatis berdasarkan risiko |
//+------------------------------------------------------------------+
double CalculateLotSize() {
double balance = AccountBalance(); // Ambil saldo akun
double riskMoney = balance * RiskPercent / 100.0; // Hitung nominal uang yang siap dirisikokan
double tickValue = MarketInfo(Symbol(), MODE_TICKVALUE);
// tickValue = nilai 1 pip untuk 1 lot dalam mata uang akun
double slMoney = StopLossPips * tickValue; // Nominal kerugian jika SL kena
if (slMoney <= 0) return (0.01); // Minimal lot default jika perhitungan error
double lot = riskMoney / slMoney; // Hitung lot berdasarkan risiko
double minLot = MarketInfo(Symbol(), MODE_MINLOT); // Lot minimum broker
double maxLot = MarketInfo(Symbol(), MODE_MAXLOT); // Lot maksimum broker
double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); // Kelipatan lot broker
// Batasi lot agar sesuai aturan broker
lot = MathMax(minLot, MathMin(lot, maxLot));
lot = MathFloor(lot / lotStep) * lotStep;
// Tambahkan batas manual maksimal 1 lot
if (lot > 1.0) lot = 1.0;
return NormalizeDouble(lot, 2); // Hasil akhir lot dibulatkan 2 digit
}
//+------------------------------------------------------------------+
//| Inisialisasi EA |
//+------------------------------------------------------------------+
int OnInit() {
Print("EA aktif di ", Symbol(), " dengan RiskPercent: ", RiskPercent);
// Pastikan EA hanya berjalan di time frame M1
if (Period() != PERIOD_M1) {
Print("Error: EA hanya bisa dijalankan di time frame M1.");
return (INIT_FAILED);
}
// EA hanya untuk EURUSD (boleh ada suffix broker, contoh: EURUSD.s)
string sym = Symbol();
if (StringFind(sym, "EURUSD") != 0) {
Print("Pair tidak diizinkan: ", sym);
return (INIT_FAILED);
}
return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Fungsi bantu hitung nilai pip |
//+------------------------------------------------------------------+
double PipValue() {
if (Digits == 3 || Digits == 5) return 0.00010; // EURUSD 5 digit = 0.00010
return 0.0001; // EURUSD 4 digit
}
double PipToPrice(double pips) { return pips * PipValue(); }
//+------------------------------------------------------------------+
//| Fungsi utama EA (OnTick) |
//+------------------------------------------------------------------+
void OnTick() {
double spread = (Ask - Bid) / PipValue();
if (spread > 2.0) return; // Jika spread > 2 pip, jangan entry
int hours = TimeHour(TimeCurrent());
if (hours < 9 || hours >= 23) return; // Hanya trading jam market Eropa - US
datetime currentCandleTime = Time[0];
if (currentCandleTime != candleCheckedTime) {
// Update data candle baru
candleCheckedTime = currentCandleTime;
candleOpen = Open[0];
candleHigh = High[0];
candleLow = Low[0];
orderExecutedThisCandle = false;
}
// Hitung pergerakan candle dalam pips
double moveUpPips = (High[0] - candleOpen) / PipValue();
double moveDownPips = (candleOpen - Low[0]) / PipValue();
// Cek apakah sudah ada order terbuka
bool hasOpenOrder = false;
for (int i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) { hasOpenOrder = true; break; }
}
}
// Jika belum ada order dan belum entry di candle ini
if (!hasOpenOrder && !orderExecutedThisCandle) {
int secondsSinceCandleOpen = TimeCurrent() - candleCheckedTime;
if (secondsSinceCandleOpen >= 40) { // Entry setelah 40 detik candle berjalan
double lot = CalculateLotSize();
if (lot <= 0) return;
// SELL: jika candle naik 10 pips lalu berbalik
if (moveUpPips >= 10 && (High[0] - Bid) / PipValue() >= 0.1) {
double sl = Ask + PipToPrice(StopLossPips);
double tp = iBands(Symbol(), 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_LOWER, 0);
int ticket = OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, sl, tp, "SELL Entry", 0, 0, Red);
if (ticket > 0) orderExecutedThisCandle = true;
}
// BUY: jika candle turun 10 pips lalu berbalik
if (moveDownPips >= 10 && (Bid - Low[0]) / PipValue() >= 0.1) {
double sl = Bid - PipToPrice(StopLossPips);
double tp = iBands(Symbol(), 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_UPPER, 0);
int ticket = OrderSend(Symbol(), OP_BUY, lot, Ask, Slippage, sl, tp, "BUY Entry", 0, 0, Blue);
if (ticket > 0) orderExecutedThisCandle = true;
}
}
}
// --- Trailing Stop (mengunci profit) ---
for (int i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() != Symbol()) continue;
if (OrderType() == OP_BUY) {
double trailStart = OrderOpenPrice() + PipToPrice(TrailingStartPips);
double newSL = Bid - PipToPrice(TrailingStepPips);
if (Bid > trailStart && (OrderStopLoss() < newSL || OrderStopLoss() == 0))
OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, Blue);
}
if (OrderType() == OP_SELL) {
double trailStart = OrderOpenPrice() - PipToPrice(TrailingStartPips);
double newSL = Ask + PipToPrice(TrailingStepPips);
if (Ask < trailStart && (OrderStopLoss() > newSL || OrderStopLoss() == 0))
OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, Red);
}
}
}
}
📖 Penjelasan Comment di Script
- RiskPercent → menentukan berapa persen modal yang siap Anda risikokan per order. Misalnya balance $1000 dan RiskPercent = 1 → risiko $10 per order.
- CalculateLotSize() → menghitung lot otomatis agar sesuai risiko, contoh jika SL 10 pips dan 1 pip bernilai $1, maka lot disesuaikan supaya kerugian maksimal = $10.
- OnInit() → EA hanya aktif di EURUSD M1, sehingga lebih aman dan tidak salah pair.
- OnTick() → fungsi utama, di sini EA membaca pergerakan harga, mengecek kondisi entry, lalu membuka posisi buy/sell.
- Trailing Stop → jika posisi sudah profit beberapa pips, SL akan digeser otomatis agar profit terkunci. Contoh: buy di 1.1000, trailing start = 3 pips → saat harga 1.1003, SL naik ke 1.1002.
⚙️ Cara Kerja Auto Lot pada EA
Sebenarnya EA ini adalah hasil cloning EA scalping sebelumnya yang dibuat khusus untuk USDJPY, termasuk fitur unggulan auto lot calculation (perhitungan lot otomatis berdasarkan balance dan risk management) juga masih saya tambahkan di EURUSD. Tentu saya sudah melakukan berbagai perombakan dan perbaikan agar sesuai untuk EURUSD dengan merubah nilai-nilai penting seputar titik entry dan lain sebagainya agar semakin mantul dan lebih maksimal profitnya. Pada EA EURUSD sudah kami tambakan batasan maksimal order 1 LOT per transaksi, sedangkan di EA sebelumnya di USDJPY masih polosan, jadi LOT bisa membengkak hingga 200 LOT per order. Jika butuh bantuan untuk modifikasi tulis saja di komentar. Berikut cara kerja Auto LOTnya:
- Awal Modal $100 → RiskPercent = 0.5
Risiko tiap transaksi = 0.5% × $100 = $0.5 per posisi. Dengan SL default 10 pips dan tick value EURUSD = $1/pip/lot → lot yang dibuka sekitar 0.05 lot. - Saat Balance Naik Jadi $500 → RiskPercent = 0.5
Risiko tiap transaksi = 0.5% × $500 = $2.5 per posisi. Dengan kondisi SL yang sama, EA akan otomatis menaikkan ukuran lot → sekitar 0.25 lot. - Ketika Balance Mencapai $2000 → RiskPercent = 0.5
Risiko = 0.5% × $2000 = $10 per posisi. Dengan Stop Loss sama, lot naik menjadi 1.0 lot (dibatasi oleh EA).
👉 Kenapa dibatasi maksimal 1 lot?
Karena meskipun balance makin besar, risiko trading tetap harus terukur. Jika lot dibiarkan bebas tanpa batas, bisa saja balance $10.000 langsung buka 5 atau 10 lot, yang terlalu berbahaya untuk strategi scalping M1. Dengan batas 1 lot, EA tetap menjaga kontrol risiko dan kestabilan profit jangka panjang.
📊 Hasil Backtest EA Snipper EURUSD (M1, 2020–2021)
Saya sudah lakukan backtest dengan data EURUSD time frame 1 menit (M1) selama 2 tahun penuh (2020–2021), dengan kondisi spread rata-rata 10 poin EURUSD di broker 5 digit (1 pip), modal awal $100, dan RiskPercent = 0.5.
- Modal awal: $100
- Saldo akhir (Desember 2021): $24,516
- Laba bersih: $24,416
- Laba kotor: $31,171
- Rugi kotor: $6,755
- Faktor profit: 4.61 (sangat tinggi, idealnya >2 saja sudah bagus)
- Total transaksi: 946
- Keuntungan terbesar: $196
- Kerugian terbesar: $106
- Rata-rata keuntungan per transaksi: $35
- Rata-rata kerugian per transaksi: $90
- Keuntungan beruntun maksimal: 13x
- Kerugian beruntun maksimal: 1x
📈 Analisis Detail Backtest
- Lot Auto Scaling yang Cepat
Order pertama dimulai di 0.05 lot dengan modal $100. Hanya dalam waktu 3 bulan (awal Januari – Maret 2020), balance sudah berkembang hingga cukup untuk membuka 1 lot. Setelah Maret 2020 sampai akhir Desember 2021, mayoritas order dibuka dengan ukuran 1 lot penuh. Ini menandakan pertumbuhan balance sangat cepat (dari $100 ke $2000 dalam 3 bulan saja). - Profit Konsisten Walau Loss Lebih Besar
Mungkin terlihat aneh karena kerugian rata-rata ($90) lebih besar daripada keuntungan rata-rata ($35). Tapi ingat, winrate EA ini sangat tinggi. Dengan Profit Factor = 4.61, artinya setiap $1 kerugian, EA menghasilkan $4.61 keuntungan. Contoh sederhana: 10x transaksi → 9x profit kecil ($35 × 9 = $315) + 1x loss besar ($90). Total tetap profit $225 meski kerugian sekali lebih besar. - Drawdown Rendah, Recovery Cepat
Karena kerugian beruntun maksimal hanya 1x, EA ini jarang mengalami penurunan besar. Bahkan saat loss besar terjadi, langsung tertutup oleh serangkaian profit kecil tapi konsisten. - Lonjakan Balance yang Luar Biasa
Dari modal $100 di awal 2020, balance sudah melewati $2000 hanya dalam beberapa bulan. Akhir Desember 2021 → balance menembus $24,516. Itu artinya dalam 2 tahun balance naik 245x lipat.
⚡ Syarat Utama Agar Scalping Forex EURUSD Efektif
Scalping di time frame 1 menit (M1) itu seru, tapi juga menuntut kecepatan eksekusi. Bahkan perbedaan delay 100 ms saja bisa bikin hasil trading beda jauh. Nah, ada beberapa hal yang wajib diperhatikan kalau mau menjalankan EA scalping seperti Snipper EURUSD ini:
1. Gunakan VPS (Virtual Private Server)
EA berjalan otomatis, jadi harus 24 jam non-stop. Kalau hanya mengandalkan laptop atau PC pribadi, sering kali ada kendala: listrik mati, internet putus, atau ping ke server broker terlalu tinggi.
✅ Solusinya: gunakan VPS yang lokasi servernya dekat dengan server broker.
- Misalnya broker punya server di London, pilih VPS di London juga.
- Kalau broker servernya di New York, pakai VPS di New York.
- Dengan begitu, latency (ping) bisa turun jadi hanya 1–5 ms.
💡 Contoh perbandingan:
Jalankan EA dari PC rumah dengan ping 200 ms → order bisa slippage 2–3 pip.
Jalankan EA di VPS dengan ping 2 ms → eksekusi hampir instan.
Hasilnya? Profit lebih konsisten karena entry sesuai kondisi real time.
2. Pilih Broker dengan Spread Rendah
Karena EA ini berbasis scalping, spread jadi musuh utama.
- EURUSD biasanya punya spread 0.1 – 1 pip di broker ECN.
- Kalau pakai broker dengan spread 2–3 pip, profit scalping bisa habis hanya untuk biaya spread.
✅ Pilih broker ECN/STP dengan:
- Spread < 1 pip (terutama EURUSD).
- Eksekusi cepat tanpa requote.
- Komisi transparan (misalnya $7/lot).
3. Gunakan Akun dengan Deposit Cukup
Modal awal $100 memang bisa, seperti di backtest tadi. Tapi untuk trading real, ada baiknya gunakan modal yang lebih fleksibel.
- $300–$500 → untuk belajar serius.
- $1000 ke atas → lebih stabil, auto lot bekerja lebih optimal.
Kenapa? Karena semakin besar balance, semakin fleksibel EA dalam menghitung lot sesuai RiskPercent.
4. Jaringan Internet Stabil
Meskipun pakai VPS, pastikan juga jaringan internet cadangan tetap ada. Kadang EA butuh koneksi lokal untuk update data atau monitoring via smartphone. Jangan sampai loss hanya karena disconnect.
🔑 Syarat Pendukung Agar Profit Makin Maksimal
Selain syarat utama tadi, ada beberapa hal lain yang tak kalah penting:
🔹 1. Optimasi Jam Trading
EA sudah diatur hanya trading jam 9 pagi – 11 malam (waktu server). Kenapa?
Karena di jam itu pasar London & New York buka → likuiditas tinggi → spread rendah.
Hindari jam Asia (spread bisa melebar).
🔹 2. Jaga RiskPercent Rendah
Meskipun backtest dengan RiskPercent = 0.5% sudah bagus, jangan pernah tergoda menaikkan jadi 5–10%.
Scalping = banyak transaksi kecil → kalau risk terlalu tinggi, balance bisa cepat habis saat drawdown.
Idealnya 0.5% – 2% per posisi.
🔹 3. Gunakan Broker dengan Server Data Historis Akurat
Backtest yang bagus biasanya juga dipengaruhi data historis yang bersih. Kalau data broker banyak gap atau error, hasilnya bisa menipu.
🔹 4. Monitoring Secara Berkala
Walaupun EA bisa jalan otomatis, bukan berarti dibiarkan 100%.
- Cek laporan mingguan.
- Kalau ada update MT4 dari broker, pastikan EA tetap kompatibel.
- Sesekali lakukan forward test di akun demo untuk cross-check performa.
🎯 Kesimpulan
Robot EA Forex EURUSD gratis open source MQL4 di MT4 ini memang luar biasa untuk scalping M1. Dengan modal kecil $100 saja:
- Bisa tumbuh hingga puluhan ribu dolar dalam 2 tahun.
- Auto lot memastikan pertumbuhan balance tetap seimbang dengan risiko.
- Batasan 1 lot memberi perlindungan agar trading tidak over-risk.
- Backtest membuktikan konsistensi dengan profit factor sangat tinggi (4.61).
👉 EA ini cocok buat Anda yang ingin belajar trading otomatis, memahami cara kerja auto lot, serta melihat bagaimana modal kecil bisa tumbuh cepat dengan strategi scalping EURUSD M1.
Jika semua syarat utama dan syarat pendukung terpenuhi, maka performa EA bisa lebih maksimal. Tidak hanya sekadar backtest, tapi juga profit konsisten di akun real. Ingat, ini hasil backtest selama 24 bulan, bukan 1 hari saja. Jika sewa server per bulan 100 ribu, maka biaya VPS-nya saja selama 2 tahun sudah 2,4 Juta. 🚀
0 comments:
Posting Komentar
Berikan ide atau saran untuk artikel ini. Jangan nyepam karena pasti tidak akan ditayangkan.