Mql4 marketinfo: Получение рыночной информации Справочник MQL4

возвращает значение

0 – в пунктах; 1 – в базовой валюте инструмента; 2 – в процентах; 3 – в валюте залоговых средств.MODE_PROFITCALCMODE 27 Способ расчета прибыли. 0 – Forex; 1 – CFD; 2 – FuturesMODE_MARGINCALCMODE 28 Способ расчета залоговых средств. Если цена исполнения находится в пределах, определяемых уровнем заморозки, то ордер не может быть модифицирован, отменен или закрыт. Нетрудно увидеть, что в скрипте openbuystop.mq4 отсутствует проверка достаточности свободных средств для открытия ордера, но появилась проверка значения цены открытия ордера (блок 3-4). Если вычисленное значение переменной Price не удовлетворяет требованиям установки отложенного Stop ордера (см. Характеристики ордеров, Требования и ограничения торговых операций), то производится перерасчёт этого значения.

количество

  • Для рыночных ордеров всегда проверяется достаточность свободных средств на счёте.
  • Управление передаётся в блок 9-10, и скрипт заканчивает работу.
  • Например, ошибка 146 возникает только в том случае, если в окне одного финансового инструмента одновременно работают несколько программ, формирующих торговые приказы.
  • Новые функции позволяют писать стратегии на основе объема сделок и потока заявок, создавать собственный стакан цен для ручной торговли, проводить автоматический анализ в режиме реального времени.
  • Сервер исполнил торговый приказ, произведя транзакцию в своей базе данных, и отправил сведения об исполненном приказе торговому терминалу.

На первый взгляд может показаться, что функция OrderSend() слишком сложна для понимания. В действительности, все рассматриваемые параметры достаточно просты, необходимы и полезно используются в торговле. Для того чтобы в этом убедиться, рассмотрим наиболее простой вариант использования торговой функции OrderSend() для открытия рыночного ордера. В связи с использованием торговых функций необходимо обратить внимание на ограничения более общего характера.

Идентификаторы функции MarketInfo()

В случае установки отложенного ордера параметр не обрабатывается. Для торговых операций более эффективно использовать полноценный эксперт, а скрипт лучше применять для разовых расчётов и сообщения на экран некоторой полезной информации. Вместе с тем, в случае если трейдер не использует эксперт для автоматической торговли, применение скриптов оказывается более эффективным, чем управление ордерами с помощью панели управления клиентского терминала. Очень важное свойство клиентского терминала состоит в том, что в случае, если во время выполнения прикладной программы возникает ошибка, то клиентский терминал не прекращает исполнение программы. Обычно ошибки возникают по причине несовершенства используемого в прикладной программе алгоритма, а в некоторых случаях – в результате внешних (по отношению к программе) причин.

ошибка

В этой статье мы расhttps://broker-obzor.com/отрим две функции языка программирования MQL4. Стоимость 1 лота для различных финансовых инструментов, полученная с помощью conditions.mq4. Наличие разнонаправленных ордеров не высвобождает залог. Варианты соотношения стоимости лотов и 1 пункта (валюта депозита- доллар США).

Устанавливается в соответствии с ограничениями, принятыми для проведения торговых операций (см.Характеристики ордеров, Требования и ограничения торговых операций). Stoploss – заявленная цена закрытия, определяющая предельный уровень убыточности. Slippage – максимально допустимое отклонение заявленной цены открытия ордера от рыночной цены для рыночных ордеров (пунктов).

Открытие и установка ордеров

Переменной Error присваивается код последней ошибки, в данном случае той ошибки, которая была возвращена сервером или клиентским терминалом при исполнении торговой функции OrderSend(). Существуют и другие ограничения, связанные с определением значений параметров функции открытия ордера OrderSend(). Это – максимальный и минимальный шаг изменения стоимости ордера, максимальный и минимальный размер стоимости ордера и пр. Использование функции MarketInfo() позволяет получить различную информацию по финансовым инструментам, которые отражены в окне “Обзор рынка” клиентского терминала.

В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_https://teletreid-otzyvy.broker-obzor.com/_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Но, на прямую прописывать этот валютный инструмент мы не будем, а сделаем возможность вводить наименование валютной пары во входящих значениях советника. Функция MarketInfo() будет искать максимальную дневную цену на паре Евро/Доллар, которую мы прописали сами. Но, мы может не прописывать валютную пару, а вместо нее поставить Symbol(). Тогда Symbol() проанализирует наш график и ту валютную пару, которая отображается на данном графике, после чего сама подставит наименование этого валютного инструмента. Она просто возвращает наименование того валютного инструмента, на котором у нас стоит график.

