Установка отложенных ордеров Управление торговыми позициями Торговля

Index – позиция ордера или номер ордера в зависимости от сколько можно зарабатывать на forex второго параметра.

Проверка цен для стоп-лосса и тейк-профита

На прошлых уроках мы научились создавать разнообразные советники по классическим и пользовательским индикаторам, торгующие рыночными ордерами. Нам осталось изучить последнюю тему третьего раздела данного курса — написание советника, осуществляющего торговлю отложенными ордерами. Opposite – Уникальный порядковый номер противоположного ордера. Отражение в окне Терминала нескольких ордеров, открытых по разным финансовыминструментам.

Стоит отметить, что для отложенных ордеров цена их выставления определяется так же как и цена для рыночных через торговую функцию OrderOpenPrice. Мы допускаем, что рыночный ордер мог быть открыт с небольшим проскальзыванием, поэтому в коде идет сравнение не точного значения цен, а разницы между ними с максимальным отклонением в 5 старых пунктов. Поэтому после каждого успешногозакрытия необходимо снова обратиться к (теперь уже обновлённому) набору ордеров,с тем, чтобы в этом наборе ордеров выявить два встречных ордера максимального объема. Если по индикаторы без перерисовки и запаздывания некоторому финансовому инструменту имеется два встречных ордера, то их можнозакрыть одновременно, один за счёт другого, с помощью функции OrderCloseBy().При исполнении такой торговой операции экономится один спред. Легко заметить, что в функции OrderDelete( ) нет указания на количество лотов вудаляемом ордере и цену закрытия. Торговые приказы для удаления отложенных ордеров формируются с помощью функции OrderDelete().

Уровни стопов

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

Переходим к условию открытия ордера

Для редактирования или удаления отложенного ордера можно воспользоваться вкладкой Сделка и управлять отложенными ордерами по одному. Платформа MetaTrader позволяет управлять партнерская программа с оплатой за продажу всеми четырьмя вышеперечисленными типами отложенных ордеров, но с некоторыми ограничениями. После того, как скрипт завершит работу он выдаст информацию в журнале о том, сколько ордеров он закрыл, какой суммарный лот был у этих ордеров, а также суммарная прибыль, либо убыток.

В противном случае, LotSize будет округлен до 2 десятичных знаков. Далее мы определим ТП и СЛ в зависимости от типа ордера, ну и выставим цвет треугольничка для отображения на графике и строковое значение с текстом для журнала. Так как Зиг Заг бывает очень «бешеным» во флете и количество его кривых может быть немалое, мы также введем в советник функцию удаления всех отложек перед закрытием рынка в Пятницу в 23 часа. Цель сего индикатора — строить линии по локальным максимумам и минимумам  в зависимости от его настроек. Суть нашей системы будет в том, что после того, как индикатор обновит свой экстремум, мы будем выставлять отложенный ордер на предыдущем его значении.

Встречное закрытие рыночных ордеров

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

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

Ордер может пропасть (быть закрытым) в процессе обработки его параметров.Однако такое решение оказывается наиболее эффективным в случае, если на момент выбора ордера его уже нет. В теле оператора if выполняется анализ параметроввыбранного ордера. При исполнении, например, функций OrderOpenPrice(), OrderTicket(),OrderType() и других подобных каждая из них будет возвращать значение некоторойхарактеристики ордера, выбранного в результате исполнения функции OrderSelect(). Здесь необходимо отметить недостаток подобных небольших программ – как скриптов,так и экспертов. Представленная программа modifyorderprice.mq4 очень ограничена в выборе действий.

В MetaTrader есть единый поток исполнения сделок для советников. Это означает, что только один эксперт может торговать одновременно, независимо от того, сколько экспертов работает в терминале. Перед началом любых торговых операций мы должны проверить, используется ли поток исполнения сделки в настоящее время. Мы просто сравниваем значение LotSize, наш расчетный или фиксированный размер лота с минимальным и максимальным размером лота. Если LotSize меньше минимального размера лота или превышает максимальный размер лота, ему будет назначено соответствующее минимальное или максимальное значение. Фиксированный стоп-лосс приведет к увеличению размера лота, что обеспечит большую выгоду, если ваш ордер достигнет тейк-профита.

Скрипт для расчета безубытка нескольких ордеров Show Symbol Breakeven

  • Вид окна сообщений и окна финансового инструмента при модификации ордераэкспертом modifystoploss.mq4 в момент, когда рыночный курс находится вблизи от заявленного значения TakeProfit.
  • Тип ордера предыдущего ордера на продажу определяет, какая функция используется для закрытия ордера.
  • Если в настройках терминала включена опция “Показывать торговые уровни”, на графике также произойдет перемещение уровней отложенного ордера и прикрепленных к нему ордеров Стоп Лосс и Тейк Профит.
  • Использование размеров лотов, которые слишком велики по отношению к вашему эквити, может легко уничтожить вашу учетную запись.
  • В функцию обработки событий OnInit как всегда добавляем определение знака после запятой для корректного подсчета значений в пунктах.

Вам также следует нормализовать размер вашего лота до соответствующего десятичного знака. Если для DynamicLotSize установлено значение true, мы рассчитаем размер лота на основании стоп-лосса и присвоим это значение переменной LotSize. Если DynamicLotSize имеет значение false, мы просто назначаем значение FixedLotSize для LotSize. Переменная LotSize будет передана в функцию OrderSend() в качестве размера лота для выбранного ордера. Вот пример, где мы проверяем стоп-лосс и тейк-профит для ордера на покупку, чтобы убедиться, что цены действительны. Если цена стоп-лосс или тейк-профит недействительна, мы автоматически настроим ее так, чтобы она находилась в нескольких пунктах за пределами уровня стопа.

Leave a Reply

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