Halo, sobat trader! Kali ini kita akan membahas tentang penggunaan Expert Advisor atau EA untuk menutup order berdasarkan target profit atau cut loss di MetaTrader 4. Ini adalah alat yang sangat berguna untuk membantu kita dalam mengelola risiko trading.
Apa yang Perlu Dipersiapkan?
Ada tiga input yang perlu kita siapkan sebelum menggunakan EA ini:
- Target Profit
- Cut Loss
- Magic Number
extern double inTargetProfitMoney = 10; //Target Profit ($) extern double inCutLossMoney = 0.0 //Cut Loss ($) extern int inMagicNumber = 0 //Magic Number
Bagaimana Cara Kerjanya?
Saat EA ini dijalankan, pertama-tama akan memanggil fungsi OnInit(). Di sini kita akan memverifikasi input dan inisialisasi variabel:
int OnInit() { //--- if(inTargetProfitMoney <= 0) { Alert("Input tidak valid"); return(INIT_PARAMETERS_INCORRECT); } inCutLossMoney = MathAbs(inCutLossMoney) * -1; //--- return(INIT_SUCCEEDED); }
Setiap kali terjadi pergerakan harga (tick), fungsi OnTick() akan dipanggil:
void OnTick() { //--- double tFloating = 0.0; int tOrder = OrdersTotal(); for(int i=tOrder-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber) { tFloating += OrderProfit()+OrderCommission() + OrderSwap(); } } } if(tFloating >= inTargetProfitMoney || (tFloating <= inCutLossMoney && inCutLossMoney < 0)) { fCloseAllOrders(); } }
Di dalam fungsi OnTick, EA ini akan terus menghitung total profit atau loss. Jika target profit atau batas maksimum kerugian tercapai, semua order yang memenuhi syarat akan ditutup.
void fCloseAllOrders() { double priceClose = 0.0; int tOrders = OrdersTotal(); for(int i=tOrders-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL)) { priceClose = (OrderType()==OP_BUY)?MarketInfo(OrderSymbol(), MODE_BID):MarketInfo(OrderSymbol(), MODE_ASK); if(!OrderClose(OrderTicket(), OrderLots(), priceClose, slippage, clrGold)) { Print("PERINGATAN: Penutupan Gagal"); } } } } }
Kesimpulan
Dengan menggunakan EA ini, kita dapat lebih mudah mengelola trading kita dengan menetapkan target profit dan cut loss yang jelas. Jika ada pertanyaan atau ingin berbagi kode MQL4 lebih lanjut, yuk gabung di t.me/codeMQL.
Postingan terkait
- MQL5 Wizard: Mengoptimalkan Sinyal Perdagangan dengan Morning/Evening Stars dan MFI
- MQL5 Wizard: Ciptakan Expert Advisor Berdasarkan Pola Candlestick dan MFI
- MQL5 Wizard: Membuat EA dengan Sinyal Trading Berdasarkan Pola Morning/Evening Stars dan Stochastic
- Membuat Expert Advisor MQL5 untuk Sinyal Trading Berdasarkan Dark Cloud Cover dan Piercing Line dengan RSI
- Membuat Expert Advisor dengan MQL5 Wizard: Sinyal Trading Berdasarkan Dark Cloud Cover dan Piercing Line