
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А в этом случае не получится же сработать через лимитник. Или как-то можно?
Закрываю позиции через выставление тейка на текущую цену. Но тейк наружу не всегда идет в виде лимитника (зависит от софта брокера). Поэтому такое решение не всегда подходит.
Если надо точно лимитником. То ставлю лимитник и, в случае хеджа, схлопываю противоположные позиции через OrderCloseBy.
Я так понимаю, выбран тейк, чтобы для хеджа можно было отправлять 1 запрос тейка на сервер вместо 2-отдельного лимитника и CloseBy? А для неттинга это уже без разницы.
К слову сказать, насколько помню, на бирже не выходило воткнуть тейк или стоплосс прямо в текущую цену, отступ должен быть.
Я так понимаю, выбран тейк, чтобы для хеджа можно было отправлять 1 запрос тейка на сервер вместо 2-отдельного лимитника и CloseBy? А для неттинга это уже без разницы.
CloseBy-операция не является торговой, поэтому нет особой разницы.
На примере этой функции покажу особенность совместного использования MT5-style и MT4-style.
Учитывайте это, если работаете с HistorySelect+MT4Orders.
В нескольких местах происходит выбор ордера по позиции. С комментарием
// Во время перебора может измениться количество ордеров
поставлена проверка, что число ордеров может поменяться. Но, строго говоря, может быть ситуация, что число ордеров не поменялось, но сами ордера поменялись, типа 1 закрыт и 1 новый открыт. И тогда нумерация посреди дела может поползти. Такая ситуация за всё время использования ни разу не происходила? Отсутствие более строгих проверок - это баг или сознательное игнорирование маловероятной ситуации, чтобы чрезмерно не усложнять код? Или я что просмотрел, и тут нет ошибки?
В нескольких местах происходит выбор ордера по позиции. С комментарием
поставлена проверка, что число ордеров может поменяться. Но, строго говоря, может быть ситуация, что число ордеров не поменялось, но сами ордера поменялись, типа 1 закрыт и 1 новый открыт. И тогда нумерация посреди дела может поползти. Такая ситуация за всё время использования ни разу не происходила? Отсутствие более строгих проверок - это баг или сознательное игнорирование маловероятной ситуации, чтобы чрезмерно не усложнять код? Или я что просмотрел, и тут нет ошибки?
Не помню. Знаю только, что делал много стресс-тестов, чтобы проверить все ситуации.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2020.04.09 05:34
На хедже позиция может состоять из нескольких IN-сделок. Это происходит при частичном исполнении.
При этом ордер, что частично исполняется, меняет свой ORDER_TIME_SETUP(_MSC) на время исполнения первой (возможно, предпоследней) сделки. Т.е. по истории нельзя будет определить, когда, например, был выставлен BuyLimit.
Как следствие, позиция на хедже может иметь дробную цену открытия, как это часто можно наблюдать на неттинге.
В этой ситуации через MT4Orders OrderOpenPrice/OrderOpenTime такой MT4-позиции будут равны соответствующим значениям первой MT5-сделки.
Т.е. дробной цены открытия позиции не будет, к сожалению. Это редкая ситуация, но имеет место быть.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2020.03.18 03:47
Реджект тейка.
Такая ситуация может возникать часто:
В таких ситуациях реджекта тейка, а также в случаях, когда тейк-ордер был исполнен частично, а затем отменен, MT4Orders эти MT5-ордера не показывает. И это правильно!
Последний релизный MT5 2361 с использованием MT4Orders, реал, хедж. Несколько советников, различаются магиками. Ситуация из одного из советников.
Был выставлен ордер на BUY, тикет 216684. Через некоторое время пришла пора закрыть позицию, был выставлен лимитник на SELL для закрытия и ещё лимитник на SELL на открытие обратной позиции, тикеты 216975 и 216978. Все ордера одинаковой лотности. Когда лимитник 216978 сработал, 216684 и 216978 были схлопнуты через CloseBy и остался только 216975.
Часть лога из Журнала
Часть лога из советника
Т.е. видно, что ордера было 3. Но в процессе схлопывания 2 из них и перехода в маркет 3-го список ордеров оказался пустой, хотя должен был остаться 1. Ситуация может привести к двойному открытию позиции.
Ордера получаю через следующий код
И так вставил проверку, вдруг изменилось число во время перечисления. Но, похоже, этого не хватает. Это баг, фича или я залез в недоделанную область?
список ордеров оказался пустой, хотя должен был остаться 1. Ситуация может привести к двойному открытию позиции.
Это баг MT5.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2019.11.19 07:26
Ветка большая, ниже список постов, представляющих интерес.
https://www.mql5.com/ru/forum/93352/page11#comment_4071950
ЗЫ