Exp – Swing Алгоритм Маятника или Качели
The X: 10 шагов для программирования своей стратегии!
Описание
Закрытие убыточных позиций поиском и закрытием прибыльных позиций
- Данный помощник ищет, среди всех позиций, в терминале самую убыточную позицию.
- Далее, путем поиска остальных прибыльных позиций, он вычисляет серию позиций, которые могут перекрыть убыток, когда прибыль одной или нескольких позиций больше, чем убыток другой позиции.
- Если набор таких позиций был найден, тогда советник закрывает их.
- Серия позиций может состоять абсолютно из любых позиций. Их максимальное количество регулируется в настройках советника.
- Также можно указать минимальный убыток для поиска и дополнительная прибыль для закрытия.
В продолжении темы про нивелирование позиций, я хочу предложить Вам более надежный и приятный алгоритм перекрытия убыточных позиций. Конечно, каждый в праве выбрать свой способ избавления от минусовых позиций. Наша прошлая статья, описывающая помощника для трейдера, а именно Закрытие по общей прибыли или убытку, с трейлингом полученного профита, принесла достаточно хорошие результаты. Данная статья описывает алгоритм, который был написан еще 4 года назад, но так и не доведен до ума. Но с подачи наших уважаемых клиентов, проект вновь заработал.
close-by+
Предисловие
Для начала хотел выразить благодарность нашему постоянному клиенту. Спасибо Александру Пузанову. который вновь завел механизм данного помощника.
Данный помощник ищет среди всех позиций в терминале (магик, позиции и направление позиций можно отдельно регулировать в настройках) самую убыточную позицию.
Далее путем хитрого поиска остальных поз, он вычисляет серию ордеров, которые могут перекрыть убыток и закрывает их.
Серия ордеров может состоять абсолютно из любых позиций. Их максимальное количество регулируется в настройках советника.
Работа помощника
Вся работа заключается в том. что мы ставим эксперта на отдельный график, настраиваем его и работаем дальше на своем терминале. При наступлении запрограммированного условия – советник включается в работу и начинает свои расчеты.
При чем все расчеты советник записывает в логи, выглядит это так:
- 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 (MinLossInUnit=-50) пипсов (TypeOfUnitToClose=2) и совокупный профит будет больше на 20 пипсов (AdditionalProfitInUnit=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 убыточная |
FirstSymbolClose | Искать пары позиций и закрывать только той валюты, минус которой мы обрабатываем. Вы можете выключить параметр FirstSymbolClose, тогда советник будет закрывать любые комплекты из убыточных и прибыльных позиций на всем счете, независимо от того, какая валютная пара включена в расчет. При включении функции FirstSymbolClose – советник считает и закрывает комплекты из одной валютной пары |
OpenHoura OpenMinutea | Время начала работы советника |
CloseHoura CloseMinutea | Время окончания работы советника |
OrderToClose | Тип позиций :-1=All Orders,1-Sell,0=Buy |
MagicToClose | Магик позиций :-1 = любой магик.Или Вы можете указать уникальный магический номер своих позиций, которые следует обрабатыватьВы можете указать несколько магиков через запятую, например:777,888,999 |
SymbolToClose | Валютная пара для мониторинга -1=Все символы,1=Только текущий символ (символ, на который установлен советник)Вы можете записать список валютных пар через запятую, например:EURUSD,USDCHF,USDJPY |
Ця публікація також доступна на: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어