Лимитники/тейки по текущей цене в Терминале (не в Тестере)

 

Сабж рассматривался на форуме неоднократно. Рассказывал, что с этими ордерами происходит в Терминале и в Тестере. Но решил все же создать отдельную ветку по теме. И только по Терминалу, чтобы касаться больного - реальных счетов.


Для сокращения будем называть лимитные ордера и тейки открытых позиций по текущей цене, как LT.


В Терминале во всех случаях, кроме Биржа+Неттинг, LT не проверяются на удовлетворение ценой своих условий до следующего тика после выставления.


Например, выставляете модифицируете лимитник на текущую цену. Он будет модифицирован, но не акцептирован. Можно ждать минуты (на слаболиквидке, например) следующего тика. И если цена станет хуже, то лимитник так и останется не исполненным. И это несмотря на то, что цена несколько минут ему до этого удовлетворяла.


Аналогично и с тейкам. Например, нужно закрыть текущую позицию по текущей цене. Конечно, вы можете это сделать маркетом, но тогда высока вероятность получить отрицательное проскальзывание. Опять же, на малоликвидке или быстром рынке, например. Поэтому ставите тейк на текущую цену. А он не исполняется, как выше лимитник.


Скажите, что тейк в MT5 - это вовсе не лимитник, а маркет. И будете правы. Да, в MT5 закрывать позиции через тейки может быть очень опасно. Только если сторонний софт не настроен так, что тейки делает внутри себя незаметно лимитниками. Но вернемся опять же к задаче закрытия текущей позиции. Это можно сделать через противоположный лимитник, а потом схлопыванием через CloseBy. Но и этого не сделать. Ведь, как было сказано выше, лимитник не акцептируется до следующего тика.


Итак, в MT5 нельзя закрыть текущую позицию без риска отрицательных проскальзываний. Точнее, на биржа+неттинг - можно. А во всех остальных ситуациях - нельзя.


Эта беда касается и MT4. Но он не интересен.


Уважаемые разработчики, Вы будете что-то менять в этой области? MT5 не может элементарного. Конкурентные платформы даже не задумываются, когда делают это с логичной лекостью. А MT5 не может закрыть позицию!


Ну а теперь еще один пример, который происходит сотни раз в день.


Стоит FOK-лимитник, до него доходит цена, он акцептируется. Агрегатор шлет его на LP1, тот реджектит, и MT5 удаляет лимитник.

Робот перевыставляет лимитник, конечно, по текущей цене, которую дает LP2. И облом, ничего не происходит: лимитник не акцептируется, чтобы агрегатор мог его отправить на LP2.


Если маркет-ордер создать - без проблем. Лимитник - никак. Т.е. MT5 дает понять, что либо рискуй получить отрицательное проскальзывание, либо надейся, что когда-нибудь будущий тик будет удовлетворять твоему лимитнику. Получается, что через MT5 торговать менее выгодно, чем через какой-нибудь самописный слабый терминал.


Если называть вещи своими именами, то это позор. С технарями агрегаторов голову ломаем, как обойти это. И даже идеи различных костылей несут в себе риски. Никто не понимает, почему такая элементарщина не сделана в MT5.

 
Для тех, кому нужно перевыставить удаленный самим MT5 FOK/IOC-лимитник, может немного помочь вызов OnTick в OnTrade-функциях.
 
Т.е. как я понимаю, в МТ5 нет типа исполнения Instant Execution для дилинговой торговли, который имеется в MT4.
 
Alexey Navoykov:
Т.е. как я понимаю, в МТ5 нет типа исполнения Instant Execution для дилинговой торговли, который имеется в MT4.

Вроде, не в тему.

 
fxsaber:

Стоит FOK-лимитник, до него доходит цена, он акцептируется. Агрегатор шлет его на LP1, тот реджектит, и MT5 удаляет лимитник.

а поставщик ликвидности получает его тоже в виде лимита, или рыночным?

 
Это глобальная проблема, не только с МТ5. И если обертку, в виде МТ5, думаю, можно исправить (чисто технически), то, если копать глубже, упремся в ластлуки. А их исправить не удастся.. чисто политически. 
Так что, этот подводный камень всё-равно будет.
 
Igor Zakharov:

а поставщик ликвидности получает его тоже в виде лимита, или рыночным?

В виде лимита. Иначе бы не реджектил, а исполнял с отрицательным проскальзыванием.

Но без акцепта со стороны MT5 никакой отправки быть не может. В этом и проблема. MT5 не акцептирует. Лимитник может гореть желтым в Терминале минуты. И все это время никакого акцепта не будет.


Есть решение со стороны разработчиков агрегаторов, чтобы все MT5-маркет-ордера превращались внутри в лимитники, ведь MT5 акцептирует маркеты сразу. Получается такой некий обход проблемы MT5.


Но он имеет существенный минус. Представим, что нужно модифицировать уже существующий лимитник, поставив его на текущую цену. Тогда есть два варианта:

  1. Удалить лимитник, а потом поставить маркет, который агрегатором сделается лимитником. Но при удалении лимитника цена может уйти и можно не успеть.
  2. Поставить маркет, а потом удалить лимитник. Но тогда при выставлении маркета может исполниться и лимитник. Т.е. получаем двойной объем позиции.
Разработчики агрегаторов пытаются обойти это безумное MT5-ограничение, но получаются костыли со своими минусами. Если бы MQ сделали акцепт лимитников/тейков на текущем тике, то все сразу бы наладилось.
 
fxsaber:


Эта беда касается и MT4. Но он не интересен.


Эта беда касается всей индустрии ритейл форекса, с лохотронским методом исполнения.
И при чём эти методы устанавливает тебе дц, как захочет )) 
Поражаюсь с людей, которые знают об этом прекрасно, и продолжают это использовать.
И да на всякий случай, FOK всё или нечего.

 
Heroix:
Это глобальная проблема, не только с МТ5. И если обертку, в виде МТ5, думаю, можно исправить (чисто технически), то, если копать глубже, упремся в ластлуки. А их исправить не удастся.. чисто политически. 
Так что, этот подводный камень всё-равно будет.

Вы, видимо, на какую-то другую тему написали. В данном случае проблема техническая - нет акцепта.

Если бы MQ не сделали такой акцепт в режиме Биржа+Неттинг, то MOEX-сообщество в виде хейтеров имела бы реальный повод поливать помоями MT5. MQ сделали акцепт (включая Тестер) и там все норм.

Тема существенно задевает Тестер, но его специльно упускаю, потому что нужно решение для реальных счетов в первую очередь.

 
В МТ4 с режимом Instant Execution нет такой проблемы.  А Маркет-исполнение при дилинге - это да, априори карт-бланш дилеру на жульничество
 
Roman:

Эта беда касается всей индустрии ритейл форекса, с лохотронским методом исполнения.

Просьба без оффтопа. MT5 - рыночная платформа. Здесь обсуждается серьезное ТЕХНИЧЕСКОЕ ограничение/недоработка.

Есть и другие проблемы, но здесь не буду на них заострять внимание.

Причина обращения: