- Код: выделить все
bool OrderClose(
int ticket, // номер ордера
double lots, // количество лотов
double price, // цена закрытия
int slippage, // максимальное проскальзывание
color arrow_color // цвет
);
Возвращаемое значение типа bool, т.е. логическое. Функция возвращает истина true при удачном закрытии позиции и false при возникновении какой-то ошибки при работе функции и не-закрытии позиции в итоге.
Как видно из перечня параметров, передающихся в функцию, присутствует количество лотов, т.е. мы должны сразу же отметить, что в данном месте есть возможность частичного закрытия позиции (а такие задачи у разработчика частенько возникают). Также указывается цена закрытия позиции. При этом, если сделка является сделкой на покупку, то необходимо указать цену Bid в качестве значения и Ask - для продажи. Параметр максимальное проскальзывание обычно задается через глобальные переменные кода, т.к. он присутствует во многих функциях как имеющихся в MQL , так и разработанных программистом отдельно.
Номер ордера - представляет собой уникальный порядковый номер для каждого ордера (позиции) и может быть получен через функцию OrderTicket(), когда произошел однозначный выбор нужного ордера. Этот "однозначный выбор" осуществляется через цикл перебора всех имеющихся ордеров при помощи функции OrderSelect(), с заданием требуемых условий для искомого ордера.
Параметр "цвет" определяет цвет стрелки закрытия на графике. Если параметр отсутствует, или его значение равно CLR_NONE, то стрелка на графике не отображается.