Получение цены сделки

Добрый день подскажите как сделать, уже все что можно пробовал.

Нужно получить цену последней сделки.

Пробовал, использовать через класс Ctrade, ResultOrice() - выдает ноль,

через  MqlTradeResult - result.price - тоже выдает ноль, каждый раз перебирать исполненные сделки очень долго получается.

Может есть вариант получить результат ордера, но как это можно сделать в ансихронном режиме? 

spvik:

Добрый день подскажите как сделать, уже все что можно пробовал.

Нужно получить цену последней сделки.

Пробовал, использовать через класс Ctrade, ResultOrice() - выдает ноль,

через  MqlTradeResult - result.price - тоже выдает ноль, каждый раз перебирать исполненные сделки очень долго получается.

Может есть вариант получить результат ордера, но как это можно сделать в ансихронном режиме? 

 Вам даже форум ссылку автоматом вставил на ваш вопрос 
 цена последней сделки по инструменту = SymbolInfoDouble(_Symbol,SYMBOL_LAST);
Sergey Gritsay:
Меня интересует цена не сделки на рынке, а моей исполненной сделки
spvik:

Вас интересует цена исполнения последнего ордера, короче говоря.

Запомнить где то надо просто после успешного открытия ордера

spvik:
Каков вопрос таков и ответ
[Удален]
spvik:

Навскидку, определить общее кол-во сделок: HistoryDealsTotal() (цепочку вызовов функций смотрите из документации);

Далее в цикле устроить перебор. Последняя сделка с Вашим маджиком и символом - искомая сделка. 

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

работает перебор быстро , так что не должно быть проблем и гемора - один цикл и всего делов 

Здесь пример. Только там в цикле по всем сделкам проход, от старых к новым, а надо в обратном направлении, пока не наткнемся на сделку с нужным символом.
Juriy Iziymov:

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

работает перебор быстро , так что не должно быть проблем и гемора - один цикл и всего делов 

нету траблов. можно в глобальные записать один раз и не мучить метак...
new-rena:
нету траблов. можно в глобальные записать один раз и не мучить метак...
верно , можно =))) , но не знаю на сколько это надежно , как вариант  - да 
Alexey Kozitsyn:

Навскидку, определить общее кол-во сделок: HistoryDealsTotal() (цепочку вызовов функций смотрите из документации);

Далее в цикле устроить перебор. Последняя сделка с Вашим маджиком и символом - искомая сделка.

Перебором очень долго происходит , у меня сделки исполняются  очень быстро по нескольким инструментам, а в историю сделок ордера приходят через 3-4 тика, не устраивает.

В документации написано в классу  Ctrade, 

mytrade.ResultPrice()Используется для получения цены, подтвержденной брокером.
но использование такой конструкции выдает ноль, пробовал брать из стакана цену по которой выставляю, иногда происходит проскальзование