Интересно мнение, может кто занимался этим вопросом, может это лучше трала ? Известно ведь что если сделать TP в несколько пипсов то колличество выигрышных сделок возрастет, но прибыль скорее всего не будет перекрывать редкие, но большие лоси. Трал тоже вещь такая, приходится ловить цену стопом на откате. А вариант с частичным закрытием..., дпустим открыта позиция 0.1 лота предполагаемый профит 100 пунктов, закрывать по 0.01 лота через 10 пунктов, поставить безубыток на общую позу пунктов через 20 (чтоб не пролететь если развернется), и получается что ловим цену уже не на откате а на импульсах. Сколько соберет, а остальное, если развернет, закроет по безубытку.
Может кто тестировал подобные алгоритмы ? Стоит ли заниматься ?
//+------------------------------------------------------------------+ //| Закрытие одной трети позиции | //+------------------------------------------------------------------+ void CloseOneThird() { bool fc=False; double Lots=MathCeil(OrderLots()/3*10)/10; if (Lots>0) { if (OrderType()==OP_BUY) fc=OrderClose(OrderTicket(), Lots, Bid, Slippage, CLR_NONE); if (OrderType()==OP_SELL) fc=OrderClose(OrderTicket(), Lots, Ask, Slippage, CLR_NONE); if (fc && UseSound) PlaySound(NameFileSound); } }Функция Кимова непроверял как работает у него и трал тройной есть с частичным закрытием
Пробивал данный вопрос с точки зрения увеличения прибыльности , результат: написана функция на вход которой подается процент закрытия от текущей позиции. Уровни на которых закрываются части и процент расчитывается отдельно, но большой разницы не приносит. В моем вариате первое закрытие 15 процентов позиции происходит при первом выставлении трала (тактика расчитана на достаточно долгосрочные позиции и трал выставляется только при наступлении опасности разворота или флэта на заданном периоде).
Результативность и прибыльность меняется очень незначительно +/- 5%
Самый большой эффект от подобных действий это психологическое спокойствие и уменьшение величины возможной просадки, так как я включил данную тактику и при сильном противоположном движении цены против позиции, т.е. если убыток по позиции превышает некоторое кол-во пунктов поэтапно закрываем часть позиции дабы не нарваться полный аут.
Возможно данный вариант не совсем верен т.к. я не использую углубленного расчета уровней и процента закрытия (матрица уровней и соответствующих им процентов получена больше интуитивно), но спокойствие приносит.
double LotsForFix(double OrderLot,double ClosePercent) { double OverPart; double OverStep; double FixLots; if (OrderLot*ClosePercent>MarketMinLot) { OverPart=OrderLot*ClosePercent-MarketMinLot; OverStep=NormalizeDouble(OverPart/MarketLotStep,0)*MarketLotStep; FixLots=MarketMinLot+OverStep; } else FixLots=OrderLot-MarketMinLot; if(FixLots<MarketMinLot)FixLots=MarketMinLot; return(FixLots); }
Переменные MarketMinLot и MarketLotStep являются глобальными переменными среды для конкретного инструмента из серии
MarketMinLot=MarketInfo(Symbol(),MODE_MINLOT); MarketLotStep=MarketInfo(Symbol(),MODE_LOTSTEP);
Но можно вставить в тело функции.
Здесь есть недостаток - как только все сводится к минимальному лоту позиция закрывается полностью.
Это то да, но эта функция выполняет само закрытие и не ведет контроля. А нужно например разбить лот позиции на минимальные и закрывать когда цена доходит до нужного уровня, например лот 0.1, минимальный 0.01, следовательно за весь путь позиция закроется 0.1/0.01=10 раз. Как это сделать в MQL ? В лоб не получается, нужно городить массивы с уровнями. Кое что я попробовал написать, но текст не маленький получается, и велика вероятность ошибок в будущем. Интересны мысли людей кто занимался этим, на сколько меняется прибыльность эксперта? Как вариант можно открывать сразу кучу мелких позиций, эт конечно намного проще но каша с ордерами и прочее. Спасибо за наводку, Трал Кима где-то лежит посмотрю может чего и позаимствую.
В лоб это не сделаешь. После частичного закрытия нужно найти
ордер в комментарии которого записано от какого ордера он образовался
(при частичном закрытии сервер пишет это в комментарий). В глобальной
переменной имя которой включает тикет ордера записывать порядковый
номер частичного закрытия. Итого: нашли ордер в комментарии
которого есть информация что он частично закрыт, вытащить тикет
из комментария, посмотреть глобальную переменную с именем этого
тикета, взять из этой глобальной переменной номер закрытия,
увеличить его на один и создать глобальную переменную с тикетом
новго ордера в имени и присвоить получившийся номер шага, а
затем в соответсвии с номером шага и соответсвующим ему уровнем
прибыли делать следующее частичное закрытие
В лоб это не сделаешь. После частичного закрытия нужно найти
ордер в комментарии которого записано от какого ордера он образовался
(при частичном закрытии сервер пишет это в комментарий). В глобальной
переменной имя которой включает тикет ордера записывать порядковый
номер частичного закрытия. Итого: нашли ордер в комментарии
которого есть информация что он частично закрыт, вытащить тикет
из комментария, посмотреть глобальную переменную с именем этого
тикета, взять из этой глобальной переменной номер закрытия,
увеличить его на один и создать глобальную переменную с тикетом
новго ордера в имени и присвоить получившийся номер шага, а
затем в соответсвии с номером шага и соответсвующим ему уровнем
прибыли делать следующее частичное закрытие
А интересно эти комменты у разных брокеров имеют разный вид или нет. Правильнее всего мне кажется брать значение после символа #.
Спокойствие это важно, при торговле руками сколько раз было что вроде правильно встал и идет туда куда надо, а в итоге сбор стопов в начале сессии, прибыль уже видел а тут разворот и собирает безубыток. Жаба давит. А так бы хоть часть скинул на балланс. В общем-то задумал этого советника сперва не как полный автомат а как помошника для рук (хотя автомат - мечта), так что использование magic номеров в коде невозможно, вариант integerа вобщем подходит. Будем думать.
А интересно эти комменты у разных брокеров имеют разный вид или нет. Правильнее всего мне кажется брать значение после символа #.
Жаба давит....
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Может кто тестировал подобные алгоритмы ? Стоит ли заниматься ?