Домой Микрозаймы Mt4 как закрыть все ордера сразу. Скрипт для закрытия большого количества ордеров

Mt4 как закрыть все ордера сразу. Скрипт для закрытия большого количества ордеров

Незаменимый помощник трейдерам, которые работают с большим числом ордеров и вынуждены вручную закрывать «пачки» ордеров, теряя время и деньги (цена ведь не стоит на месте). Разумеется, можно настроить работу как угодно: закрывать рыночные и\или отложенные ордера, тип ордеров (BUY\SELL), профитные или убыточные ордера, закрывать ордера только с конкретным маджик-номером или не обращать на него внимания и т.д.

Скрипт для закрытия большого количества ордеров

Этот скрипт пригодится многим трейдерам, которые работают с большим количеством ордеров и вынуждены вручную закрывать их десятками, теряя время и деньги (цена ведь не стоит на месте). Скрипт позволяет настроить работу как угодно: можно закрывать как рыночные, так и (или) отложенные ордера, можно выбирать тип ордеров (BUY\SELL) для закрытия, закрывать только профитные или только убыточные ордера, можно закрывать ордера только с конкретным маджик-номером и т.д…
Использовать скрипт очень просто: поместите файл ATS.CloseOrders.ex4 в папку MQL4/Scripts своего терминала, после чего запустите скрипт на любой валютной паре. На какой конкретно – значения не имеет, советник работает со всеми ордерами, независимо от того, на какой паре они открыты.
После запуска, введите желаемые параметры:

Пояснение:
«Закрывать открытые BUY ордера» — если выбрано false – ордера типа BUY затронуты не будут и останутся в рынке. Если выбрано true – будет проверяться условие на прибыльность\убыточность ордера (третий и четвертый параметры).
«Закрывать открытые SELL ордера» — если выбрано false – ордера типа SELL затронуты не будут и останутся в рынке. Если выбрано true – будет проверяться условие на прибыльность\убыточность ордера (третий и четвертый параметры).
«Закрывать профитные ордера?» — если ордер прошел проверку по первому и второму параметру, теперь проверится это условие. (Например, ордер типа SELL, и мы выбрали «Закрывать открытые SELL ордера» — true.) Тогда, допустим, в этом параметре мы выбрали false (то есть НЕ закрывать профитные ордера), а наш ордер как раз прибыльный. Тогда этот ордер закрыт не будет. Если же мы поставили бы true, тогда ордер был бы закрыт.
«Закрывать убыточные ордера?» — полностью аналогично предыдущему параметру, но для убыточных ордеров.
«Удалять отложенные ордера?» — название говорит само за себя. Если выбираем true – отложенные ордера будут удалены.
«Закрывать\удалять ордера только с маджиком ниже?» — если выбираем true, тогда скрипт будет работать ТОЛЬКО с теми ордерами, маджик которых совпадает с тем числом, которое мы введем в следующем параметре. Если же мы выбираем false – скрипт будет работать со всеми ордерами.
Немного полезной информации: помните, что у ордеров, которые открыты вручную, маджик равен нулю. Вы можете использовать это, когда, например, хотите закрыть только ордера, открытые вручную. При этом ордера, открытые советниками (а они обычно используют маджики), останутся в рынке.
«Маджик (Magic Number)» — собственно число, которому должны быть равны маджики ордеров при активном предыдущем параметре.
«Проскальзывание (4-значные пункты)» — этот параметр определяет, сколько пунктов может пройти рынок в промежуток между тем, когда скрипт отдал команду на закрытие, и тем, когда сервер ее готов обработать. Если за это время рынок успел «убежать» более чем на введенное количество пунктов – сделка не закроется.

Обратите внимание, что кроме скомпилированной версии мы предоставляем вам также открытый код данного скрипта. Им вы можете воспользоваться в своих разработках, а также для изучения языка MQL4. Скачать скрипт нажав на кнопку ниже. Единственная просьба – при распространении этого скрипта в интернете (если вы будете этим заниматься) оставляйте ссылку на нас. Заранее спасибо.

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

