Добрый день подскажите как сделать, уже все что можно пробовал.
Нужно получить цену последней сделки.
Пробовал, использовать через класс Ctrade, ResultOrice() - выдает ноль,
через MqlTradeResult - result.price - тоже выдает ноль, каждый раз перебирать исполненные сделки очень долго получается.
Может есть вариант получить результат ордера, но как это можно сделать в ансихронном режиме?
цена последней сделки по инструменту = SymbolInfoDouble(_Symbol,SYMBOL_LAST);
Меня интересует цена не сделки на рынке, а моей исполненной сделки
Вас интересует цена исполнения последнего ордера, короче говоря.
Запомнить где то надо просто после успешного открытия ордера
Навскидку, определить общее кол-во сделок: HistoryDealsTotal() (цепочку вызовов функций смотрите из документации);
Далее в цикле устроить перебор. Последняя сделка с Вашим маджиком и символом - искомая сделка.
либо перебор , либо запомнить при совершении сделки. но могут быть траблы если будете перезапускать терминал, перебор сделок - более надежен
работает перебор быстро , так что не должно быть проблем и гемора - один цикл и всего делов
либо перебор , либо запомнить при совершении сделки. но могут быть траблы если будете перезапускать терминал, перебор сделок - более надежен
работает перебор быстро , так что не должно быть проблем и гемора - один цикл и всего делов
нету траблов. можно в глобальные записать один раз и не мучить метак...
Навскидку, определить общее кол-во сделок: HistoryDealsTotal() (цепочку вызовов функций смотрите из документации);
Далее в цикле устроить перебор. Последняя сделка с Вашим маджиком и символом - искомая сделка.
Перебором очень долго происходит , у меня сделки исполняются очень быстро по нескольким инструментам, а в историю сделок ордера приходят через 3-4 тика, не устраивает.
В документации написано в классу Ctrade,
mytrade.ResultPrice() | Используется для получения цены, подтвержденной брокером. |
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день подскажите как сделать, уже все что можно пробовал.
Нужно получить цену последней сделки.
Пробовал, использовать через класс Ctrade, ResultOrice() - выдает ноль,
через MqlTradeResult - result.price - тоже выдает ноль, каждый раз перебирать исполненные сделки очень долго получается.
Может есть вариант получить результат ордера, но как это можно сделать в ансихронном режиме?