Справочник MQL4 Графические объекты ObjectCreate
|
ObjectCreateСоздает объект с указанным именем, типом и начальными координатами в указанном подокне указанного графика. Существует два варианта функции:
Создает объект с указанным именем, типом и начальными координатами в указанном подокне текущего графика:
Параметры chart_id [in] Идентификатор графика. object_name [in] Уникальное имя объекта. object_type [in] Тип объекта. Может быть любым из типов объектов. sub_window [in] Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. time1 [in] Временная координата первой точки привязки. price1 [in] Ценовая координата первой точки привязки. time2=0 [in] Временная координата второй точки привязки. price2=0 [in] Ценовая координата второй точки привязки. time3=0 [in] Временная координата третьей точки привязки. price3=0 [in] Ценовая координата третьей точки привязки. timeN=0 [in] Временная координата N-й точки привязки. priceN=0 [in] Ценовая координата N-й точки привязки. Возвращаемое значение При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание объекта, иначе false. В этом случае для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError(). Для создания объектов на чужом графике используется асинхронный вызов, поэтому ObjectCreate() возвращает только результат постановки команды в очередь графика. В этом случае true означает только то, что команда на создание объекта успешно поставлена в очередь, сам результат её выполнения неизвестен. Для проверки результата выполнения можно использовать функцию ObjectFind или любые функции, запрашивающие свойства объекта, например вида ObjectGetXXX. Но при этом следует иметь в виду, что такие функции ставятся в конец очереди команд чужого графика и дожидаются результата выполнения (так как являются синхронными вызовами), то есть могут быть затратными по времени. Примечание Число координат, связываемых с объектом, может быть от 1 до 3 в зависимости от типа. Объекты с типом OBJ_LABEL игнорируют координаты. Используйте функцию ObjectSet() для установки свойств OBJPROP_XDISTANCE и OBJPROP_YDISTANCE. Нумерация подокон графика (если на графике есть подокна с индикаторами) начинается с 1. Главное окно графика есть всегда и имеет индекс 0. Координаты должны передаваться парами - время и цена. Для примера, объекту OBJ_VLINE требуется только время, но также нужно передать и цену (любое значение). Имя графического объекта не должно превышать 63 символа. Не допускаются символы вне текущей кодовой страницы (символы, которые не могут быть переведены из Unicode в ANSI, заменяются на символ '?'). Если предполагается распространение программ среди пользователей, имеющих различные кодовые страницы, настоятельно рекомендуется использование латинских символов в именах объектов. Пример:
Смотри также |