Это нам пригодится для открытия отложенных ордеров форекс. В блоке 7-8, в зависимости от типа ордера вычисляется цена закрытия – для ордеров Buyэто значение Bid, а для ордеров Sell – Ask (см. Требования и ограничения торговых операций). Отличить открытый ордер от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый ордер от удаленного отложенного также можно по типу ордера.
Встречное закрытие рыночных ордеров
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранногоордера. Для открытых позиций это – текущая нереализованная прибыль.
Порядок проведения торговых операций
Эта функция выполняется менее чем за 1 миллисекунду (не ждёт ответа торгового сервера на отправленный запрос) и тут же возвращает управление. Низкие сетевые издержки, высокая скорость обновления стакана и асинхронная отсылка приказов в десятки раз ускоряют торговые операции. Для интрадей систем скорость торговых операций может являться ключевым фактором. Одновременно с управлением программа получает возможность работать. Работающая программаможет анализировать код последней ошибки, возвращённой клиентским терминалом, итаким образом судить о факте исполнения или отклонения торгового приказа. Функция возвращает значение заявленной цены закрытия позиции при достижении уровняприбыльности (take profit) для текущего выбранного ордера.
- Поэтому после каждого успешногозакрытия необходимо снова обратиться к (теперь уже обновлённому) набору ордеров,с тем, чтобы в этом наборе ордеров выявить два встречных ордера максимального объема.
- В случае несовпаденияразмеров ордеров торговая операция выполняется в размере меньшего объема одногоиз ордеров.
- В блоке 6-7 выполняется проверка наличия найденных рыночных ордеров.
- Информация о фактически полученных результатах сообщается сервером в клиентский терминал и далее в программу.
- Если при проверке в блоке 6-7 выявлено отсутствиерыночных ордеров, то выполнение цикла while прерывается и программа заканчиваетработу.
- Функция закрывает один рыночный ордер другим рыночным ордером, открытым по томуже финансовому инструменту, но в противоположном направлении.
Функция OrderDelete()
Никакая сортировка полученного списка ордеров не гарантируется. in Индекс ордера или номер ордера в зависимости от второго параметра. Для этого воспользуемся предопределенными массивами Open и Close. В них содержится цена открытия и закрытия всех свечей на графике Metatrader4. Любой индикатор существующий в Metatrader4 можно использовать в советнике.
Закрытие рыночных ордеров
Клиентский терминалосвобождается в момент t 4 (зелёная точка). Начинаяс этого момента, Эксперт 2 может успешно передать клиентскому терминалу свой торговыйприказ (группа событий в возможен ли заработок на партнерских программах зелёной области). Этот приказ будет принят и рассмотренклиентским терминалом, в результате чего также может быть отклонён (но уже по причине некорректности) или отправлен на сервер. 67 представлена ситуация, когда в клиентском терминале запущено на исполнениеодновременно два торгующих эксперта.
Клиентский терминал позволяет отправлять на сервер только корректные торговые приказы.Если программа составлена таким образом, что формирует, например, приказ на открытиеордера по несуществующей цене, то клиентский терминал не отправит этот торговыйприказ на сервер. Если же программа формирует корректный торговый приказ (открытиеи закрытие ордеров по последней известной цене, стоимость ордеров находится в пределахограничений дилингового центра и т.д.), то такой приказ будет отправлен на сервер. Устанавливается в соответствии с требованиями и ограничениями,принятыми для проведения торговых операций (см. Характеристики ордеров и Приложение 3).
В целом, подавляющее число торговых приказов,попадающих на сервер, принимаются сервером к исполнению. Однако в ряде случаевторговый приказ может быть отклонён, поэтому прикладная программа должна быть составленатаким образом, чтобы учесть Топ 10 лучших брокеров Форекс критерии отбора возможность подобного развития событий и принять необходимыемеры. Для осуществления торговых операций в клиентском терминале предусмотрен всего одинпоток.
Подобным образом можно проанализировать важность и всех других характеристик ордераи составить приоритетный список критериев, которые должны приниматься во вниманиепри решении задачи закрытия ордеров. Нетрудно также определить и критерии, которыене должны рассматриваться. Таким критерием является, например, цена открытия ордера(и зависимая от неё прибыль по ордеру). Количество денежных средств, имеющихсяу трейдера на текущий момент, отражается в клиентском терминале в графе Средства.При этом не важно, каким образом было получено это значение – то ли в результатеубытка по одному или индикаторы форекс нескольким рыночным ордерам, то ли в результате прибыли. В дальнейшем, в зависимости от кодаошибки, выполняется либо выход из программы либо повторное исполнение торговойоперации.