Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А мне странно, что никак не могу получить ID. Ети строки возврощают Тикет
А в историю так :
Здесь : Позиция=66702123 (записал в коментар, совпадает с Тикет ордера на открытия), а ID=6737227 - что на порядок меньше . Почему ?
А мне странно, что никак не могу получить ID. Ети строки возврощают Тикет
А в историю так :
Здесь : Позиция=66702123 (записал в коментар, совпадает с Тикет ордера на открытия), а ID=6737227 - что на порядок меньше . Почему ?
Почему Вы решили, что предоставленной информации достаточно для ответа?
Давайте по-порядку:
"Отложенный ордер сработал частично - открылась позиция с Position_ID = Order_Ticket." - Это всегда соответствует? Независимо от того что открыта только часть ордера?
Если "ДА" то всё в соответствии с документацией.
"Остаток ордера исполнился - открылась позиция с Position_ID != Order_Ticket." - А тикету какого ордера должно соответствовать? Тому, часть которого уже исполнена, или тому который остался после частичного исполнения? И с каким вы сравнивали?
(не уверен, проверить сложно,по аналогии с частичным закрытием позиций)
Это все работает так:
1) отложенный ордер сработал частично - открылась позиция с Position_ID = Order_Ticket1
2) остаток ордера формируется в новый ордер Order_Ticket2 и ждет своего исполнения, новый Order_Ticket2 != Order_Ticket1, так как не может быть 2 ордера в истории с одинаковыми Order_Ticket
3) остаток ордера исполнился - открылась позиция с Position_ID = Order_Ticket2
в истории два ордера в терминале две позиции, все соответствует
2) остаток ордера формируется в новый ордер Order_Ticket2 и ждет своего исполнения, новый Order_Ticket2 != Order_Ticket1, так как не может быть 2 ордера в истории с одинаковыми Order_Ticket
Не просто так есть ORDER_STATE_PARTIAL. Т.е. новый ордер с остатком не создается. При частичном исполнении Сделка может быть еще без Ордера в Истории.
Не сплю, на вахте.
Ждемс.
А мне странно, что никак не могу получить ID. Ети строки возврощают Тикет
А в историю так :
Здесь : Позиция=66702123 (записал в коментар, совпадает с Тикет ордера на открытия), а ID=6737227 - что на порядок меньше . Почему ?
на картинке не тот ID о котором вы думаете
Не просто так есть ORDER_STATE_PARTIAL. Т.е. новый ордер с остатком не создается.
я думал об этом, так же есть такая надпись
но мне кажется что просто кто-то не хотел разжёвывать и написал общий принцип
на самом деле первый ордер исполняется в том объеме в котором смог, и он уже в истории
а остатки формируются в новый ордер, и тогда уже ему присваивается статус ORDER_STATE_PARTIAL
на самом деле первый ордер исполняется в том объеме в котором смог, и он уже в истории
а остатки формируются в новый ордер и уже ему присваивается статус ORDER_STATE_PARTIAL
Это был бы лучший вариант. Если ордера в Истории могут иметь ORDER_STATE_PARTIAL, то, скорее всего, так и есть.
Добился частичного исполнения. Выставил BuyLimit на 1 лот через скрипт.
Вкладка Позиции
Ордера/Сделки
Журнал
Натравленный скрипт на торговое окружение
Результат
Выводы
Если считать, что это штатное поведение MT5, а не особенности хака брокера, то
Недостатки
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
POSITION_TICKET != POSITION_IDENTIFIER
Pavel Kolchin, 2018.02.12 13:31
(не уверен, проверить сложно,по аналогии с частичным закрытием позиций)
Это все работает так:
1) отложенный ордер сработал частично - открылась позиция с Position_ID = Order_Ticket1
2) остаток ордера формируется в новый ордер Order_Ticket2 и ждет своего исполнения, новый Order_Ticket2 != Order_Ticket1, так как не может быть 2 ордера в истории с одинаковыми Order_Ticket
3) остаток ордера исполнился - открылась позиция с Position_ID = Order_Ticket2
в истории два ордера в терминале две позиции, все соответствует
значит можно уверенно сказать что в hedge счетах всегда POSITION_TICKET == POSITION_IDENTIFIER ?
в таком случае по сабжу можно обойтись без перебора (зная тикет сделки - выбрать позицию)