Download MetaTrader 5

MQL4: Last Closed Order Checking condition

To add comments, please log in or register
How to test a program before buying?
KHALID ABES
719
KHALID ABES 2015.08.15 06:28 

In order to check the last order Type if LONG or CHORT
For Example : Long if Last Closed is Short


int LastOrderType()
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
  {
   return(OrderType());
  }
 }
 return(0);
}  


void OnTick() {  
if(LastOrderType()==OP_BUY)   
if(LastOrderType()==OP_SELL) 

Taking exemple EA based on MACD, with conditions  :

LONG if MACD_Historam > 0

SHORT if MACD_Histogram<0

- The Known if we close order or set Fix Take profit , the expert will open new order at Same Exit Point , the code above will define the first HISTOGRAM Tick only to open trade and wait the reverse signal to open New Trade.

Alain Verleyen
Moderator
30727
Alain Verleyen 2015.08.15 13:52  

So what ?

Your code is not even reliable. Why are declaring a variable "select" you don't check it, you have to do it.

The last order closed is not necessarily the greatest index, you have to check close time.

To add comments, please log in or register