Лучший, на мой взгляд, брокер — для дейтрейдинга , для скальпинга .

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

Как сократить часть ордера в МТ4 и 5 вручную?

Закрывать объем ордера поэтапно возможно в популярном терминале МetaТrader 4 и 5, но только в том случае если тип ордера buy или sell и объем позиции не менее 0.02 лота. У отложенных ордеров типа buystop, selllimit и т.п. объем изменять возможности нет.

Разберем на примере, как закрывать позицию частями . Открыт ордер sell объемом 0.5 лота — 5$ за 1 пункт, позиция в профите 40 пунктов, возникла необходимость зафиксировать 10% прибыли от общего объема. Для фиксации необходимо нажав правой кнопкой мышки по ордеру в открывающемся меню выбрать строку «Закрыть ордер». В открывшемся окне управления ордером sell в строке «Объём» выбрать значение 0.05, нажать кнопку «Закрыть #00000 sell 0.05…». таким образом часть позиции на продажу будет закрыта т.е. 20$ зачислятся на депозит, остальной объем – 0.45 остается в рынке и прибыль увеличивается.

Данную операцию можно проделывать неоднократно до полного закрытия позиции. Однако объем ордера не возможно.

Скрипт для закрытия ордера частями в MetaTrader 4.

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

  • «перевод в безубыток» — отвечает на каком расстоянии от цены открытия в пипсах произойдет закрытие части ордера. заданное параметром «процент закрытия» и перевод оставшейся части в безубыток.
  • «закрыть всё» — отвечает на каком расстоянии от цены открытия скрипт закроет оставшийся объём позиции.
  • «процент закрытия» — часть от общего объёма в процентном соотношении, которая будет закрыта.
  • «расстояние от цены» — уровень установки стопа от текущей цены, после закрытия части ордера.

Так же можно выбрать, какие ордера будут закрываться скриптом поэтапно:

  • only long — только покупки,
  • only short — только продажи,
  • long & short — покупки и продажи.

Скрипт работает только при активном терминале и не сохраняет установленные уровни фиксации в выключенном состоянии. В настройках по умолчанию стоит функция применения скрипта ко всем позициям «long&short», поэтому обращайте внимание при настройках параметров и не забываем нажать кнопку в терминале для активации советников. На графике уровень первой фиксации прибыли отмечается синей горизонтальной линией с надписью «Закрыть N%», уровень полного закрытия отмечается красной горизонтальной линией с надписью «Закрыть всё».

Скачать скрипт частичного закрытия ордера на форекс.

В каких ситуациях лучше фиксировать часть ордера?

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

  • цена подошла к психоуровню — 1.35000, 1 40000, 96.000 и т.п.
  • цена вошла во флет,
  • цена отбилась от важного ценового уровня.
  • завышен лот открытой позиции.

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

Процесс торговли состоит, как минимум из двух действий – открытия и закрытия позиции. От своевременности их совершения напрямую зависит успешность торговых операций, выполняемых трейдером. При этом больше всего внимания в стратегиях форекс уделяется именно размещению ордера, а вот вопрос как закрыть сделку в МТ4 часто не поднимают.

Сделать это можно вручную, а также установив автоматическую функцию, выполняющуюся при определенных условиях (достижении котировкой заданного уровня). Таких автоматических функций закрытия сделки в MT4 две – СтопЛосс и ТейкПрофит. Их можно как задать непосредственно при настройке размещаемого ордера (вызывается нажатием F9), так и изменить у уже размещенного ордера любого типа (рыночного, отложенного). Вызвать окно модификации ордера можно двойным кликом на:

  • горизонтали, обозначающей на графике уровень ордера;
  • строке ордера на вкладке «Торговля» окна «Терминал».

