Может. Если сделка выполняется советником ид указывается не автоматически. То есть в советнике можно любой ид присвоить, в том числе 0 или вообще не присваивать, тоже будет 0.
В советниках для неттинговых счетов обычно не указывают ид, нет смысла.
ID советника указывается во время открытия позиции. А после закрытия, позиции как таковой нет вообще. Следовательно и ID советника закрывшего позицию можно посмотреть только в свойствах сделки или ордера. И только если при закрытии было заполнено соответствующее поле структуры.
А как закрыта позиция, руками или советником можно узнать из перечисления ENUM_DEAL_REASON
Идентификатор | Описание |
---|---|
DEAL_REASON_CLIENT | Сделка проведена в результате срабатывания ордера, выставленного из десктопного терминала |
DEAL_REASON_MOBILE | Сделка проведена в результате срабатывания ордера, выставленного из мобильного приложения |
DEAL_REASON_WEB | Сделка проведена в результате срабатывания ордера, выставленного из веб-платформы |
DEAL_REASON_EXPERT | Сделка проведена в результате срабатывания ордера, выставленного из MQL5-программы – советником или скриптом |
DEAL_REASON_SL | Сделка проведена в результате срабатывания ордера Stop Loss |
DEAL_REASON_TP | Сделка проведена в результате срабатывания ордера Take Profit |
DEAL_REASON_SO | Сделка проведена в результате наступления события Stop Out |
DEAL_REASON_ROLLOVER | Сделка проведена по причине переноса позиции |
DEAL_REASON_VMARGIN | Сделка проведена по причине начисления/списания вариационной маржи |
DEAL_REASON_SPLIT | Сделка проведена по причине сплита (понижения цены) инструмента, по которому имелась позиция на момент проведения сплита |

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток!
Может ли закрытая позиция в свойствах не иметь ID советника, если закрыл ее советник?
На сколько мне известно, пустое значение ID означает ручное закрытие позиции.