![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может тогда стоит попросить разработчиков отредактировать CTrade::PositionModify(const string symbol и CTrade::PositionModify(const ulong ticket, чтобы убрать оттуда и из примеров Magic, ибо путает.
Лучше читать документацию, а не примеры. Тогда и путаницы не будет и понимание будет на порядок выше.
Мне кажется, не будут они править примеры, а тем-более библиотеку. Ведь вызывая модификацию позиции никто не требует ввести magic
Ведь вызывая модификацию позиции никто не требует ввести magic
Внутри CTrade::PositionModify он задается. Берется значение из m_magic. Соответственно если не задавать его явно, то m_magic может иметь любое значение, оставшееся после предыдущих вызовов. Я и пытаюсь выяснить, чем это грозит.
Внутри CTrade::PositionModify он задается. Берется значение из m_magic. Соответственно если не задавать его явно, то m_magic может иметь любое значение, оставшееся после предыдущих вызовов. Я и пытаюсь выяснить, чем это грозит.
Ничем не грозит. Структура перед использованием обнуляется
и в OrderSend() m_magic никак не участвует, хоть чёрта туда засунь. Главное тикет или символ.Ничем не грозит. Структура перед использованием обнуляется
и в OrderSend() m_magic никак не участвует, хоть чёрта туда засунь. Главное тикет или символ.Удивляете меня. ClearStructures() вызывается до заполненя magic.
Если magic не участвует в OrderSend, то зачем он заполняется перед OrderSend?Удивляете меня. ClearStructures() вызывается до заполненя magic.
Если m_magic заполнялся вызовом
то это магик будет жить в советнике до его удаления с графика или закрытия терминала.
НО!!! Если в стратегии используются разные магики, то даже в этом случае нет необходимости заморачиваться с магтками при модификации позиций.
Я-бы вообще заменил-бы эту строку на
или вообще убрал-бы как не нужный элемент.Главный вопрос пока - magic там разработчики библиотек вписывают по недосмотру или в этом есть какой-то умысел? Кроме поймать этот magic в OnTradeTransaction я пока смысла не наблюдаю.
Так в OnTradeTransaction после модификации позиции magic попадает не оттуда... Магик присваивается позиции во время размещения и не меняется никак и никогда.
В OnTradeTransaction есть request.magic. Можно узнать - какой magic отдал команду на изменение стопов.
Друге дело - что ни в самой позиции, ни в истории ордеров и сделок он не фигурирует.