Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 75

 
artmedia70:

Вот вы уже сами практически и подсказали самому себе эту функцию, которую можно самому сделать и использовать.

Что мешает считывать комментарии ордеров? Они ссылаются друг на друга: "from #" и "to #"


Работать с комментариями ордера дело не благодарное. Изменять комент прерогатива ДЦ, как хочет так и изменит. Поэтому и возникнуть проблемы могут не известно когда. И под каждого брокера надо подбирать формат чтения комента. В общем-то и вся проблема.
 
AlexeyVik:
Работать с комментариями ордера дело не благодарное. Изменять комент прерогатива ДЦ, как хочет так и изменит. Поэтому и возникнуть проблемы могут не известно когда. И под каждого брокера надо подбирать формат чтения комента. В общем-то и вся проблема.

Достаточно надёжный метод.

1. перед частичным закрытием тикет позиции известен? Да. Запомнили, закрыли частично позицию

2. Если закрытие успешно, выбираем ордер по запомненному тикету, проверяем его время закрытия, если больше ноля - читаем его комментарий от следующего символа после "to #" и до конца строки - это будет тикет полученной оставшейся части.

 
artmedia70:

Достаточно надёжный метод.

1. перед частичным закрытием тикет позиции известен? Да. Запомнили, закрыли частично позицию

2. Если закрытие успешно, выбираем ордер по запомненному тикету, проверяем его время закрытия, если больше ноля - читаем его комментарий от следующего символа после "to #" и до конца строки - это будет тикет полученной оставшейся части.



А после тикета может быть всё что угодно... Всё что пожелает ДЦ.

Это уже пройденный этап. Во вторых тикеты в разных компаниях имеют разную разрядность... Сколько символов читать после "to #"???

В принципе можно конечно учесть многие варианты, даже почти все, но не проще-ли получить эту информацию от сервера ДЦ??? Или такая уж сложность это написать как торговую функцию? Ведь на сервере ДЦ есть этот тикет и вернуть его по запросу МТ не составляет труда. Разница только в каком виде его возвращать, комментарием или в функцию.

Из справки теаминала

Комментарии — в этой колонке записываются комментарии к торговым операциям. Комментарий можно записать только при открытии позиции
 или выставлении отложенного ордера. При модификации ордера или позиции комментарий изменить нельзя. 
Кроме того, комментарий к торговой операции может записать брокерская компания.
 
artmedia70:

Вот вы уже сами практически и подсказали самому себе эту функцию, которую можно самому сделать и использовать.

Что мешает считывать комментарии ордеров? Они ссылаются друг на друга: "from #" и "to #"


Уже проверено. Невозможно.

Во-первых, структура комментариев при частичном закрытии в тестере и онлайн разная.

Во-вторых, как уже упомянуто, ДЦ, что хочет, то и пишет туда.

В-третьих, сами разработчики настоятельно не рекомендуют использовать комментарии для каких-либо схем идентификации.

В-четвертых, при ролловере вообще наступает полный бардак.

Как решение проблемы, говорят: "Используйте магики". Только вот те, кто советуют подобное, как-то не задумываются о том, что открытием ордеров не обязательно должна заниматься программа. Это ведь может быть сделано и вручную трейдером, который затем поручает программе следить за ордерами, открытыми вручную. Предвидя следующий совет ("Пусть программа запоминает тикет"), отошлю к "В-четвертых" (там тикет меняется).

 
AlexeyVik:

А после тикета может быть всё что угодно... Всё что пожелает ДЦ.

Это уже пройденный этап. Во вторых тикеты в разных компаниях имеют разную разрядность... Сколько символов читать после "to #"???

В принципе можно конечно учесть многие варианты, даже почти все, но не проще-ли получить эту информацию от сервера ДЦ??? Или такая уж сложность это написать как торговую функцию? Ведь на сервере ДЦ есть этот тикет и вернуть его по запросу МТ не составляет труда. Разница только в каком виде его возвращать, комментарием или в функцию.

Из справки теаминала

Не забывайте, что у вас ещё есть и оставшаяся позиция, в которой будет прописано "from #" и от-туда тоже можно вытащить тикет той позиции, которую только что закрыли, а тикет оставшейся - искомое
 
artmedia70:
Не забывайте, что у вас ещё есть и оставшаяся позиция, в которой будет прописано "from #" и от-туда тоже можно вытащить тикет той позиции, которую только что закрыли, а тикет оставшейся - искомое

- это метод "огород городить". У ордера есть свойства. Одно из его свойств - тикет. Почему бы к имеющимся свойствам не добавить ещё два свойства: TicketParent и TicketChild??? - этот вариант "по-взрослому".
 
TarasBY:
- это метод "огород городить". У ордера есть свойства. Одно из его свойств - тикет. Почему бы к имеющимся свойствам не добавить ещё два свойства: TicketParent и TicketChild??? - этот вариант "по-взрослому".
Я предлагаю "быстрый" выход из ситуёвины. А ждать от MQ "по-взрослому" - перевзрослеть самому можно
 
TarasBY:
- это метод "огород городить". У ордера есть свойства. Одно из его свойств - тикет. Почему бы к имеющимся свойствам не добавить ещё два свойства: TicketParent и TicketChild??? - этот вариант "по-взрослому".
по-взрослому - это вообще не париться с тикетами. логика советника (торгового) не должна этого требовать. вообще.
 
Ну, дык поделился бы ...
 
artmedia70:
Не забывайте, что у вас ещё есть и оставшаяся позиция, в которой будет прописано "from #" и от-туда тоже можно вытащить тикет той позиции, которую только что закрыли, а тикет оставшейся - искомое

Не хочу тебя обидеть, но мне кажется что ты это высказываешь только из теории. На практике-же тебе не приходилось закрывать не полный ордер, а только его часть. Иначе не начинал-бы второй круг повтора.
В этой ситуации не надо искать тикет закрытого ордера, лично я пишу так, что все тикеты хранятся в массиве до тех пор пока будет понятно что он уже не нужен. Второе, как ты пишешь дальше, это "быстрый выход из ситуёвины", но мне он не нужен я уже прошёл всё это на практике. И по коменту определял и другие методы пробовал, но самым надёжным и простым вариантом будет только возможность определения через функцию свойства ордера.
Причина обращения: