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