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.
Komentar 0