Поле «Тип» должно иметь значение «Изменить». СтопЛосс задается в правом столбце зоны «Изменить ордер», а «ТейкПрофит» – в правом. Эти столбцы состоят из трех строк:

  • Уровень – расстояние от ордера до СтопЛосса или ТейкПрофита (задается в пунктах);
  • Копировать – эта кнопка отображает текущее значение СтопОрдера с соответствии со значением поля «Уровень» и позволяет задает его соответствующему СтопОрдеру;
  • СтопЛосс/ТейкПрофит – поля с уровнями соответствующих СтопОрдеров, которые можно изменять вручную (вводом с клавиатуры или стрелками инкремента/декремента).

Если установленные значения СтопОрдеров удовлетворяют требованиям спецификации актива и торговых условий брокера, то кнопка «Изменить», расположенная ниже, активируется. В результате, достижение котировкой любого из этих уровней приведет к закрытию сделки в МТ4, но с одной разницей – в одном случае зафиксируется прибыль (закрытие по ТейкПрофиту), а во втором случае зафиксируется убыток (закрытие по СтопЛоссу).

Уровни СтопОрдеров также отображаются несплошными горизонталями и подписываются (sl и tp). Захватив их нажатием левой кнопки при наведенном указателе мыши, можно изменять их уровень.


Если же требуется выполнить закрытие, то вызывается контекстное меню из:

  • строки ордера вкладки «Торговля» окна «Терминал» (рис. 2);
  • линии уровня ордера на графике.

В обоих случаях затем выбирается функция «Закрыть ордер». При этом закрытие происходит безусловно (т. е. от трейдера не требуются дополнительные подтверждения действия). Еще один способ – клик на крестике в поле «Прибыль» строки ордера в окне «Терминал».

Надо закрыть часть сделки в МТ4 – как это сделать?

Для этого в окне ордера, вызванном любым из описанных выше способов (хоть для изменения, хоть для закрытия), в поле «Тип» задать «Рыночное исполнение». Затем устанавливается закрывающийся объем и нажимается кнопка открытия позиции, противоположной уже открытой. Например, на рис. 3 открыта короткая позиция объемом 0,5 лота (в ее наименовании имеется слово sell и число 0,5), а в окне управления ордером устанавливается объем 0,3, поэтому после нажатия на кнопку BuyByMarket объем открытой позиция становится равным 0,2 лота.


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

Как закрыть все сделки в MT4 одновременно

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

Пример такого скрипта – ЗакрытьВсеОрдера (скачать ). Он перемещается в каталоге данных в MQL/Scrips и станет доступным в окне «Навигатора» (но лишь после его обновления). А работать скрипт будет при разрешении автоторговли и импорта DLL (активируются соответствующие переключатели вкладки «Советники» окна «Сервис»).

ЗакрытьВсеОрдера не действует на отложенные ордера. Для них предназначен DelOrder (скачать ). Он позволяет одновременно закрыть в MT4 все отложенные ордера (делается это сразу после его применения к графику).

Открытие сделки – это лишь половина процесса торговли. А второй половиной является закрытие сделки. При этом успешность (т. е. прибыльность) сделки напрямую зависит от правильно рассчитанных моментов и верно совершенных входов в рынок и выходов из него. При этом правила открытия сделок устанавливаются в каждой торговой стратегии. А вот вопрос как закрыть сделку в МТ4 рассматривается редко. В этой статье мы постараемся восполнить этот пробел.

Торговая платформа МетаТрейдер обеспечивает закрытие открытых позиций следующими способами:

  • вручную;
  • по стоп-ордерам.

Закрывать сделки в MT4 вручную можно (рис. 1):

  • непосредственно на графике, выбрав в контекстном меню (выделено красным прямоугольником на рис. 1), вызываемом щелчком правой кнопкой мыши при положении ее указателя на уровне открытия позиции, пункта «Закрыть»;
  • из окна «Терминал», выбрав в контекстном меню (на рис.1 выделено желтым прямоугольником), вызываемом при положении указателя мыши на строке с закрываемой позицией щелчком ее правой кнопки, пункта «Закрыть ордер»;
  • нажав крестик в самой правой части строки с параметрами сделки, отображаемой в терминале (на рис. 1 выделен фиолетовым кружком).

