Erros, bugs, perguntas - página 2598

 
Comentários não relacionados com este tópico foram movidos para"Quaisquer perguntas de novatos sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos".
 
Andrey Khatimlianskii:

Porquê uma posição i-di para tudo isto? Não consigo ver de todo como utilizá-lo.

Basta analisar os ofícios.

Utilizo a compensação de algoritmos internos. Consequentemente, existem várias posições virtuais, e têm de ser verificadas regularmente em relação à posição real, para que não haja discrepâncias. Além disso, o comércio é realizado em vários Símbolos, pelo que existem várias posições reais.

 
Francuz:

Utilizo a compensação de algoritmos internos. Portanto, existem várias posições virtuais, e têm de ser regularmente verificadas em relação à posição real para evitar discrepâncias. Além disso, o comércio é realizado em vários Símbolos, pelo que existem várias posições reais.

Porquê a posição i-di? Com que é que o verifica?

Gere as suas posições virtuais? Óptimo, basta calcular o volume e certificar-se de que é igual ao volume real.

Aparentemente, simplesmente não vejo a tarefa como um todo.

 
Andrey Khatimlianskii:

Porquê uma posição i-d? Contra o que é que se verifica?

Manter as suas posições virtuais? Óptimo, basta calcular o volume e certificar-se de que este é igual ao volume real.

Aparentemente, simplesmente não vejo a tarefa como um todo.

Isto é durante o funcionamento normal. Mas quando o terminal se desliga de repente, tudo se perde. Por esta razão, fiz protecção contra falhas utilizando variáveis globais do terminal. Não posso colocar aí o Symbol. Por isso, utilizo o PositionID. É ainda mais conveniente.

Mas desviámo-nos da essência da questão. O erro nas transacções foi detectado. Mas ninguém dos criadores se deu ao trabalho de responder. A informação foi tida em conta, ou será que nem sequer a leram?

 
Francuz:

Isto é durante o funcionamento normal. Mas quando o terminal é subitamente desligado, tudo se perde. É por isso que o protegi com variáveis globais do terminal. E não se pode colocar aí o Symbol. Por isso, utilizo o PositionID. É ainda mais conveniente.

Mas desviámo-nos da essência da questão. O erro nas transacções foi detectado. Mas ninguém dos criadores se deu ao trabalho de responder. A informação foi tida em conta, ou será que nem sequer a leram?

Qual é o erro?

 
Artyom Trishkin:

Que erro?

Este erro:

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

Estabelece-se de forma precisa que não funciona como indicado na descrição oficial da estrutura:

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

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

Este erro:

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

Estabelece-se com precisão que não funciona como indicado na descrição oficial da estrutura:

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

posição

Bilhete da posição afectada pela transacção.


O que é que está errado? É-lhe mostrado um bilhete de posição. Esta é a identificação da posição. Tem uma conta netting - há apenas uma posição sobre ela até ser encerrada. Virar uma posição não é fechá-la.

 
Artyom Trishkin:

posição

Bilhete da posição afectada pela transacção.


O que é que está errado? O bilhete de posição é-lhe mostrado. Esta é a identificação da posição. Tem uma conta com tipo netting; há apenas uma posição sobre ela até que seja encerrada. Virar uma posição não é fechá-la.

Está enganado. O bilhete de posição e o id de posição são entidades diferentes. São muito semelhantes, por isso não há razão para os confundir. Na enumeraçãoENUM_POSITION_PROPERTY_INTEGER, eles estão claramente separados como entidades diferentes.

 

O testador MT5 não vê a história :






histórico disponível no terminal :



Pode ver todos os detalhes do lançamento nas imagens de ecrã. Obrigado a todos vós.

 
Francuz:

Está enganado. O bilhete de posição e o id de posição são entidades diferentes. São muito semelhantes, pelo que não há razão para os confundir. Na enumeraçãoENUM_POSITION_PROPERTY_INTEGER, eles estão claramente separados como entidades diferentes.

Não me engano ao dizer que a identificação da posição lhe é mostrada. É o que tenho vindo a dizer pela última vez.

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

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

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

Basta usar a sua lógica.
Se o número mostrado não muda quando a posição é invertida e permanece o mesmo, só pode significar uma coisa - este número é um ID de posição. Veja-se a ordem que deu origem à transacção - não é a mesma que o número da posição, o que significa que essa posição é o ID da posição.

Esta é a base a partir da qual se deve proceder. Não é um erro na transacção, mas sim um erro na ajuda então.

E em relação a esta sua declaração posso dizer - por favor, olhe para os meus artigos e imagine como os escreveria sem um estudo profundo e compreensão do assunto? Compreendo perfeitamente bem e sei a diferença - estou apenas a mostrar-lhe exactamente o que vê na revista.
Razão: