Pernahkah kamu mendengar tentang strategi Opposite Trade? Ini adalah teknik yang bisa sangat berguna untuk trader yang menggunakan MetaTrader 5. Konsepnya sederhana: kita membuka posisi yang berlawanan dari posisi yang baru saja ditutup, dengan volume yang sama. Teknik ini bisa diterapkan pada simbol apa pun dan dengan nomor magic apa pun.
Misalnya, jika kita memiliki posisi BUY AUDUSD dengan volume 0.01 dan kita menutup posisi tersebut (misalnya dengan menutupnya secara manual), Expert Advisor Opposite Trade akan secara otomatis membuka posisi baru AUDUSD, kali ini dengan jenis SELL.
Kode untuk Fungsi OnTradeTransaction
Seluruh kode untuk strategi ini terdapat dalam fungsi OnTradeTransaction:
//+------------------------------------------------------------------+ //| Fungsi TradeTransaction | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- ambil tipe transaksi sebagai nilai enumerasi ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- jika transaksi adalah hasil dari penambahan transaksi dalam riwayat if(type==TRADE_TRANSACTION_DEAL_ADD) { long deal_type =-1; long deal_entry =-1; double deal_volume =0.0; string deal_symbol =""; if(HistoryDealSelect(trans.deal)) { deal_type =HistoryDealGetInteger(trans.deal,DEAL_TYPE); deal_entry =HistoryDealGetInteger(trans.deal,DEAL_ENTRY); deal_volume =HistoryDealGetDouble(trans.deal,DEAL_VOLUME); deal_symbol =HistoryDealGetString(trans.deal,DEAL_SYMBOL); } else return; if(deal_entry==DEAL_ENTRY_OUT) { switch((int)deal_type) { case DEAL_TYPE_BUY: m_trade.Buy(deal_volume,deal_symbol); break; case DEAL_TYPE_SELL: m_trade.Sell(deal_volume,deal_symbol); break; default: break; } } } }
Di sini, kita menunggu transaksi penutupan posisi (DEAL_ENTRY_OUT). Begitu transaksi ini muncul, kita akan memeriksa posisi transaksi (jika kita menutup posisi BUY, maka ini akan menjadi transaksi SELL, dan sebaliknya) dan kita akan membuka posisi baru.
Komentar 0