После Close By в MT5 могут появиться две выходные сделки, хотя весь ценовой результат пары записан только в одной. Ноль во второй строке сам по себе не означает пропавшую прибыль. Свяжите обе позиции с операцией и согласуйте сумму вместе с затратами. Механизм относится к противоположным позициям одного символа на счете hedging, если такая операция разрешена. Это отличается от двух самостоятельных закрытий по текущим рыночным ценам.
Чем Close By отличается от двух отдельных закрытий?
Close By закрывает позицию встречной позицией того же инструмента. В netting такой пары отдельных позиций нет: встречная сделка уменьшает, закрывает или разворачивает единую позицию. Не переносите инструкции между режимами учета. Справка MT5 выделяет Close By как операцию hedging, отличную от отдельных выходов.
Нужно проверить и разрешения символа: в SYMBOL_ORDER_MODE должна присутствовать SYMBOL_ORDER_CLOSEBY. Надпись hedging не заменяет проверку конкретного инструмента и доступной операции. Не открывайте дополнительную позицию только ради встречного закрытия: это меняет экспозицию и расходы. Сравнение long и short поясняет направления позиций.
Почему история показывает результат и ноль?
Пара закрывается двумя сделками OUT_BY. Это классификация входа или выхода, а не дополнительная комиссия. Документация различает DEAL_ENTRY_OUT_BY, обычный выход OUT и разворот INOUT. Свяжите ордер Close By с идентификаторами обеих позиций, прежде чем считать строки самостоятельными стратегиями.
AlgoBook MetaQuotes поясняет асимметрию: результат отражается у позиции, указанной первой в операции, а вторая выходная сделка имеет нулевой ценовой результат. Перестановка тикетов меняет отнесение к long и short. Изменение числа прибыльных сделок одного направления само по себе не доказывает улучшения стратегии.
Нулевая вторая строка и положительная первая — не два независимых торговых сигнала. Важны сумма операции и выбранная единица анализа. Это пересказ механизма из AlgoBook, а не новая статистика счета.
Сначала определите единицу анализа: сделка, полностью закрытая позиция или взаимно закрытая пара. В примере две выходные записи относятся к одной операции с двумя позициями. Если считать их независимыми сигналами, изменится знаменатель статистики. Запишите правило в журнал и одинаково применяйте его к убыткам и прибыли.
Как согласовать пару и не удвоить прибыль?
Каждая позиция представляет 10 000 EUR. Разность цен открытия дает (1,1010 − 1,1000) × 10 000 = 10 USD ценовой прибыли при взаимном закрытии. Если первой указана L, модель записывает 10 USD в ее OUT_BY и ноль в OUT_BY позиции S. Обратный порядок сохраняет сумму 10 USD, меняя ее отнесение.
Две записи не удваивают результат
Прокрутите схему вправо, чтобы увидеть ее целиком →
Прокрутите таблицу вправо, чтобы увидеть все столбцы →
| Порядок тикетов | Результат L | Результат S | Ценовой итог | После затрат |
|---|---|---|---|---|
| Сначала L, затем S | 10 USD | 0 USD | 10 USD | 6 USD |
| Сначала S, затем L | 0 USD | 10 USD | 10 USD | 6 USD |
Не прибавляйте еще 10 USD, вычисляя отдельную прибыль по зеркальным ценам второй строки. Нулевое поле не означает недостающую денежную сумму. При согласовании с балансом до открытия пары прибавляют ценовой итог 10 USD и один раз учитывают полные затраты 4 USD. Установите, какие расходы уже проведены при открытии.
Разделим условные 4 USD на четыре комиссии по 1 USD: за открытие и закрытие каждой позиции. Начальный баланс 1 000 USD после открытий равен 998 USD. Закрытие прибавляет 10 USD и списывает еще 2 USD, оставляя 1 006 USD. Итог всей пары равен 6 USD. Повторно вычитать уже проведенные комиссии открытия из конечного баланса нельзя.
При таком распределении вторая выходная сделка имеет нулевую ценовую прибыль, но комиссию 1 USD, то есть отрицательный денежный вклад. Это не делает ее отдельным убыточным сигналом и не подтверждает бесплатное закрытие. Для оценки пары нужны все связанные записи. Реальное распределение расходов берут из условий и истории поставщика, а не из нашего условного разбиения.
Почему отдельные закрытия могут дать другую сумму?
В другом варианте одновременно заданы Bid 1,1020 и Ask 1,1022. Отдельное закрытие L по Bid дает 20 USD, а S по Ask — −12 USD: всего 8 USD до затрат. Close By в модели дает 10 USD. Разность 2 USD равна спреду 0,0002, умноженному на 10 000 EUR. Документация MT5 описывает экономию одного спреда относительно раздельного закрытия.
Сравнение фиксирует цены и одинаковые полные затраты; оно не обещает одинаковую конечную экономию у каждого поставщика. Комиссия, финансирование, конвертация и различное время исполнения меняют сумму. Ноль в OUT_BY не означает нулевую комиссию. Разделяйте ценовой результат и расходы, проверяя валюту каждого поля истории и отчета.
Что остается при разных объемах?
Close By компенсирует общий меньший объем. При разных размерах остается разность в направлении большей позиции. Если L равна 0,30 лота, а S — 0,10, взаимное закрытие по 0,10 оставляет long 0,20 лота. Наличие встречного закрытия в истории не доказывает отсутствие экспозиции.
При тех же ценах оставшиеся 20 000 EUR long от 1,1000 до Bid 1,1020 имеют условную нереализованную прибыль 40 USD. Не прибавляйте ее к балансу как уже полученные деньги. Проверьте фактический остаток, принятые уровни и будущие расходы удержания. Материал о реализованном и плавающем результате разделяет эти величины.
После операции вопрос меняется: нужен текущий объем остатка и условия выхода, а не только свидетельство двух прежних тикетов. Выписка, список открытых позиций и результат заявки отвечают на разные части вопроса. Сохраните все три вида данных, если исход неясен.
Что проверить на учебном счете
- Свяжите записи операции. В демонстрационной истории найдите ордер Close By и обе OUT_BY. Сохраните идентификаторы позиций, действительно закрытый объем, валюту и поля результата. Не делайте вывод об итоге пары по единственному нулю.
- Согласуйте результат и расходы. В отдельной таблице сложите записанные результаты и знаковые затраты по одному разу. Сопоставьте сумму с балансом, отделив плавающую оценку остатка и посторонние операции счета.
- Проверьте реальный остаток. После подтверждения исполнения перечитайте позиции и уровни защиты. Если ответ неясен, сначала примените порядок согласования ошибок ордера (на английском), затем решайте вопрос повторной заявки. Расчет не является рекомендацией открывать встречную пару.
Отрицательная пара: нулевая строка не отменяет расходы
Новый полностью условный пример. Линейный EUR/USD, 100 000 EUR на лот, USD, long L 0,05 по 1,2030 и short S 0,05 по 1,2020. Оба открытия выполнены полностью; при взаимном закрытии ценовой итог 5000×(1,2020−1,2030)=−5 USD. Перестановка тикетов меняет строку отнесения этого убытка, не его сумму.
Прокрутите таблицу вправо, чтобы увидеть все столбцы →
| Запись | USD | Накопленный баланс |
|---|---|---|
| До пары | — | 2000,00 |
| Два открытия по −0,60 | −1,20 | 1998,80 |
| Финансирование L −0,20 и S +0,10 | −0,10 | 1998,70 |
| Ценовой итог Close By | −5,00 | 1993,70 |
| Закрытия −0,40 и −0,30 | −0,70 | 1993,00 |
Общий денежный результат равен −7 USD. Сумма издержек после взаимозачета положительного финансирования составляет 2 USD; не заменяйте знаковое суммирование абсолютными величинами. У второй OUT_BY может быть 0 USD ценового результата и комиссия −0,30 USD. Это не самостоятельный сигнал стратегии и не бесплатная запись.
Для отдельного сравнения зададим одновременные Bid 1,2040 и Ask 1,2043, те же полные затраты 2 USD и отсутствие задержки/конвертации. Отдельные выходы дали бы long +5 USD и short −11,50 USD:−6,50 USD до затрат,−8,50 USD после них. Разность 1,50 USD равна текущему спреду 0,0003×5000. Это арифметическое сравнение при фиксированных условиях, не обещание исполнения или рекомендация создавать пару. Поля истории и уже проведенные расходы нельзя считать дважды.