В обоих случаях выбор в контекстном меню указанных пунктов приводит к моментальному закрытию сделки в полном объеме.

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

  • двойным щелчком левой кнопки мыши на уровне открытия сделки (зеленая штрихпунктирная горизонталь на рис. 1);
  • выбором пункта «Изменить» в контекстном меню, обозначенном на рис. 1 красным прямоугольником;
  • выбором пункта «Модифицировать или удалить ордер» в контекстном меню, обозначенном на рис. 1 желтым прямоугольником.

Уровень установки СтопЛосса задается поле «Стоп Лосс», а ТейкПрофита – в поле «Тейк Профит». Также можно задать расстояние в пунктах от входа в рынок до СтопЛосса (поле, обведенное красным прямоугольником) и до ТейкПрофита (поле, обведенное синим прямоугольником). После задания необходимых уровней этих стоп-ордеров нажимается кнопка «Изменить» и они размещаются на графике в виде красных штрихпунктирных линий. В примере на рис. 2 для длинной позиции верхняя линия обозначает уровень ТейкПрофита (подписана как tp), а нижняя – СтопЛосса (подписана как sl). В дальнейшем эти стоп-ордера можно перемещать непосредственно на графике, захватив их линии мышью.

Как закрыть часть сделки в МТ4

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

Называется частичное закрытие ордеров скейлингом и осуществляется оно из окна управления ордером (рис. 2), но переменной «Тип» необходимо задать значение «Немедленное исполнение». В этом случае будет доступно для редактирования поле «Объем», в котором и необходимо задать закрываемый объем текущей сделки.

Например, если сделка была открыта объемом 1 лот, а трейдер хочет закрыть лишь ее половину, то в поле «Объем» вводится значение 0,5. Затем нажимается кнопка «Закрыть» (она также появляется при присвоении типа изменения сделки на «Немедленное исполнение») и часть сделки в МТ4 закрывается. В результате остается открытой позиция объемом 0,5 лота.

А вот установить ТейкПрофит или СтопЛосс, закрывающие лишь часть сделки в МТ4, не получится – функционал терминала не предусматривает выполнение такой операции. Стоп-ордера могут закрывать сделку, к которой они прикреплены лишь полностью.

Как закрыть все сделки в MT4 одновременно

В ряде торговых стратегий (в основном ультракраткосрочных скальпинговых) трейдер последовательно открывает несколько позиций, которые после достижения ценой определенного уровня необходимо как можно быстро все закрыть. При этом продолжительность процесса закрытия сделок не должна превышать нескольких секунд (именно скорость совершения торговых операций является одним из наиболее критичных параметров успешности торговли). Если выполнять закрытие всех сделок вручную, то на это потребуется гораздо больше времени, чем несколько секунд. Например, при 20-ти открытых позициях и времени на закрытие каждой из 3 секунды на их полное закрытие потребуется 1 минута. За это время цена может пройти существенное расстояние и сделает из прибыльных сделок убыточные.

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

Примером скрипта, которым можно закрыть все сделки в МТ4 одновременно, является Закрыть_все_ордера (скачать ). Файл этого скрипта помещается в папку MQL/Scripts, которая находится в каталоге данных терминала (открыть его можно из меню «Файл»), после чего МетаТрейдер перезапускается. Найти этот скрипт можно в окне «Навигатор» в разделе «Скрипты» (рис. 3).

Чтобы скрипт мог запускаться, необходимо выполнить настройку терминала. Настроечное окно открывается через меню «Сервис», в котором выбирается пункт «Настройка». В этом окне открывается вкладка «Советники» и на ней отмечаются следующие пункты «Разрешить автоматическую торговлю» и «Разрешить импорт DLL» (рис. 3). Теперь, поместив скрипт «Закрыть_все_ордера» на ценовой график и нажав кнопку «Да» в окне, запрашивающем разрешение на применение данного скрипта, можно наблюдать, как последовательно (с задержкой в доли секунды) закрываются все открытые позиции.

Следует учитывать, что данный скрипт не действует на отложенные ордера.

Новое на сайте

>

Самое популярное