• Обзор
  • Отзывы (3)
  • Обсуждение (39)
  • Что нового

Exp4 Close Minus by Plus

Exp Close Minus by Plus - Перекрываем убыточные позиции путем нахождения и закрытия прибыльных позиций.

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


Предисловие

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

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


Настройки

  • TypyClose - Тип расчетов прибыли и убытков. В долларах или в пунктах;
  • MinLossPoss_in_unit - Минимальный убыток позиции в юнитах (TypyClose), который берется в расчет советника;
    • Ордер с убытком в "MinLossPoss_in_unit" юнитов (долларов или пунктов), должен устанавливаться в минусовой зоне.
    • Это верхняя планка для поиска убыточных позиций.
    • Например: MinLossPoss_in_unit = -100, TypyClose = доллары. Тогда советник ищет или ждет позицию с убытком больше или равно -100 долларов, например: -100 долларов, -150 долларов, -200 долларов и так далее.
    • Позиция с убытком -99 долларов уже игнорируется;
  • ProfitPerLoss_in_unit - Количество юнитов прибыли для разницы закрытия комплекта позиций.
    • Позиция (один или несколько) с общей прибылью, превышающей убыток на "ProfitPerLoss_in_unit" юнитов.
    • Например: ProfitPerLoss_in_unit = 10, MinLossPoss_in_unit = -100, TypyClose = доллары.
    • Советник ищет или ждет как минимум 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;
  • MagiсToClose - Магик позиций: -1 = любой магик, или Вы можете указать уникальный магический номер своих позиций, которые следуюет обрабатывать;
  • SymbolToClose - Валютная пара для мониторинга: -1 = All Symbol, 1 = Curent Symbol;


Работа помощника

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

Причем все расчеты советник записывает в логи, выглядит это так:

2014.02.05 01:18:38.408 Exp - Exp - CloseMinusByPlus USDCHF,H1: close #22079015 sell 1.00 EURUSD at 1.35141 at price 1.35119
2014.02.05 01:18:38.346 Exp - Exp - CloseMinusByPlus USDCHF,H1: Tickets of prof positions: .22079015
2014.02.05 01:18:38.346 Exp - Exp - CloseMinusByPlus USDCHF,H1: close #22085491 sell 1.00 USDCHF at 0.90423 at price 0.90430
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Tickets of loss positions: 22085491
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Numbers of positions to Close: 80635972
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: All profit from open positions: 20 dollars
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Maximim profit ticket: 22079015
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Maximim profit: 20 dollars
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Maximum Loss ticket: 22085491
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Maximim loss: -7 dollars
2014.02.05 01:18:38.283 Exp - Exp - CloseMinusByPlus USDCHF,H1: Overlapping loss positions by closing profitable positions started using the currency pair minus:

Как видно из данной записи, у нас было открыто очень много позиций (хаотичное открытие).

В настройках мы установили - запускать расчет, когда будет найдена самая большая убыточная позиция с минусом в -10 (MinLossPoss_in_unit = -10) долларов (TypyClose = 1) и совокупный профит будет больше на 10 долларов (ProfitPerLoss_in_unit = 10). Также мы установили, что закрывать надо не более 5 ордеров (MaxPos_in_Class = 5).

Эксперт нашел позицию с убытком -7 долларов, а также серию ордеров с профитом +20 долларов. И, собственно, закрыл как убыточную позицию, так и серию прибыльных позиций.

Gusstaw
43
2015.05.16 12:17 
 

работает на 5+,любой счет,любой депозит,полезен новичкам,те постоянно в минуса лезут,закрывает и -10 и -100,настройки минимальны и очень просты,авторы всегда помогут,если и закрывает с минусом,то минимальным..поверьте-это один из лучших помошников

umtelo
156
2015.04.09 23:00 
 

я так понял главное правильно настроить. И в принципе из 10 пар закрывает пачку ордеров плюс минус.

savagerus
141
2015.01.15 15:42 
 

Отличный и полезный советник

Версия 17.208 - 2017.02.14
Улучшения EAPADPRO
Версия 17.123 - 2017.01.27
-Добавлена информационная панель EAPADPRO
Подробности о данной панели в нашем блоге: https://www.mql5.com/ru/blogs/post/687140
Версия 16.121 - 2016.04.07
Исправлена ошибка закрытия прибыльных сделок, если при этом нет убыточных и параметр MinLossPoss_in_unit установлен в +
MinLossPoss_in_unit - должен устанавливаться в минусовой зоне. Это верхняя планка для поиска убыточных позиций.
Если например поставить MinLossPoss_in_unit=-10, то убыточная сделка (перекрытая прибыльными) должна быть меньше чем -10 долларов (пунктов)
MinLossPoss_in_unit = параметр, который ограничивает работу эксперта, если минусовая сделка больше чем MinLossPoss_in_unit. Например при открытии сделки, ее профит = -спред.
Версия 15.731 - 2015.08.03
Добавил сообщение в тестере стратегий о том, что в тестере стратегий данный продукт тестировать нельзя.
Версия 15.729 - 2015.07.30
Добавлено: отключение алгоритма при 1 положительной сделке.
Алгоритм работает только при нахождении в рынке 2 и более позиций для закрытия.
Версия 14.965 - 2014.12.23
- Скомпилировано в новом билде.
- Для удобства выбора типа подсчетов и закрытия добавлены перечисления.
Версия 14.709 - 2014.07.09
Добавлены освобождение массивов перед каждым проходом для исключения закрытия позиций по повторным тикетам.