Если при исполнении программы возникает ошибка, то программа продолжает работу, а клиентский терминал генерирует значение кода ошибки, которое доступно программе при использовании функции GetLastError. Торговый терминал получил информацию о том, что последний торговый приказ исполнен, отразил это событие в окне терминала и в окне финансового инструмента и вернул управление программе. Если запустить этот скрипт на исполнение, то в подавляющем большинстве случаев он будет работать. Скрипт состоит из одной специальной функции, содержащей функцию открытия ордера OrderSend() и оператор return. Опишем порядок исполнения программных строк и связанных с этим событий. Начальная (инициирующая) маржа обозначает размер необходимых залоговых средств в маржинальной валюте для открытия ордера объемом в один лот.

Разумные ограничения

Сервер получил торговый приказ, произвёл его проверку, не обнаружил некорректных параметров и принял решение исполнить торговый приказ. (обратите внимание, здесь и далее для справки представляется заголовок функции, а не пример использования вызова функции в программе). Для получения информации на бирже добавлены функции по работе со стаканом цен. Термин произошел от английского DOM – Depth of Market.

Функция возвращает номер тикета (ticket – уникальный порядковый номер ордера), который назначен ордеру торговым сервером или -1 в случае, если торговый приказ был отклонён севером или клиентским терминалом. Для получения информации о причине отклонения торгового приказа необходимо использовать функцию GetLastError() (в дальнейшем изложении мы рассмотрим несколько наиболее распространённых ошибок). Открытие любых рыночных ордеров не высвобождает залоговые средства и не увеличивает сумму свободных средств.

функция возвращает

Новые функции позволяют писать стратегии на основе объема сделок и потока заявок, создавать собственный стакан цен для ручной торговли, проводить автоматический анализ в режиме реального времени.

MQL4: вывод информации о валютных инструментах на график. Функции Symbol(); MarketInfo();

Каждое новое значение будет выводится с новой строки, для этого применим специальный символ переноса на новую строку — «\n». В представленном примере имеется также небольшая алгоритмическая ошибка, которая не может быть обнаружена ни на этапе компиляции, ни в клиентском терминале, ни на сервере. Type – идентификатор запроса, определяющий тип возвращаемой информации. Может быть любым из значений идентификаторов запроса (см. Идентификаторы функции MarketInfo). Сервер исполнил торговый приказ, произведя транзакцию в своей базе данных, и отправил сведения об исполненном приказе торговому терминалу.

  • Для этого вернёмся к идее открытия ордера с помощью скрипта в том окне, в которое присоединён скрипт.
  • При этом скрипт всякий раз будет вычислять заявленное значение цены, близкой к тому месту (тому уровню цены), где пользователь прикрепил скрипт.
  • При составлении программ очень важно также учитывать принцип формирования свободных средств.
  • В связи с использованием торговых функций необходимо обратить внимание на ограничения более общего характера.

Аналогичное изменение кода следует выполнить в блоке 5-6 и для другого стоп-приказа. В результате вычислений в теле оператора if () переменная Dist_SL может получить новое значение. Предположим, что обычно минимальная дистанция составляет 5 пунктов. Предположим, что при первом исполнении (на быстром рынке) это значение установлено на сервере равным 20 пунктов.

Функция GetLastError()

В дальнейшем все возникающие ошибки мы будем идентифицировать по этому коду. Запустим скрипт в том же окне финансового инструмента Eur/Usd. По замыслу, скрипт должен открыть ордер в окне Gbp/Usd. Однако после присоединения скрипта в окно Eur/Usd ожидаемого открытия ордера в окне Gbp/Usd не происходит. Для рыночных ордеров всегда проверяется достаточность свободных средств на счёте.

Код ошибки, полученный при исполнении скрипта confined.mq4 в окне Eur/Usd. Существует несколько режимов торговли по финансовым инструментам. Информация о режимах торговли по конкретному инструменту отображена в значениях перечисления ENUM_SYMBOL_TRADE_MODE. Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах. Мы рассмотрели достаточно простые функции в MQL4, но они очень важны в программировании. Теперь выведем несколько значений из функции MarketInfo().

Leave a Comment

Your email address will not be published. Required fields are marked *