Очень часто торговые системы или стратегии сразу предполагают фиксированный тейк и профит, поэтому очень удобно и правильно это делать сразу.
На счетах с исполнением по рынку (NDD, STP) при открытии позиции установить ограничение убытка или прибыли нельзя — это можно делать только после открытия сделки.
В качестве помощника можно использовать этот советник из MQL 4 Code Base
Советник называется SetUpProfitAndLoss
Скачать советник для автоматической установки стопа и тейк профита для MT4 — SetUpProfitAndLoss
Описание SetUpProfitAndLoss с MQL 4 Code Base
При открытии ордера с рынка (или у брокеров, не позволяющих сделать это сразу) необходимо (для тех кто использует) установить сразу же ограничения убытка и/или прибыли.
Данный советник это и делает. Кроме того реализованы два вида трейлинга (обычный и до перевода в безубыток). Писал для себя, но может кому-то ещё будет полезен.
TakeProfit — ограничение прибыли в пп (можно 0, если не хотите ограничивать прибыль, или хотите закрывать по трейлингу);
StopLoss — ограничение убытка в пп (можно 0, если хотите не ограничивать убыток);
TrailingStop — если не хотите использовать трейлинг (подтягивание) поставьте здесь 0, если хотите перевести ордер в безубыток по достижении определённого количества пунктов — поставьте значение пунктов со знаком минус, если хотите использовать как обычный трейлинг поставьте положительное значение в пунктах. Если поставить слишком маленькие значения, то советник сообщит об этом, указав в комментарии минимально возможное значение параметра, и в случае установки недопустимого значения для трейлинга — не будет работать только трейлинг;
SetOnlyZeroValues — Признак изменения только нулевых значений, то есть если вы уже изменили каким-либо образом одно из значений («профит или лосс»), то советник исправит только нулевое значение. Если установить признак в значение ложь (false) то при наличии в любом из параметров открытого ордера «профит» или «лосс» 0, если при этом в параметрах не ноль, советник изменит оба параметра ордера по установленным в советнике значениям;
BuyOrderColor — Цвет линии ордеров на покупку;
SellOrderColor — Цвет линии ордеров на продажу.
Рекомендации по использованию:
Советник привязывается к символам, на графике которых установлен. Перед открытием ордера нанесите советник на график и активируйте его. Если не хотите использовать трейлинг, то после отработки советником действий по изменению ограничений прибыли и убытка, его можно отключить.
Советник не сообщает об ошибках (кроме слишком маленьких значений параметров), и пытается отработать каждый тик до успешного исполнения своих действий. Вывод на экран информации об изменении ордера не делал (мне это мешает, а отследить можно по графику (появятся уровни) или через окно терминала), если есть необходимость — могу добавить.