Exp Close Minus by Plus – Перекрываем убыточные позиции путем нахождения и закрытия прибыльных позиций.
В продолжение темы про нивелирование позиций я хочу предложить Вам более надежный и приятный алгоритм перекрытия убыточных позиций. Конечно, каждый вправе выбрать свой способ избавления от минусовых позиций. Наша прошлая статья, описывающая помощника для трейдера, а именно Закрытие по общей прибыли или убытку, с трейлингом полученного профита, принесла достаточно хорошие результаты.
Предисловие
Данный помощник ищет среди всех позиций в терминале (магик, позиции и направление позиций можно отдельно регулировать в настройках) самую убыточную позицию. Далее, путем хитрого поиска остальных поз, он вычисляет серию ордеров, которые могут перекрыть убыток. И, собственно, закрывает их.
Серия ордеров может состоять абсолютно из любых позиций. Их максимальное количество регулируется в настройках советника.
Настройки
- TypyClose – доллары – 1, пипсы – 2.
- MaxLossPoss_in_unit – ордер с убытком в “MaxLossPoss_in_unit” юнитов.
- ProfitPerLoss_in_unit – ордер (один или несколько) с общей прибылью, превышающей убыток на “MaxPos_in_Class” юнитов.
- MaxPos_in_Class – параметр “MaxPos_in_Class” должен ограничивать количество сделок всего “комплекта” закрытия.
- FirstSymbolClose – искать пары ордеров и закрывать только той валюты, минус которой мы обрабатываем.
- timetrade_ – настройки времени работы эксперта.
- OpenHoura – час открытия торгов.
- OpenMinutea – минута открытия торгов.
- CloseHoura – час закрытия торгов.
- CloseMinutea – минута закрытия торгов.
- OrderToClose – все ордера = -1, Sell = 1, Buy = 0.
- MagikToClose – все ордера = -1.
- SymbolToClose – все символы = -1, текущий символ = 1.
Работа помощника
Вся работа заключается в том, что мы ставим эксперта на отдельный график, настраиваем его и работаем дальше на своем терминале. При наступлении запрограммированного условия советник включается в работу и начинает свои расчеты.
Причем все расчеты советник записывает в логи, выглядит это так:
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 (MaxLossPoss_in_unit=-10) долларов (TypyClose=1) и совокупный профит будет больше на 10 долларов (ProfitPerLoss_in_unit=10). Также мы установили, что закрывать надо не более 5 ордеров (MaxPos_in_Class=5).
Эксперт нашел позицию с лоссом -7 долларов, а также серию ордеров с профитом +20 долларов. И, собственно, закрыл как убыточную позицию, так и серию прибыльных позиций.