Discussão do artigo "O uso de ORDER_MAGIC para negociação com diferentes consultores especialistas em um único instrumento" - página 4

[Excluído]  
Dmitry Fedoseev:
HistorySelectByPosition() está errado?
Errado. Se 5 negociações entraram no mercado positivo e 3 no negativo, então HistorySelectByPositionEx() mostraria as 2 negociações restantes que compõem a posição. Esse é um análogo das ordens abertas no MT4.
 

Por via das dúvidas, se alguém pensar em usar essa biblioteca (classe), dê uma olhada aqui: https://www.mql5.com/ru/forum/171241.

Eu queria usá-la, mas tive problemas

é claro que ela sempre pode ser ajustada, mas mesmo assim

 

Boa tarde!

Hoje encontrei uma falha interessante. Mudei o Expert Advisor para uma posição virtual e encontrei uma entrada dupla na posição no histórico durante o teste. O algoritmo da posição virtual funciona normalmente, mas nesse local o script conseguiu entrar duas vezes em um segundo, a julgar pelos registros logo após a abertura da primeira posição, o histórico de abertura de uma operação ainda não chegou! Tudo funciona de acordo com o algoritmo usual, apenas escolhi a posição atual no instrumento e trabalhei com ela. Acontece assim - novo Tick - carregar histórico paraTimeCurrent - selecionar um negócio no magik - sem negócios - abrir uma posição - novo Tick - selecionar um negócio no magik - sem negócios (embora saibamos que o negócio passou) - abrir uma posição - novo Tick - carregar histórico paraTimeCurrent - selecionar um negócio no magik - e há um negócio com volume duplo. Não vejo isso em outras negociações. O que você acha que pode ser o motivo dessa falha?