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: