1
855
Exp - Close Minus by Plus
Перекрываем убыточные позиции, путем нахождения и закрытия прибыльных позиций
В продолжении темы про нивелирование позиций, я хочу предложить Вам более надежный и приятный алгоритм перекрытия убыточных позиций. Конечно, каждый в праве выбрать свой способ избавления от минусовых позиций. Наша прошлая статья, описывающая помощника для трейдера, а именно Закрытие по общей прибыли или убытку, с трейлингом полученного профита, принесла достаточно хорошие результаты.
Данная статья описывает алгоритм, который был написан еще 4 года назад, но так и не доведен до ума. Но с подачи наших уважаемых клиентов, проект вновь заработал.
Download Close Minus by Plus for MT4
Download Close Minus by Plus for MT5
Additional information on www.expforex.com
Предисловие
Для начала хотел выразить благодарность нашему постоянному клиенту. Спасибо Александру Пузанову. который вновь завел механизм данного помощника.
Данный помощник ищет среди всех позиций в терминале (магик, позиции и направление позиций можно отдельно регулировать в настройках) самую убыточную позицию. Далее путем хитрого поиска остальных поз, он вычисляет серию ордеров, которые могут перекрыть убыток. и собственно закрывает их.
Серия ордеров может состоять абсолютно из любых позиций. Их максимальное количество регулируется в настройках советника.
Работа помощника
Вся работа заключается в том. что мы ставим эксперта на отдельный график, настраиваем его и работаем дальше на своем терминале. При наступлении запрограммированного условия - советник включается в работу и начинает свои расчеты.
При чем все расчеты советник записывает в логи, выглядит это так:
- 16:57:34 Exp - Exp - CloseMinusByPlus GBPUSD,H1: initialized
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Перекрытие убыточных позиций путем закрытия профитных позиций начато:
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Самый большой минус: -51 пипсов
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Самый большой минус тикет: 222064678
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Самый большой плюс: 22 пипсов
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Самый большой плюс тикет: 222064722
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Совокупный профит по найденным позициям: 72 пипсов
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Число позиций для закрытия: 5
- 16:58:41 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Тикеты для закрытия убыточной позиций: 222064678
- 16:58:42 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064678 buy 0.10 GBPUSD at 1.65055 at price 1.65004
- 16:58:42 Exp - Exp - CloseMinusByPlus GBPUSD,H1: Тикеты для закрытия профитных позиций: .222064722.222064691.222064750.222064878.222064715
- 16:58:53 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064878 sell 0.10 EURUSD at 1.35773 at price 1.35774
- 16:58:54 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064750 sell 0.10 GBPUSD at 1.65034 at price 1.65025
- 16:58:54 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064722 sell 0.10 GBPUSD at 1.65039 at price 1.65025
- 16:58:55 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064715 sell 0.10 EURUSD at 1.35765 at price 1.35773
- 16:58:56 Exp - Exp - CloseMinusByPlus GBPUSD,H1: close #222064691 sell 0.10 GBPUSD at 1.65038 at price 1.65024
Как видно из данной записи. У нас было открыто очень много позиций (хаотичное открытие).
В настройках мы установили - запускать расчет когда будет найдена самая большая убыточная позиция с минусом в -50 (MaxLossPoss_in_unit=-50) пипсов (TypyClose=2) и совокупный профит будет больше на 20 пипсов(ProfitPerLoss_in_unit=20) Также мы установили, что закрывать надо не более 5 ордеров (MaxPos_in_Class=5)
В настройках мы установили - запускать расчет когда будет найдена самая большая убыточная позиция с минусом в -50 (MaxLossPoss_in_unit=-50) пипсов (TypyClose=2) и совокупный профит будет больше на 20 пипсов(ProfitPerLoss_in_unit=20) Также мы установили, что закрывать надо не более 5 ордеров (MaxPos_in_Class=5)
Эксперт нашел позицию с лоссом -51 пипс, а также серию ордеров с профитом +72 пипса. и собственно, закрыл как убыточную позицию, так и серию прибыльных позиций.
Пример работы данного алгоритма в советнике 2 MACD
без функции:
без функции:
Внешние переменные и настройки
Название | Описание |
---|---|
TypeOfUnitToClose | Тип расчетов прибыли и убытков. В долларах или в пунктах |
MinLossInUnit | Минимальный убыток позиции в юнитах ( TypeOfUnitToClose) , который берется в расчет советника. Ордер с убытком в "MinLossPoss_in_unit" юнитов(долларов или пунктов), должен устанавливаться в минусовой зоне. Это верхняя планка для поиска убыточных позиций. Например: MinLossInUnit=-100 TypeOfUnitToClose=dollars, тогда советник ищет или ждет позицию с убытком больше или равно -100 долларов, например: -100 долларов, -150 долларов -200 долларов и так далее. Позиция с убытком -99 долларов уже игнорируется. |
AdditionalProfitInUnit | Количество юнитов прибыли для разницы закрытия комплекта позиций. Позиция (один или несколько) с общей прибылью, превышающей убыток на " AdditionalProfitInUnit" юнитов. Например: AdditionalProfitInUnit=10 MinLossInUnit=-100 TypeOfUnitToClose=dollars Советник ищет или ждет как минимум 2 позиции, одна из которых с убытком -100 долларов, а вторая с прибылью +110 долларов. в этот момент советник принимает решение о включении своей функции |
MaxPos_in_Class | Параметр "MaxPos_in_Class" должен ограничивать количество позиций всего "комплекта" закрытия. Например: MaxPos_in_Class=3, тогда советник будет искать комплект для закрытияиз максимум 3 позиций (1 убыточная и 2 прибыльных) |
FirstSymbolClose | Искать пары позиций и закрывать только той валюты, минус которой мы обрабатываем. Вы можете выключить параметр FirstSymbolClose, тогда советник будет закрывать любые комплекты из убыточных и прибыльных позиций на всем счете, независимо от того, какая валютная пара включена в расчет. При включении функции FirstSymbolClose - советник считает и закрывает комплекты из одной валютной пары |
OpenHoura OpenMinutea | Время начала работы советника |
CloseHoura CloseMinutea | Время окончания работы советника |
OrderToClose | Тип позиций : -1=All Orders,1-Sell,0=Buy |
MagicToClose | Магик позиций : -1 = любой магик. Или Вы можете указать уникальный магический номер своих позиций, которые следует обрабатывать Вы можете указать несколько магиков через запятую |
SymbolToClose | Валютная пара для мониторинга -1=All Symbol,1-Curent Symbol |