CloseIfProfitorLoss with Trailing Контроль прибыли или убытка с трейлингом прибыли. Закрытие по общей прибыли

CloseIfProfitorLoss with Trailing Контроль прибыли или убытка с трейлингом прибыли. Закрытие по общей прибыли

21 июня 2019, 13:33
Vladislav Andruschenko
6
691

CloseIfProfitorLoss with Trailing


Закрытие позиций в MetaTrader 4/5 по общей прибыли\убытку с трейлингом прибыли. У‌добная панель для работы с советником. 





В‌ы можете включить

  1. Режим Виртуальных стоплосс/тейкпрофит (Separate Order ),
  2. Закрытие и расчет отдельно по BUY SELL позициям (Separate BUY SELL),
  3. Закрытие и расчет всех символов или текущего символа (All Symbols),
  4. Включить трейлинг прибыли(Trailing Profit)

Закрытие происходит по валюте депозита, пунктам, % и просадке.

  • Вы можете установить общий убыток (в долларах, пунктах, процентах) и советник закроет убыток.
  • Вы можете установить общий профит (в долларах, пунктах, процентах) и советник закроет профит.‌

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

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

Панель управления закрытием по общему профиту или убытку в долларах, пипсах и % от баланса. Панель можно использовать как виртуальный стоп лосс или тейк профит. Также предусмотрена аварийная кнопка - Close ALL.
Добавлена возможность трейлинга прибыли.

  1. Панель работает на том символе, на котором установлена (Current Symbol), или считает общую прибыль или убыток по всем символам (All symbols).
  2. Панель можно использовать как виртуальный стоп лосс или тейк профит. Для этого установите размер прибыли и убытка и поставьте галочки на Separate Orders. Советник будет закрывать позиции отдельно друг от друга, по установленным значениям прибыли и убытка в пунктах, долларах, процентах
  3. В панели можно выбрать тип закрытия: по прибыли в долларах, в пипсах или в % от баланса, а также по убытку в долларах, в пипсах или в % от баланса.
  4. Также есть кнопка "CLOSE ALL", закрывающая позицию символа или все позиции (в зависимости от выбора) мгновенно.
  5. Непосредственно на панель выводится информация о текущем состоянии ваших позиций по выбранным способам закрытия. 
  6. Прибыль может быть установлена только выше 0. Если Вы установили 0 - поле будет мигать красным. Это значит, что установленное значение с ошибкой и данное поле не будет работать с советником. Если ВЫ установили значение с минусом, советник автоматически переведет поле в плюсовое значение(например -100=100)
  7. Убыток может быть установлена только ниже 0. Если Вы установили 0 - поле будет мигать красным. Это значит, что установленное значение с ошибкой и данное поле не будет работать с советником. Если ВЫ установили значение с плюсом, советник автоматически переведет поле в минусовое значение(например 100=-100)
  1. Установите панель на вашу валютную пару.
  2. В зависимости от того, как вы хотите закрывать позиции (по всем символам или по текущему), выберите соответствующую опцию на самой панели.  
  3. Для того чтобы галочка выбора типа закрытия стала активной, вам необходимо ввести значения параметра отличное от 0, при этом для прибыли указывается положительно значение, а для убытка - отрицательное, например: -100.
  4. Поставьте галочки напротив тех пунктов, которые вы хотите использовать при закрытии(Прибыль\Убыток в пунктах\долларах\процентах).
  5. Включите кнопку Close if Profit or Loss, она должна загореться синим цветом. Это означает, что советник включился в работу.
  6. Как только прибыль или убыток ваших позиций пересечет отметку установленных уровней, сделки закроются. 
  7. Аварийная кнопка CLOSE ALL предназначена для того, чтобы закрыть все позиции мгновенно.
  1. All Symbols - включает расчет прибыли и закрытие по всем символам.
  2. XXXXXX only - включает расчет прибыли и  закрытие только по текущей валютной паре, на которой установлен советник.
  3. Separate BuySell - включает отдельное закрытие по позициям BUY и SELL. Направление BUY и SELL будет рассчитываться отдельно друг от друга. И закрытие будет происходить отдельно по BUY и SELL направлению.
  4. Separate Order - включает отдельное закрытие по каждой позиции отдельно. Прибыль будет рассчитываться по каждой позиции отдельно. Это аналог работы Виртуальных стоплосс и тейкпрофит. 
  5. Profit $ - Включает\отключает закрытие по общей прибыли в долларах или в валюте депозита.
  6. Profit p - Включает\отключает закрытие по общей прибыли в пунктах.
  7. Profit %  - Включает\отключает закрытие по общей прибыли в процентах от текущего баланса.
  8. Loss $ - Включает\отключает закрытие по общему убытку в долларах или в валюте депозита.
  9. Loss p - Включает\отключает закрытие по общему убытку в пунктах.
  10. Loss %  - Включает\отключает закрытие по общему убытку в процентах от текущего баланса.
  11. Close if Profit or Loss ON - Функция закрытия по общей прибыли или убытку ВКЛЮЧЕНА
  12. Close if Profit or Loss OFF - Функция закрытия по общей прибыли или убытку ОТКЛЮЧЕНА

 

 - Функция трейлинга прибыли при установленных значениях. 

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

Расчет трейлинга происходит в тех юнитах, которые ВЫ выбрали в качестве закрытия: Пункты, Доллары, Проценты.

Если ВЫ установили галочку на закрытие по прибыли в долларах - тогда трейлинг прибыли будет работать с валютой депозита. 

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

Например

Если Вы поставили закрывать при прибыли 10 долларов: 
Profit $ - закрывать в плюс. 
Profit $ - сколько закрывать в плюс. 
TrailingProfit- расстояние от Profit $, при достижении которого включается трейлинг прибыли. 
При установке для Profit $ значения 10, а для TrailingProfit значения 5 линия трейлинга прибыли устанавливается на 5 долларов. Советник при прохождении отметки в 10 долларов включит функцию трейлинга прибыли и будет тянуть отметку закрытия вслед за прибылью. В журнале при этом будут отображаться записи текущего положения прибыли. 
После того как общая прибыль опустится ниже последнего зафиксированного уровня - TrailingProfit , советник закроет все сделки в принудительном порядке. 


Опция работает для всех типов закрытия: Все символы, Текущий символ, Отдельное направление BUY и SELL , Каждый ордер отдельно.

При установке для Прибыли значения = 10, а для Trailing Profit  значения = 5, линия трейлинга прибыли устанавливается на 5 долларов. Советник при прохождении отметки в 10 долларов включит функцию трейлинга прибыли и будет тянуть отметку закрытия вслед за прибылью. В журнале при этом будут отображаться записи текущего положения прибыли. 

  • 10:20:20 Exp - CloseifProfitorLoss wTral EURUSD,H1: Traling is ON tralprofit=12.00000000
  • 10:20:20 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=12.00000000 10:20:20 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=13.00000000
  • 10:20:20 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=13.50000000 10:20:21 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=13.50000000
  • 10:20:23 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=13.50000000 10:20:23 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=14.00000000
  • 10:20:24 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=14.50000000 10:20:24 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=14.50000000
  • 10:20:29 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=15.00000000 10:20:31 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=16.00000000
  • 10:20:32 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=17.50000000 10:20:36 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=18.50000000
  • 10:20:37 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=21.50000000 10:20:37 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=24.00000000
  • 10:20:37 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=24.00000000 10:20:39 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=26.50000000
  • 10:20:39 Exp - CloseifProfitorLoss wTral EURUSD,H1: Level Profit up tralprofit=28.00000000

После того как общая прибыль опустится ниже последнего зафиксированного уровня - TralOptions , советник закроет все сделки в принудительном порядке:

  • 10:20:42 Exp - CloseifProfitorLoss wTral EURUSD,H1: Close position _close=23.00000000 tralprofit=23.00000000
  • 10:20:43 Exp - CloseifProfitorLoss wTral EURUSD,H1: close #212724663 buy 0.10 EURUSD at 1.34049 at price 1.34095 10:20:44 Exp - CloseifProfitorLoss wTral EURUSD,H1: close #212724661 buy 0.10 EURUSD at 1.34049 at price 1.34094
  • 10:20:45 Exp - CloseifProfitorLoss wTral EURUSD,H1: close #212724660 buy 0.10 EURUSD at 1.34049 at price 1.34095 10:20:45 Exp - CloseifProfitorLoss wTral EURUSD,H1: close #212724658 buy 0.10 EURUSD at 1.34049 at price 1.34095
  • 10:20:46 Exp - CloseifProfitorLoss wTral EURUSD,H1: close #212724657 buy 0.10 EURUSD at 1.34049 at price 1.34094

Примеры использования представлены в картинках и видео.

CLP_TralOptionsStep - это шаг изменения трейлинга. Если Вы будете закрывать в процентах, тогда этот параметр указывается в процентах. например = 0.01 , значит 0.01 % 
Profit % - это уровень прибыли, при котором происходит закрытие или трейлинг прибыли. Например 2%.
TrailingProfit - это дистанция от прибыли до фиксации трейлинга. Указывается в тех значениях, в которых Вы будете закрывать .

Например в процентах, =1. Это значит, что при достижении прибыли в 2 % , уровень прибыли зафиксируется в положении 1 % (2-1=1).

Если прибыль будет 2.01 %, тогда уровень трейлинга зафиксируется на уровне 1.01 % и так далее. Если прибыль опустится ниже 1.01 % тогда все позиции закроются. 

 

 

 

CLP_TralOptionsStep - это шаг изменения трейлинга. Если Вы будете закрывать в долларах (или рублях), тогда этот параметр указывается в долларах (или рублях). например = 1 , значит 1 $ (или рублях). 
Profit $ - это уровень прибыли, при котором происходит закрытие или трейлинг прибыли. Например 5 $ (или рублях).
TrailingProfit - это дистанция от прибыли до фиксации трейлинга. Указывается в тех значениях, в которых Вы будете закрывать .

Например в долларах (или рублях), = 1. Это значит, что при достижении прибыли BUY или SELL в 5 $ (или рублях) , уровень прибыли зафиксируется в положении 4 $ (или рублях)(5-1=4).

Если прибыль BUY будет 6 $ (или рублях), тогда уровень трейлинга зафиксируется на уровне 5 $ (или рублях) и так далее. Если прибыль опустится ниже 5 $ (или рублях) тогда все позиции закроются. 

Если SELL будет в убытке, то это не повлияет на закрытие BUY потому, что мы включили опцию : Раздельный мониторинг направлений. 

 

Дополнительные функции:


Также советник показывает примерные цены закрытия по общей прибыли или убытку:
параметр Show_Future_BE_TP_SL - показ линий будущего закрытия позиций по общей прибыли или убытку.
Внимание: Работает только на текущем символе и при выключенном режиме SEPARATE Orders.
Линии показываются раздельно для Buy и Sell позиций, либо общей линией.
Если линия не показывается, значит позиции образуют лок, который не может быть закрыт по общей прибыли  или убытку.
Внимание: Данные по линиям и цене могут быть неточными на плавающем спреде. 
Помните! SELL закрывается по ASK, а BUY закрывается по BID

 

 


Название Описание
bool  Sounds=true Включает/отключает звуковые оповещения при открытии\закрытии\модификации позиций и ордеров
bool  HintShow=true Включает/отключает всплывающие подсказки при наведении на кнопки
bool  English=true Включает/отключает Английский язык подсказок. При false - все всплывающие подсказки будут на русском языке.
 int  MagicNumber=777

Магический номер для позиций и ордеров, Устанавливается при открытии. Используется в определении позиций и ордеров на Свой или чужой. 
0 - без магического номера

- Добавлен МультиМагик. Параметр MagicNumber обновлен: первая цифра предназначена для обозначения магического номера для открытия позиций и сопровождения. Также можно задать несколько магических номеров для сопровождения; 
например: 
--- MagicNumber=777 UseAllMagicFromAllAccount=true: Советник следит за всеми позициями по текущему символу на всем счете; 
--- MagicNumber=777 UseAllMagicFromAllAccount=false: Советник следит за позициями с магическим номером 777 по текущему символу на всем счете; 
--- MagicNumber=777,888 UseAllMagicFromAllAccount=false: Советник следит за позициями с магическим номером 777 и 888 (открывает позиции с магическим номером 777) по текущему символу на всем счете; 
--- MagicNumber=777,888,999 UseAllMagicFromAllAccount=false: Советник следит за позициями с магическим номером 777, 888 и 999 (открывает позиции с магическим номером 777) по текущему символу на всем счете; 

bool  UseAllMagicFromAllAccount=true Позволяет учитывать все позиции, открытые в терминале, по данной валютной паре. 

Пример:
UseAllMagicFromAllAccount = true
тогда все позиции с любым магическим номером буду учтены при открытии, закрытии, модификации, перевороте, информации..... 
UseAllMagicFromAllAccount = false
Советник берет в расчет только те сделки, которые имею магический номер  MagicNumber


Show_Future_BE_TP_SL Показывать уровни безубытка и прибли и убытка на текущем графике. Цена линий расчитывается на основе введенных значений в поля Прибыль и Убыток в пунктах\долларах\процентах. 
Внимание: Работает только на текущем символе и при выключенном режиме SEPARATE Orders.
Показываются линии, при пересечении которых, сработает функция "закрытия по прибыли или убытку"


Линии показываются раздельно для Buy и Sell позиций, либо общей линией.
Если линия не показывается, значит позиции образуют лок, который не может быть закрыт по общей прибыли  или убытку.
Внимание: Данные по линиям и цене могут быть неточными на плавающем спреде. 
Помните! SELL закрывается по ASK, а BUY закрывается по BID
double  CLP_TralOptionsStep=0 Шаг изменения уровня прибыли при трейлинге прибыли условных единицах(пункты, валюта депозита, процент). 
При работе функции Trailing Profit - советник запоминает уровень прибыли каждую 1 условную единицу. 

Пример:
CLP_TralOptionsStep = 1
Фиксация уровня прибыли происходит каждую 1 единицу
CLP_TralOptionsStep = 15
Фиксация уровня прибыли происходит каждые 15 единиц
bool  CLP_DeleteStopOrders=false Удалять отложенные ордера при "закрытии по общей прибыли или убытку"
bool  Use_Lots_in_CLP_Points=false

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

Пример:
открыто 2 позиции SELL по EURUSD 
SELL 0.01 с прибылью 20 пунктов и 0.2 доллара 
SELL 0.02 с убытком -12 пунктов и -0.24 доллара 

-При Use_Lots_in_CLP_Points = false советник будет рассчитывать "чистые" пункты. 
в данном случае Прибыль будет: -0.04 доллара или -8 пунктов. 
Как мы видим, в пунктах позиция набрала прибыль, но в долларах это убыток. 

-При Use_Lots_in_CLP_Points = true советник будет рассчитывать пункты с учетом Лотов. 
в данном случае Прибыль будет: -0.04 доллара или -4 пунктов. 
При расчете прибыли в пунктах и включении опции "Включать лоты в расчет прибыли", 
советник находит минимальный лот из представленных позиций и, исходя из этого лота, высчитывает Пункты. 
например: 
Минимальный позиция 0.01, 1 "чистый" пункт = 1 пункт, 
Если открывается позиция с лотом 0.02, то 1 чистый пункт = 2 пункта с учетом лота. 
Если откроется позиция с лотом 0.05, то 1 чистый пункт = 5 пунктов с учетом лота. 

Например: 

открыто 2 позиции SELL по EURUSD 
SELL 0.01 с прибылью 20 пунктов и 0.2 доллара 
SELL 0.02 с убытком -24 пунктов и -0.24 доллара 

Итого: Убыток в пунктах =-4 пункта, убыток в долларах = -0.04 доллара! 

bool  AutoCorrect_LevelCLP=true В Поле убыток теперь можно вводить только минусовые значения, если пользователь ввел +10, тогда система автоматически переведёт в -10. 
В Поле прибыль теперь можно вводить только плюсовые значения, если пользователь ввел -10, тогда система автоматически переведёт в +10 . 
CLP_TralOptions можно ввести только плюсовое значение, иначе советник выдаст ошибку. 
 bool  CPL_AlerT=false Выдавать сообщение о закрытии по прибыли или убытку на график терминала
 bool  CPL_Mail=false Выдавать сообщение о закрытии по прибыли или убытку на установленную почту
 bool  CPL_Push=false Выдавать сообщение о закрытии по прибыли или убытку на телефон в виде ПУШ уведомления
 bool  CPL_CloseTerminalAfterClose = false

Закрывать терминал после того, как все позиции будут закрыты.

Эта функция работает только тогда, когда ВСЕ! позиции и ордера будут закрыты на Вашем счете! Если на Вашем счете остались открытые позиции, за которыми следит наша панель, то терминал не будет выключен. 

CPL_AUTOOFF_AfterClose автоотключение кнопки "Закрытия по общей прибыли или убытку" после закрытия всех позиций. 
Отключение происходит только тогда, когда ВСЕ! позиции закрыты. 
Учитывается Магический номер, указанный в советнике, а также символ для закрытия. 
Если Выбрано закрывать только 1 валюту. При этом параметр CPL_AUTOOFF_AfterClose включен, тогда советник ждет, пока все позиции по данной валюте будут закрыт и только после этого советник может отключить кнопку.! 


