После частичного закрытия, коммент ордера будет типа: from #ticket... или partial #ticket.
После частичного закрытия, коммент ордера будет типа: from #ticket... или partial #ticket.
После частичного закрытия комментарий не изменился. Было бы хорошо если бы можно было изменить комментарий после частичного закрытия. Но как я понимаю это невозможно.
После частичного закрытия комментарий не изменился.
А Вы частичное закрытие как делаете ?
p.s. И где смотрите комментарий , сегодня же рынок закрыт ?можно так сделать:
пишите в глобальные переменный терминала № тикета ордера у которого было частичное закрытие и ищите эту глобальную переменную на соответсвие № тикетов ордеров в рынке - если не нашли - значит ордера нет уже в рынке и удалите глобальную переменную
А Вы частичное закрытие как делаете ?
p.s. И где смотрите комментарий , сегодня же рынок закрыт ?в тестере. если в тестере это не работает. то способ не подходит.
можно так сделать:
пишите в глобальные переменный терминала № тикета ордера у которого было частичное закрытие и ищите эту глобальную переменную на соответсвие № тикетов ордеров в рынке - если не нашли - значит ордера нет уже в рынке удалите глобальную переменную
как то не очень правильно
как то не очень правильно
ну а что Вы хотите? цель топика озвучить что нет возможности изменить комментарий рыночного ордера?
я дал самый легко реализуемый способ, хотите вот писал более сложную реализацию, но нужно доделать сохранение данных при перезагрузке эксперта

- 2018.06.12
- www.mql5.com
Никак не могу понять как лучше сделать.
Задача реализовать функцию частичного закрытия ордера после прохождения определенного количества пунктов ("Сейф"). О переводе в безубыток сейчас речи нет.
В чем проблема: надо определить те ордера которые нужно переводить в "Сейф", но как? Т.е. чтобы вторично ордер уже переведенный в "Сейф" заново не перевести.
Если опираться на начальный лот ордера, то надо чтобы он у всех ордеров был одинаковым изначально, но этого может не быть, если в советнике используется динамический лот.
Хранить все начальные лоты сделок гдето, тоже как то не красиво.
Какие есть варианты?
Задача "...закрытия ордера после прохождения определенного количества пунктов..." решается в момент открытия ордера путем установки значения Take Profit.
Как я понимаю, Вы хотите сначала открыть позицию без ТР, а при достижении заданного значения профита частично закрыть, дабы уменьшить потери в случае достижения обеими позициями (в МТ5 - совокупной позиции) значения Stop Loss. Вторая позиция идет по тренду "до победного".
В идеале, значение ТР при его достижении, должно обеспечивать безубыток совокупной позиции.
Простейшее решение - изначально открывать два ордера по одной цене с одинаковым значением SL: один - без TP, другой - с TP. Минус - изначальная фиксация объемов этих позиций, а значит нельзя манипулировать размером доли закрываемой части позиции.
Все это технически легко решается как в МТ5, так и в МТ4, но есть общая системная проблема. Решение нужно принимать по совокупности четырех параметров: 1. Максимальная доля закрываемой части позиции. 2. Минимальный уровень ТР. 3. Допустимый уровень убытка. 4. Допустимый размер лота.
В обратном порядке, разумеется.
ну а что Вы хотите? цель топика озвучить что нет возможности изменить комментарий рыночного ордера?
я дал самый легко реализуемый способ, хотите вот писал более сложную реализацию, но нужно доделать сохранение данных при перезагрузке эксперта
Хранение информации об ордерах в объектах или массивах может привести к ее потере при закрытии терминала.
В итоге как понимаю придется либо хранить информацию в чемто внешнем, либо использовать при открытии два ордера. В второй вариант с точки зрения устойчивости и быстродействия думаю предпочтительнее
спасибо за советы
в тестере. если в тестере это не работает. то способ не подходит.
Само частичное закрытие в тестере работает, но комментарий ордеров Вы просто так не увидите - его надо распринтовывать в коде... Вам правильно сказали что самый простой способ организовать частичное закрытие это работать с комментарием позиции. Частично тема поднималась здесь: https://www.mql5.com/ru/forum/214381/page5#comment_5706056

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Никак не могу понять как лучше сделать.
Задача реализовать функцию частичного закрытия ордера после прохождения определенного количества пунктов ("Сейф"). О переводе в безубыток сейчас речи нет.
В чем проблема: надо определить те ордера которые нужно переводить в "Сейф", но как? Т.е. чтобы вторично ордер уже переведенный в "Сейф" заново не перевести.
Если опираться на начальный лот ордера, то надо чтобы он у всех ордеров был одинаковым изначально, но этого может не быть, если в советнике используется динамический лот.
Хранить все начальные лоты сделок гдето, тоже как то не красиво.
Какие есть варианты?