OrdersTotal(): количество открытых позиций и неудаленных отложенных ордеров
В прошлом выпуске я рассказал о функции OrderSelect(), с помощью которой можно выбрать ордер или позицию для получения в дальнейшем дополнительной информации об этом ордере или позиции.
Мы увидели, что выбрать ордер можно двумя способами:
- по номеру тикера;
- по порядковому номеру ордера/позиции в списке.
Если мы выбираем ордер или позицию по порядковому номеру ордера/позиции в списке открытых позиций и неудаленных отложенных ордеров, то бывает очень полезно знать общее количество открытых позиций и неудаленных ордеров. В этом нам поможет функция OrdersTotal().
Формат функции OrdersTotal():
int OrdersTotal()
Функция возвращает количество открытых позиций и неудаленных ордеров.
Пример использования этой функции мы возьмем из предыдущего выпуска, когда мы "пробежались" по всем открытым позициям и неудаленным отлоежнным ордерам:
int pos; int total = OrdersTotal(); for ( pos = 0; pos<total; pos++ ) { if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true) { Print("Выбран ордер номер ", pos, " в списке открытых позиций"); // делаем что-то с этой позицией } else Print("Ошибка ", GetLastError(), " при выборе ордера номер ", pos); }
С помощью функции OrderSelect() можно выбрать ордер или позицию также и в списке всех закрытых позиций или удаленных отложенных ордеров. При этом нам может очень сильно пригодиться функция HistoryTotal(), которую мы рассмотрим в следующем выпуске.
Все статьи по теме "Пишем советников для MetaTrader 4".
- Механическая торговая система - миф или реальность?
- С чего начать при написании советника:
- Создаем нового советника - Настраиваем параметры. - Язык MetaQuotes Language 4: