Подскажите как проверить результат последнего закрытого ордера...

 

Суть:

OrdersTotal() всегда не больше одного..

Как только OrdersTotal()==0 нужно узнать какой ордер - Bay или Sell закрылся последним и какой результат этой сделки - положительный или отрицательный (ТП или СЛ)

Спасибо)

 
Читайте ветку " Полезные функции KimIV".
 

1. Выберите ордера .

2. Отсортируйте их по времени закрытия OrderCloseTime

3. Выберите последний ордер и сравните цену закрытия  OrderClosePrice и открытия OrderOpenPrice.( или же OrderTakeProfit, OrderStopLoss)

 

Такой вариант будет адекватным?)

- в рынке всегда только один ордер

- всегда ставится с TP и SL

- после его отработки мне нужно узнать была покупка или продажа

if (OrdersTotal()==0)
         {
            i=HistoryTotal()-1;  // Определяем номер в списке последнего закрытого ордера
            OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);  // Выбираем этот ордер среди закрытых и удаленных
               if (OrderType()==OP_BUY)
                  {
                     ...
                  }
               if (OrderType()==OP_SELL)
                  {
                     ...
                  }
         }