- Как узнать, что произошло автоматическое закрытие и открытие ордера (swap) и его новый ticket?
- Существуют ли команды с сервера призакрытии по стопу или профиту?
- Детализированный отчет.
Наверное как-то так:
int OrdersHistTot = OrdersHitoryTotal(); for (int i = 0; i < OrdersHistTot; i++) { OrderSelect(i,SELECT_BY_POS, MODE_HISTORY); // ... работа с ордерами ... }
Нужно в цикле перебора ордеров сравнивать их времена закрытия.
Выбрать последний закрытый (у которого время закрытия имеет наибольшее значение).
Сравнить его цену закрытия с ценой TP и SL.
Желательно с некоторым допуском (1-3пп) т.к. позиция могла быть закрыта с проскальзыванием.
.
А вообще у КИМа есть всё или почти всё.
Чего нет, попросите - сделает.
Нужно в цикле перебора ордеров сравнивать их времена закрытия.
Выбрать последний закрытый (у которого время закрытия имеет наибольшее значение).
Сравнить его цену закрытия с ценой TP и SL.
Желательно с некоторым допуском (1-3пп) т.к. позиция могла быть закрыта с проскальзыванием.
.
А вообще у КИМа есть всё или почти всё.
Чего нет, попросите - сделает.
есть более простой вариант==> после того как ордер выбран,использовать OrderProfit()
Спасибо за ответ. Но как я узнаю по какому параметру закрыт например последний ордер?
Через функцию OrderProfit()
int lastorder = OrdersHitoryTotal() - 1; // Выбираем порядковый номер последней закрытой позы OrderSelect(lastorder, SELECT_BY_POS, MODE_HISTORY); // Выбираем позу из истории закрытых сделок по ее порядковому номеру if (OrderProfit() > 0) { // Проверяем выбранную позу на предмет профитности - убыточности Print("Поза закрылась с прибылью, а следовательно по TakeProfit"); } else { Print("Поза закрылась с убытком, а следовательно по StopLoss"); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования