Hello guys!
Im struggling with function which gives true when the latest closed order had been closed by stop loose. Could you help me ?
Thanks in adnvance!!!
bool LastOrderClosedByStop()
{
int ticket =-1;
datetime last_time = 0;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)&&OrderSymbol()==_Symbol&&OrderCloseTime()>last_time)
{
last_time = OrderCloseTime();
ticket = OrderTicket();
}
if(!OrderSelect(ticket,SELECT_BY_TICKET))
{
Print("OrderSelectError: ",GetLastError())
return false;
}
// credit to whroeder -->
return fabs(OrderClosePrice()-OrderStopLoss()) < fabs(OrderClosePrice()-OrderTakeProfit());
}