Join our fan page
Opposite trade - expert for MetaTrader 5
- Views:
- 4452
- Rating:
- Published:
- 2017.11.03 12:25
- Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
Opening a position opposite to the closed one, with the same volume. It works for any symbol and any magic number.
For example, we have an open AUDUSD BUY 0.01 position. Once this position is closed (e.g. we close it manually) the Opposite trade Expert Advisor will immediately open a new AUDUSD positions, this now a SELL position.
The entire code is contained in the OnTradeTransaction function:
//+------------------------------------------------------------------+ //| TradeTransaction function | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- get transaction type as enumeration value ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- if transaction is result of addition of the transaction in history 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; } } } }
Here we wait for the position closing deal (DEAL_ENTRY_OUT). Once this deal appears, we check the deal position (if we close a BUY, this will be a Sell deal, and vice versa) and we open a new position.
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/18904
Candlestick size analysis. The idea of the trading system: candlestick parameters matter after news releases.
New RandomTrading based on a random number generator or in one of the following sequences: BUY - SELL - BUY or SELL - BUY - SELL.
HTML file converter for the economic calendar. The script parses a page downloaded from http://www.investing.com/economic-calendar, and forms a CSV file with the list of news.
PsychologicalA classic oscillator imported from the FXAccuCharts platform.