Как узнать про убыточный ордер

[Удален]  

Вот появилась идея проверить на убыточность выполненые ордера для оптимизации в будущем.

понял что использовать нужно OrderSelect(i,SELECT_BY_POS,MODE_HISTORY), а как получить последний ордер с выходом по SL?












 

Нужно организовать цикл для поиска последнего ордера:

datetime close_time=0;
bool close_by_sl=false;//эта переменная будет флажком, показывающим закрылся ли ордрео по SL
for(int i=0;i<OrdersHistoryTotal();i++)
{
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)&&OrderSymbol()==Symbol())
    {
         if(OrderCloseTime()>close_time)
         {
             close_time=OrderCloseTime();
             close_by_sl=false;
             if(MathAbs(OrderStopLoss()-OrderClosePrice))<Point)//проверяем: закрылся ли ордер по SL?
                 close_by_sl=true;
         }
    }
}
[Удален]  
Luptator, получилось, спасибо за код.
 

Возможно лучше заменить

if(MathAbs(OrderStopLoss()-OrderClosePrice))<Point)   //проверяем: закрылся ли ордер по SL?

на

if(OrderProfit()<0) {  //проверяем: закрылся ли ордер по SL?
Первый вариант у меня не работал.