int  MAGIC_FONTSIZE=12 Размер текста на графике при использовании MagicTarget а также  Show_Future_BE_TP_SL и Show_Future_Line
 color  MAGIC_ORDER=clrYellow Цвет центральной линии и цены открытия позиции и ордера на графике
color  MAGIC_STOPLOSS=clrRed Цвет линий стоплосса на графике
 color  MAGIC_TAKEPROFIT=clrGreen Цвет линий тейкпрофита на графике
color     NULLColor1   = clrGray Цвет 0 или пустого значения в информации на панели
color     PLUS_Color   = clrLime Цвет плюсового значения  в информации на панели
color     MINUS_Color=clrOrangeRed Цвет минусового значения  в информации на панели
color     TEXTColor4=clrAqua Цвет текста  в информации на панели


Limiting  LimitFor=3 Если ВЫ решили ограничить убытки по текущему клиентскому магику, то Вы можете сделать это в новом блоке. 

Внимание: Данный блок не закрывает сделки! он только лишь выводит алерт! 
На следующий LimitFor этот параметр сбрасывается на 0.  
Также Вы можете включить отправку сообщений на почту и телефон при достижении лимитов NotificationMailSend 

Варианты выбора: 
DAY - учитывать прибыль и убыток за текущий день
WEEK- учитывать прибыль и убыток за текущую неделю
MONTH- учитывать прибыль и убыток за текущий месяц
ALLTIME- учитывать прибыль и убыток за все время.

Пример:
Вам необходимо, чтобы эксперт отправил Вам почту и вывел алерт на экран, когда общий убыток по открытым и закрытым сделкам, в пределах LimitFor, будет меньше чем -100 долларов: 
Ваши параметры будут следующими: 
LimitFor=0; 
LimitForLosses=-100; 
LimitForProfits=0; 
После достижения убытка по истории в день -100 долларов, советник выдаст сообщение на экран в виде Алерта и отправит почту. 
LimitForLosses  Указывается убыток значение в валюте депозита
LimitForProfits  Указывается прибыль значение в валюте депозита
NotificationMailSend  Также Вы можете включить отправку сообщений на почту и телефон при достижении лимитов NotificationMailSend 
Только для MetaTrader 5
filling  TypeFilling=Auto Тип заливки позиций и ордеров. 
Используется для МТ5 терминала.
В режиме AUTO - советник пытается определить тип заливки автоматически. Но, в некоторых ситуациях Вам необходимо самому установить нужный тип заливки. 
Если при открытии позиции Вы получаете ошибку 

10030
TRADE_RETCODE_INVALID_FILL
Указан неподдерживаемый тип исполнения ордера по остатку 
Установите тот тип заливки, который указывает Ваш брокер.

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


ImmediateOrCancel 
Означает согласие совершить сделку по максимально доступному на рынке объему в пределах указанного в ордере. В случае невозможности полного исполнения ордер будет исполнен на доступный объем, а неисполненный объем ордера будет отменен. 


Return 
Данный режим используется для рыночных, лимитных и стоп-лимитных ордеров, и только в режимах "Исполнение по рынку" и "Биржевое исполнение". В случае частичного исполнения рыночный или лимитный ордер с остаточным объемом не снимается, а продолжает действовать. 
Для стоп-лимит ордеров при активации будет создан соответствующий лимитный ордер с типом исполнения Return.






На графике открыто 2 позиции с лотами 0.1 и 0.2 я вижу, что от текущей цены до безубытка 50 пунктов, Т.е. убыток -50 пунктов, а у Вас показывает -150 пунктов, почему?

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

Советник учитывает в расчете спред , своп, комиссию, поэтому все расчеты и показатели нашего советника учитывают много факторов. 

Разберем пример:

если 1 ордер в минусе -10 пунктов, то это -10 пунктов
если 2 ордера в минусе по -10 пунктов, то это уже -20 пунктов
а если 2 ордера с разным лотом, то лот 0.1 дает -10 пунктов, а лот 0.2 дает -20 пунктов и в сумме - 30 пунктов
ведь если Вы поставите закрывать при -50 пунктов, у Вас будет 1 ордер -50 пунктов , тогда он закроется с убытком -50 долларов
но если по Вашим расчетом будет там 100 ордеров, но расстояние -50 пунктов, то при закрытии будет уже -5000 долларов
Вроде бы стоит -50 пунктов,а по факту закрытия суммы могут прыгать от 50 долларов убытка до 5000 долларов и так далее


СДЗ


Поделитесь с друзьями: