Ошибки, баги, вопросы - страница 2598

 
Комментарии, не относящиеся к этой теме, были перенесены в "Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам".
 
Andrey Khatimlianskii:

Зачем ай-ди позиции для всего этого? Не могу понять, как его вообще использовать.

Достаточно анализировать сделки.

Я использую внутренний клиринг алгоритмов. Соответственно есть несколько виртуальных позиций, и их нужно регулярно сверять с реальной позицией, чтобы не было расхождений. Ну и в придачу торговля ведётся сразу на нескольких Symbol`ах, по этому реальных позиций несколько.

 
Francuz:

Я использую внутренний клиринг алгоритмов. Соответственно есть несколько виртуальных позиций, и их нужно регулярно сверять с реальной позицией, чтобы не было расхождений. Ну и в придачу торговля ведётся сразу на нескольких Symbol`ах, по этому реальных позиций несколько.

Зачем ай-ди позиции? С чем вы его сверяете?

Ведете свои виртуальные позиции? Замечательно, просто посчитайте объем и убедитесь, что он равен реальному объему.

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

 
Andrey Khatimlianskii:

Зачем ай-ди позиции? С чем вы его сверяете?

Ведете свои виртуальные позиции? Замечательно, просто посчитайте объем и убедитесь, что он равен реальному объему.

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

Это при нормальном режиме работы. Но при внезапном отключении терминала всё теряется. По этому сделал защиту от сбоев при помощи глобальных переменных терминала. А туда  Symbol не положить. По этому вместо него использую PositionID. Так даже удобнее.

Но мы отклонились от сути вопроса. Ошибка в транзакциях определена. Но из разработчиков никто не отписался. Принята ли информация к сведению, или они даже не прочитали её?

 
Francuz:

Это при нормальном режиме работы. Но при внезапном отключении терминала всё теряется. По этому сделал защиту от сбоев при помощи глобальных переменных терминала. А туда  Symbol не положить. По этому вместо него использую PositionID. Так даже удобнее.

Но мы отклонились от сути вопроса. Ошибка в транзакциях определена. Но из разработчиков никто не отписался. Принята ли информация к сведению, или они даже не прочитали её?

Какая ошибка?

 
Artyom Trishkin:

Какая ошибка?

Эта ошибка:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Точно установлено, что работает не так как заявлено в официальном описании структуры:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.10.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Francuz:

Эта ошибка:

https://www.mql5.com/ru/forum/1111/page2596#comment_13707304

Точно установлено, что работает не так как заявлено в официальном описании структуры:

https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

position

Тикет позиции, на которую повлияла транзакция.


Что не так? Вам показан тикет позиции. Это и есть ID позиции. У вас счёт с типом "неттинг" - на нём есть только одна позиция до тех пор, пока она не будет закрыта. Переворот позиции не есть её закрытие.

 
Artyom Trishkin:

position

Тикет позиции, на которую повлияла транзакция.


Что не так? Вам показан тикет позиции. Это и есть ID позиции. У вас счёт с типом "неттинг" - на нём есть только одна позиция до тех пор, пока она не будет закрыта. Переворот позиции не есть её закрытие.

Вы ошибаетесь. Тикет позиции и id позиции разные сущности. Они очень похожи по этому немудрено их спутать. В перечислении ENUM_POSITION_PROPERTY_INTEGER они явно разделены как разные сущности.

 

Тестер MT5 не видит историю :






доступная история в терминале :



Все детали запуска видны на скринах. Всем спасибо.

 
Francuz:

Вы ошибаетесь. Тикет позиции и id позиции разные сущности. Они очень похожи по этому немудрено их спутать. В перечислении ENUM_POSITION_PROPERTY_INTEGER они явно разделены как разные сущности.

Я не ошибаюсь в том, что вам показывается ID позиции. Об этом и толкую уже в который раз.

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.

 Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.

 При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен

Просто логику включите.
Если при развороте позиции показываемое число не изменилось, и остаётся одинаковым, то это может говорить лишь об одном - это число является ID-позиции. Посмотрите на ордер, который породил транзакцию - он не такой как номер position, а значит, position - идентификатор позиции.

Из этого и исходите. Это не ошибка в транзакции, а скорее тогда уж ошибка в справке.

И по поводу этого вашего утверждения могу сказать - поглядите пожалуйста на мои статьи, и представьте как бы я их писал без досконального изучения и понимания предмета? Я всё прекрасно понимаю и знаю разницу - просто показываю вам, что же именно вы видите в журнале.
Причина обращения: