Подскажите как ...

 
Есть какой-нибудь вариант по проще для того, чтобы узнать результат предыдущей сделки(величину профита или потерь), либо цену открытия и цену закрытия уже закрытой позиции ?
 
Да, история закрытых позиций не помешала бы.
Иначе приходится извращаться по всякому и пытаться хранить что получится.
А точные результаты сделки вообще взять негде ...
После закрытия поза исчезает, цена закрытия вообще недоступна.
 

Есть какой-нибудь вариант по проще для того, чтобы узнать результат предыдущей сделки(величину профита или потерь), либо цену открытия и цену закрытия уже закрытой позиции ?


Доступ к истории сделок в MQL4 очень просто делается через OrderSelect - достаточно выбрать режим MODE_HISTORY.

bool OrderSelect( int index, int select=SELECT_BY_POS, int pool=MODE_TRADES)

Selects order by index or ticket to further processing. OrderSend(), OrderClose() and OrderModify() functions also changes selected order. If deleting order is selected, OrderDelete() function resets selected order.

Parameters

index - Order index or order ticket depending from second parameter.
select - Selecting flags. It can be any one of the following values:
SELECT_BY_POS - index in the order's pool,
SELECT_BY_TICKET - index is order ticket.
pool - Optional order's pool index. Used when select parameter is SELECT_BY_POS.It can be any one of the following values:
MODE_TRADES (default)- order selected from trading pool(opened and pending orders),
MODE_HISTORY - order selected from history pool (closed and canceled order).
 
Renat, я тут одну вещь не понял:
bool OrderSelect( int index, int select=SELECT_BY_POS, int pool=MODE_TRADES)

Selects order by index or ticket to further processing. OrderSend(), OrderClose() and OrderModify() functions also changes selected order. If deleting order is selected, OrderDelete() function resets selected order.


Означает лит это, что применение OrderDelete() к удаленному ордеру приводит к его "возврату к жизни"?
То есть, удаленный ордер снова становится отложенным?
 
это означает всего лишь, что рабочий буфер выбранного ордера очищается. этот буфер заполняется после вызова функции OrderSelect. также после вызова торговых функций OrderSend, OrderModify, OrderClose этот буфер заполняется ответом от торгового сервера, что даёт возможность не вызывать OrderSelect для выбора только что полученного ордера
 
Ренат, Слава, Спасибо за разъяснения.
Причина обращения: