Если учесть, что советник может быть закрыт, потом снова запущен - переменные отпадают.
Первое, что пришло в голову - смотреть на коммент. Коммент от вторичных ордеров (после частичного закрытия) всегда такой: "from #8498674967" (номер предыдущего ордера).
Можно пройтись по цепочке назад и посмотреть цену самого первого. Не пробовал, просто пришло в голову.
Нет ли более изящного решения?
глобальные переменные, создать объект в виде горизонтальной линии на графике
Сама цена - нет, но все остальные параметры теряются. Например, лот.
Хранить в виде объекта на графике - интересная идея.
И насчет глобальных переменных - спасибо, почитаю про них. Надеюсь, они сохраняются после закрытия терминала.
Если учесть, что советник может быть закрыт, потом снова запущен - переменные отпадают.
Первое, что пришло в голову - смотреть на коммент. Коммент от вторичных ордеров (после частичного закрытия) всегда такой: "from #8498674967" (номер предыдущего ордера).
Можно пройтись по цепочке назад и посмотреть цену самого первого. Не пробовал, просто пришло в голову.
Нет ли более изящного решения?
для начала реализуйте через глобальные переменные.
Только такой совет:
1. в идентификацию глобальной переменной внесите или тикет ордера или же если она у вас будет всегда одна, то уникальную строчку.
string sID=Symbol()+Magic+IsTesting()+IsDemo()+IsOptimization()
GlobalVariableSet("имя"+sID)
или
GlobalVariableSet("имя"+sID+OP_BUY) // если надо разделить покупки/продажи/отложки
или
GlobalVariableSet("имя"+ticket) // если контролировать надо конкретный ордре и его параметры
2. Всегда проверяйте наличие переменных в функции старт.
3. И конечно обязательно ВСЕГДА чистить за собой эти переменные.
в deinit, если был IsTesting(), IsDemo(), IsOptimization()
и на каждом тике проверка старых закрывшихся ненужных ордеров (если использовалась идентификация ) "имя"+ticket
Эти простые правила для минимизации возможных ошибок и перекрывания доступа.
4. ГП сохраняются на диске только в случае нормального закрытия терминала.
(в мт5 функцией можно принудительно скидывать на диск)
за всю практику не было не одного сбоя.
Но есть ещё такой момент - сам наблюдал неоднократно, что даже когда например какое то приложение закрывается и закрывает редактируемый файл, то при аварийном вырубе электричества или BSOD (при этом когда приложение уже нормально закрыто и система не загружена) - последние редактируемые файлы просто исчезают с диска. Наблюдал неоднократно!!!
Поэтому сохранение даже в файл вероятно не есть 100% гарантия наличия этих файлов после аварийной перезагрузке компа.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Если учесть, что советник может быть закрыт, потом снова запущен - переменные отпадают.
Первое, что пришло в голову - смотреть на коммент. Коммент от вторичных ордеров (после частичного закрытия) всегда такой: "from #8498674967" (номер предыдущего ордера).
Можно пройтись по цепочке назад и посмотреть цену самого первого. Не пробовал, просто пришло в голову.
Нет ли более изящного решения?