
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Алексей, вы думаете я не проверил всё, прежде чем написать публичный пост. ID позиции вообще тут не причём.
Ситуация обстоит так, как я её многократно описал. В логах все есть. Посчитайте количество уникальных тикетов сделок на закрытие DEAL_ENTRY_OUT, и получите ровно семь. А продублированные срабатывания функции OnTradeTransaction по тем же тикетам сделок не вписываются в правила её работы, описанной в документации.
Вопрос только в том, неправильно срабатывает подсистема терминала, инициируя ошибочные вызовы функции OnTradeTransaction, или есть ещё какое то свойство сделки, по изменению которого происходит вызов. Я склоняюсь к первому.
З.Ы. Вот исполнение этого отложенного ордера 14 лотов, 7 ушло на закрытие, 7 на открытие. Никаких, разумеется, продублированных номеров сделок.
По количеству сделок DEAL_ENTRY_OUT функция OnTradeTransaction должна была сработать 5 раз, а сработала по логам 14 раз !!!
Алексей, вы думаете я не проверил всё, прежде чем написать публичный пост. ID позиции вообще тут не причём.
Ситуация обстоит так, как я её многократно описал. В логах все есть. Посчитайте количество уникальных тикетов сделок на закрытие DEAL_ENTRY_OUT, и получите ровно семь. А продублированные срабатывания функции OnTradeTransaction по тем же тикетам сделок не вписываются в правила её работы, описанной в документации.
Вопрос только в том, неправильно срабатывает подсистема терминала, инициируя ошибочные вызовы функции OnTradeTransaction, или есть ещё какое то свойство сделки, по изменению которого происходит вызов. Я склоняюсь к первому.
З.Ы. Вот исполнение этого отложенного ордера 14 лотов, 7 ушло на закрытие, 7 на открытие. Никаких, разумеется, продублированных номеров сделок.
По количеству сделок DEAL_ENTRY_OUT функция OnTradeTransaction должна была сработать 5 раз, а сработала по логам 14 раз !!!
Андрей, я не пытаюсь вас учить или ещё чего… Я пытаюсь разбираясь в вашей ситуации чего-то понять, чтобы если когда-то столкнусь понимать, что уже проверено.
А это в тестере повторить можно?В тестере, видимо, не моделируется частичное открытие отложенного ордера, а с полным открытием может и не произойти такого.
Здравствуйте, Андрей! Есть статья Дениса Кириченко. В ней советник. Случайно не пробовали ещё его запускать и смотреть на результаты?
С уважением, Владимир.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопрос о функции OnTradeTransaction
Andrey Kaunov, 2023.03.17 19:12
З.Ы. Вот исполнение этого отложенного ордера 14 лотов, 7 ушло на закрытие, 7 на открытие. Никаких, разумеется, продублированных номеров сделок.
По количеству сделок DEAL_ENTRY_OUT функция OnTradeTransaction должна была сработать 5 раз, а сработала по логам 14 раз !!!
Совпадают числа... Сколько раз упоминается сделка 17157064 в логе терминала?
При таком перевороте, как на скрине, получается новая позиция. Т.е. переворот позиции не гарантирует сохранение POSITION_ID.
Здравствуйте, Андрей! Есть статья Дениса Кириченко. В ней советник. Случайно не пробовали ещё его запускать и смотреть на результаты?
С уважением, Владимир.
Здравствуйте, Владимир.
Спасибо, что обратили моё внимание на эту статью. Очень подробно описаны все типы транзакций. Но она лишь подтверждает моё мнение о том, что функция OnTradeTransaction должна вызываться подсистемой терминала на добавление сделки в историю (по типу TRADE_TRANSACTION_DEAL_ADD) один раз для каждой сделки. Мои же тесты показывают неоднократный вызов функции OnTradeTransaction.
Попробую и советник этот погонять, но видимо уже в понедельник. Сейчас рынок ММВБ закрыт.
Совпадают числа... Сколько раз упоминается сделка 17157064 в логе терминала?
При таком перевороте, как на скрине, получается новая позиция. Т.е. переворот позиции не гарантирует сохранение POSITION_ID.
Нет нет, ты не ищи совпадение количества лотов и количество вызова функции OnTradeTransaction. Это просто совпадение. И переворота здесь никакого нет, ты видишь сделку in/out хоть одну? ID позиции вообще тут не причём. То что ты пишешь, к делу никакого отношения вообще не имеет.
Функция OnTradeTransaction вызывается на добавление сделки 17157064 и 17157065 (событие TRADE_TRANSACTION_DEAL_ADD) по одному разу. А на остальные по нескольку. Вот что главное! Тогда как должна на каждое добавление сделки в историю вызываться один раз. Или я в этом не прав?
P.S. Я логи привел. На добавление сделки 17157066 в историю функция OnTradeTransaction вызывалась 5 раз, на добавление 17157067 - 4 раза, на добавление 17157068 - 3 раза, на добавление 17157069 - как минимум 2 раза (может ещё там ниже в логах, надо посмотреть). Какие ещё нужны факты?
И переворота здесь никакого нет, ты видишь сделку in/out хоть одну?
Предполагался переворот позиции через лимитник, но его не произошло: POSITION_ID поменялся. Произошло это из-за частичного исполнения. В том же Тестере был бы переворот.
Функция OnTradeTransaction вызывается на добавление сделки 17157064 и 17157065 по одному разу. А на остальные по нескольку.
Сколько раз в логе терминала упоминаются сделки, на которые приходили двойные DEAL_ADD?
Предполагался переворот позиции через лимитник, но его не произошло: POSITION_ID поменялся. Произошло это из-за частичного исполнения. В том же Тестере был бы переворот.
Сколько раз в логе терминала упоминаются сделки, на которые приходили двойные DEAL_ADD?
Дополнил пост выше, посчитал. Хотя и в логах всё отметил разными цветами.
Дополнил пост выше, посчитал. Хотя в логах всё отметил разными цветами.
Речь шла про лог терминала, а не советника.