MT5 netting: что происходит со SL и TP при изменении позиции
На неттинговом счете MT5 стоп-лосс и тейк-профит относятся к общей позиции одного символа, а не к каждой добавленной части. Новая исполненная сделка способна изменить защиту всего остатка. Перед увеличением или разворотом проверьте количество и уровни в поручении. Это правила MT5 netting, которые нельзя автоматически переносить на MT4, хеджинговый счет или иную платформу.
Что именно защищают уровни
Разделяйте историю исполненных сделок и текущую позицию. История сохраняет отдельные исполнения, неттинг объединяет их действующий эффект в одно направление и объем. См. длинные и короткие позиции. Номер поручения не создает отдельно защищенную часть. Для выхода только из части нужно подходящее распоряжение с проверкой фактически оставшегося количества.
Уровни стоп-лосс и тейк-профит задают условия выхода, а не зарезервированные деньги на будущий убыток или гарантированную цену. Установите, смотрите ли вы текущую позицию, параметры отложенной заявки или историческую сделку. Эти записи могут иметь разные значения. Старый стоп в истории не доказывает наличие такого стопа у текущей позиции.
Какие операции сохраняют и заменяют уровни
По документации MetaQuotes увеличение или разворот принимает уровни последнего исполненного поручения. Частичное закрытие сохраняет уровни позиции, полное удаляет их вместе с ней. Нулевой SL или TP при увеличении либо развороте может удалить соответствующий защитный уровень. Это описание поведения платформы, не совет убрать защиту. Исходные правила наследования MT5 (на английском).
Окно поручения может автоматически подставить прежние уровни. Для торговли одним нажатием из панели графика или «Обзора рынка» MT5 описывает сохранение текущих SL/TP существующей позиции символа. Отсутствие отдельных полей в быстрой панели не означает распоряжения удалить стопы. Собственный запрос советника может отличаться от поведения этой кнопки.
Исполненная сделка и последующая модификация защиты — разные события. Если робот сначала добавляет объем, затем отправляет новые SL/TP, промежуточная позиция может отличаться от цели. Сообщение «модификация отправлена» не устраняет риск. Нужны подтверждение и новое чтение принятых сервером уровней, особенно при работе другого робота на том же счете.
Добавление, сокращение и разворот
Условный счет USD и контракт EUR/USD: один лот — 100000 EUR. Исключены комиссии, финансирование и проскальзывание. Изначально куплено 0.20 лота по 1.1000 со SL 1.0970 и TP 1.1060. На каждом этапе ниже указанное количество исполнено, соответствующие параметры приняты. Цены служат арифметике, не рекомендации или универсальной спецификации поставщика.
Добавление. Покупка 0.10 лота по 1.1030 со SL 1.0990 и TP 1.1080 дает одну позицию 0.30 лота. Средневзвешенная цена: (0.20 × 1.1000 + 0.10 × 1.1030) / 0.30 = 1.1010. Новые уровни защищают все 0.30 лота, включая прежние 0.20; два независимых стопа не сохраняются.
Сокращение. Продажа 0.05 лота оставляет покупку 0.25. Частичное закрытие сохраняет SL 1.0990 и TP 1.1080. Нули в таком поручении отличаются от нулей при добавлении. Сначала определите изменение количества, затем наследование. Сама продажа не обязательно создает короткую позицию.
Разворот. Продажа 0.40 лота по 1.1040 против покупки 0.25 закрывает эти 0.25 и оставляет продажу 0.15. В модели разворачивающее поручение содержит SL 1.1070 и TP 1.0980, которые относятся к новому короткому остатку. Продажа ровно 0.25 вместо 0.40 закрыла бы все без нового направления.
Четыре состояния одной позиции
Открыть схему целиком. На небольшом экране прокрутите схему; значения приведены также ниже.
Итог схемы: защиту определяет изменение общей позиции, а не одно слово Buy или Sell. Продажа может сокращать покупку или формировать короткую позицию. Используйте текущий объем, а не количество, которое помнили до последнего исполнения. После новой сделки пересчитайте намеренное следующее распоряжение до отправки.
Почему денежный риск нужно пересчитывать
Изначально 20000 EUR × 0.0030 = 60 USD плановой ценовой потери до SL. После добавления 30000 × (1.1010 − 1.0990) тоже равно 60 USD. Равенство обусловлено этими числами, не неттингом как таковым. Прежний стоп 1.0970 при новом объеме дал бы 120 USD. Большее количество изменяет вес каждого движения цены.
После сокращения 25000 × 0.0020 = 50 USD от средней цены до сохраненного стопа. После разворота 15000 × (1.1070 − 1.1040) = 45 USD для нового короткого остатка. Это отдельные оценки оставшейся позиции: ранее реализованную прибыль к ним не прибавляют. Реальная потеря может включать расходы и иную цену исполнения; валюта счета и спецификация инструмента также существенны. Проверка уровня и проверка денежного риска — разные действия.
| Состояние | Средняя цена | SL | TP | От входа до SL |
|---|---|---|---|---|
| Покупка 0.20 | 1.1000 | 1.0970 | 1.1060 | 60 |
| Добавление: покупка 0.30 | 1.1010 | 1.0990 | 1.1080 | 60 |
| Сокращение: покупка 0.25 | 1.1010 | 1.0990 | 1.1080 | 50 |
| Разворот: продажа 0.15 | 1.1040 | 1.1070 | 1.0980 | 45 |
От текущих средств до стопа — другое расстояние
Дополнительный снимок относится только к позиции после добавления: покупка 0.30 лота, 30000 EUR, средняя цена 1.1010, принятый SL 1.0990. Отдельно задан текущий Bid 1.1030 USD за EUR. Баланс 1000 USD; нет кредита, свопов, комиссий, иных расходов или денежных потоков. Открытый результат 30000 × (1.1030 − 1.1010) = 60 USD, средства счета 1060 USD. Для сравнения отдельно зададим будущее исполнение закрытия по 1.0990: конечный ценовой результат −60 USD, средства счета 940 USD. Изменение от текущего снимка — −120 USD, то есть 30000 × (1.0990 − 1.1030). Число 60 измеряло расстояние от средней цены входа до SL, а не возможное уменьшение нынешних средств. Текущая прибыль не является дополнительным отдельным денежным поступлением. Будущая цена исполнения здесь задана для арифметики, а не гарантирована обычным стопом; путь котировок, маржа и вероятность достижения уровня не восстанавливаются.
| Состояние | Результат позиции | Средства счета | Изменение от снимка |
|---|---|---|---|
| После добавления, Bid 1.1030 | 60 | 1060 | 0 |
| Задано исполнение по 1.0990 | −60 | 940 | −120 |
Что прочитать после ответа сервера
Сверьте символ, направление, остаток, среднюю цену и текущие S/L и T/P с планом до операции. Для советника значение true у OrderSend (документация на английском) не подтверждает исполнение: нужны результат, события и состояние счета. Не повторяйте сделку на основании догадки при неясном ответе. См. разбор ошибок торговых запросов о причинах отказов и технических ограничениях.
При отсутствии защиты оцените нынешнюю позицию и доступные способы уменьшить риск. Не отодвигайте стоп дальше ради принятия запроса. Сохраните причину отказа, котировку и условия символа. При изменении только SL/TP проверьте второе поле: попытка изменить SL не должна случайно заменить прежний TP нулем. Принятая модификация тоже может противоречить вашему плану риска.
Для журнала нужны состояния до и после, идентификаторы поручений и сделок. Свойства позиции MQL5 (на английском) различают POSITION_IDENTIFIER и POSITION_TICKET. Первый сохраняется при неттинговом развороте одним исполнением входа/выхода, тогда как номер POSITION_TICKET может измениться. Другой номер сам по себе не доказывает отдельную историю позиции. Сверяйте данные того же счета и сервера; снимок другого логина не устанавливает изменение.
Что проверить на демосчете
- Выберите подтвержденный неттинговый демосчет и небольшие разрешенные объемы. Запишите символ, направление, количество и оба защитных уровня. Подготовьте таблицу: состояние до, распоряжение, ожидаемый результат, ответ сервера и наблюдаемое состояние после.
- Отдельно проверьте добавление, сокращение и разворот. После каждого подтвержденного исполнения прочитайте остаток и SL/TP. Различайте окно поручения, быструю панель и собственный советник; не проводите этот опыт на реальном торговом счете.
- Объясните расхождения и пересчитайте оставшийся риск перед следующим действием. Наличие стопа прежде не доказывает, что он сохранился. Проверьте более широкий контекст режима счета и тестера в обзоре MT5.
Следующий шаг
После правил изменения позиции разберите диагностику отказа торгового запроса или модификации.
Проверьте понимание
В модели есть покупка 0.25 лота. Исполняется продажа 0.40 со SL 1.1070 и TP 1.0980. Какое состояние нужно проверить?
Ответ и объяснения без JavaScript
Правильный ответ: Продажу 0.15 лота с уровнями разворачивающего поручения.
Покупку 0.25 и независимую продажу 0.40 лота.
Это отдельные хеджинговые позиции, а не общая неттинговая позиция примера.
Продажу 0.15 лота с уровнями разворачивающего поручения.
Верно. 0.25 закрыто, 0.15 остается в новом направлении. Подтвердите принятые сервером уровни.
Отсутствие позиции: любая продажа только закрывает покупку.
Продажа превышает покупку; избыточный объем разворачивает направление.
Вопросы и ответы
Стоп первой покупки защищает только ее часть?
При неттинге MT5 текущий SL относится к общей позиции символа. Если добавление заменяет его, изменение касается и ранее купленного объема. История отдельных исполнений не создает независимо защищенных частей. Проверьте направление, общий объем и текущий S/L. Для раздельного управления сначала установите режим счета и возможности платформы, а не полагайтесь на номера поручений.
Продажа части удаляет SL и TP?
Описанное частичное закрытие сохраняет SL и TP общей позиции. Убедитесь, что продажа действительно только сократила ее: равный объем закрывает все, больший разворачивает направление. Другое исполнение могло изменить количество до вашей инструкции. Сверяйте состояния и историю, а не надпись кнопки. Последующая модификация защиты является отдельным событием с собственным подтверждением.
Нулевой SL означает оставить старый стоп?
Универсального такого значения нет. При увеличении или развороте нуль может удалить соответствующую защиту. Частичное закрытие и быстрая панель существующей позиции — другие случаи. Проверьте оба поля модификации, затем прочитайте принятые сервером уровни. Испытайте конкретный путь на демосчете; не приписывайте собственному коду поведение кнопки без проверки запроса.
Принятый SL гарантирует максимальный убыток примера?
Нет. Числа измеряют расстояние от цены входа до SL при заданном контракте без расходов и проскальзывания. Исполнение может пройти по другой цене. Учитывайте комиссии, финансирование, валюту счета и спецификацию. Сам уровень не показывает, соответствует ли новый объем лимиту риска. Сначала подтвердите состояние, затем рассчитайте денежную величину и сопоставьте с планом.
Источники и пределы применения
- MetaTrader 5: наследование SL и TP при неттинге
Выбранные правила увеличения, сокращения, разворота и полного закрытия; нулевые уровни и отдельное поведение панели торговли одним нажатием. Это технический контекст MT5 netting.
- MetaTrader 5: исполнение и изменение позиции
Выбранные поля позиции и частичное закрытие. Отправленный запрос и фактически принятое исполнение нужно различать; конкретные условия проверяются на том же счете.
- MetaQuotes: свойства и идентификаторы позиции
POSITION_SL, POSITION_TP, цена и объем; при неттинговом развороте идентификатор POSITION_IDENTIFIER сохраняется, номер POSITION_TICKET меняется. Это не правило независимого учета каждой сделки.
- MetaQuotes: результат функции OrderSend
Возвращение true означает успешную базовую проверку структуры, а не доказанное исполнение. Прочитайте результат и фактическое состояние.
- MetaQuotes: структура торгового запроса
Поля volume, position, sl и tp, а также модификация защитных уровней. Пример кода не является разрешением торговой операции или универсальным минимальным расстоянием стопа.
Учебные модели правил MT5 netting, не MT4, хеджингового учета или всех поставщиков. USD за EUR, 100000 EUR на лот, исполненные количества и принятые параметры заданы. Дополнительный снимок использует отдельно заданные текущий Bid и будущее исполнение, которое обычный стоп не гарантирует. Нет комиссий, финансирования, кредита, денежных потоков или расчета маржи; не воспроизводится реальный счет.