Вопрос по отрисовке закрытых позиций "руками" и советником

 
Запустил совтеника и он открывает и закрывает позиции, рисуются символы-стрелочки открытия и закрытия, соединённые пунктирной линией.
Но если позиция была открыта советником и закрыта вручную, то не рисутеся символ-стрелка закрытия позиции и пунктир соединяющий открытие и закрытие. Почему так получается или так и задумано было?
Привожу скриншот на котором позиция #3054492 была открыта и закрыта стратегией, а
две последующие позиции были открыты стратегией а закрыты вручную чеерз диалог и стрелочки закрытия не рисует терминал. Так и должно быть или это как то настраивается чтобы даже если закрыл вручную то чтобы рисовало символ закрытия?
[Удален]  

Для таких операций можно использовать историю сделок, понятно что советник отрисовывает только те позиции, что он сам открыл и закрыл, а значит он опирается только на данные открытых позиций и данные собственноручного закрытия. Используйте при отрисовке историю, на которую вы как раз и указываете:)

 

Ну да это можно сделать но просто вот можно было бы у позы иметь флаг она открыта советником или руками. Если открыта советником и закрывается руками то тогда нарисовать и стрелочку закрытия соединив пунктиром. Это не критично но логично :) а то висят стрелочки бесхозные

[Удален]  

Магическое число можно использовать как флаг:) Уникальное собственное число ордера. В документации фигурирует как magic number. Вся проблемма в том, что надо вести учет ордров, используя хотябы глобальный массив, чтобы не выполнять массу самых ненужных операций. Я для этого умудрялся использовать глобальные переменные. Тогда по сути и магическое число никчему. А вообще по хорошему лучше иметь не постоянный источник данных в программе на время ее работы, то есть память процесса. Тогда вся суть отрисовки сводится к одному, проверке разности данных. Если бы ордер мог быть реализован как наследуемый класс таких проблемм бы небыло, в условиях MQL это можно сделать самыми разными способами, но только не так как делается в других высокоуровневых языках, я даже знаю как это можно было бы реализовать на строне сервера, но от того что я знаю как лучше сделать, лучше не будет, посему пользуемся тем что дают:)

Предлогаю самый вещественный вариант, именовать объекты на графике с идентификатором ордеров, то есть их номером, таким образом по первичному объекту если он есть в наличии можно проверять необходимость размещения остальных для того же ордера, а если ордер закрыт и нет остальных объектов, но есть допустим стрелочка открытия, создаем стрелочку закрытия и линию между ними. Помнится и такой способ использовал, как нельзя кстати, необходима проверка в каждом тике советника. Короче способов больше чем можно представить, пользуйтесь:)

 
Да у меня в стартегии есть свой внутренний массив позиций. Надо будет на каждном тике поверять с открытыми позициями и если какие то пропали из массива открытых позиций в МТ4 и не соответсвуют моим внутренним то я ищу по номеру тикета эти позиции в истории и если нахожу то дорисовываю на экране. в своём массиве внутреннем тоже корректно эти позиции удаляю. Это можно сделать конечно. Вообщем понятно - это фича МТ4 это не баг и это хорошо. А то подумал может быть глюк какой что не отрисовывает.
Кстати спасибо xnsnet за советы. Правда слишком много слов ;)
[Удален]  

Выдаю как думаю, размышлять на тему мало много не остается желания, поэтому не обессудьте:)))