Ele se encaixa perfeitamente na linha do tempo. Mais uma vez. O MT5 gera um histórico de negociação. É uma representação distorcida das posições fechadas.
Você não deve se guiar pelo que o MT5 mostra, mas pelo bom senso.
Ok, já entendi. Você está se concentrando no processo de fechamento de ordens históricas.
E eu queria dizer, ou mais precisamente, obter uma lista de posições (ordens para posições) que existiam na conta entre os dois pontos especificados no tempo.
É claro que, devido à operação CloseBy, o preço e o horário de fechamento de algumas ordens podem ser imprecisos. Mas, para mim (como usuário), isso não é crítico, pois o cálculo do lucro está correto. Se precisar de detalhes, consulte a seção "Orders & Deals".
Há algum tempo, o MQ bagunçou a formação da tabela de pedidos históricos e não quis consertá-la. Portanto, essa macro não garante a funcionalidade que tinha antes da má implementação do MQ.
Há algum tempo, o MQ bagunçou a formação da tabela de pedidos históricos e não quis consertá-la. Portanto, essa macro não garante sua funcionalidade, que tinha antes da má implementação do MQ.
Aqui está uma reprodução bem detalhada. Resumidamente - uma ordem pendente recém-excluída pode não chegar ao final do histórico de negociação, porque é classificada à força por tíquetes.
Это как с транзакциями в OnTradeTransaction - очередность прихода транзакций не гарантируется. Одни транзакции фактически приходят после других хотя в теории должно быть наоборот. Супер-оптимизированная разработчиками HistorySelect дозаписывает в конец все новые ордера
Se você usar o HistorySelect a partir do zero, as novas ordens irão para o final da tabela enquanto o Expert Advisor estiver em execução - corretamente.
Se você trabalhar SOMENTE com HistorySelect(0, INT_MAX), as novas ordens (que entram no histórico durante o trabalho do EA) serão adicionadas ao final - classificando por ORDER_TIME_DONE_MSC.
Isso foi quebrado. Portanto, a macro não pode garantir sua funcionalidade.
ZY No Virtual, ao excluir uma ordem pendente, ela é sempre gravada no final da tabela de histórico de ordens. O MT5-tester faz o mesmo. O problema ocorre apenas no Terminal.
Ele se encaixa perfeitamente na linha do tempo. Mais uma vez. O MT5 gera um histórico de negociação. É uma representação distorcida das posições fechadas.
Você não deve se guiar pelo que o MT5 mostra, mas pelo bom senso.
Quando essa macro está ativada, por algum motivo, às vezes uma linha com dois ou três tíquetes é impressa no registro: "18521123 22323214".
Depois de comentar essa macro, isso nunca mais aconteceu. Tentei localizar o Print no código, mas não consegui.
Include\fxsaber\TradesID\ByPass.mqhHá algum tempo, o MQ bagunçou a formação da tabela de pedidos históricos e não quis consertá-la. Portanto, essa macro não garante a funcionalidade que tinha antes da má implementação do MQ.
Há algum tempo, o MQ bagunçou a formação da tabela de pedidos históricos e não quis consertá-la. Portanto, essa macro não garante sua funcionalidade, que tinha antes da má implementação do MQ.
Portanto, essa macro não garante a funcionalidade que tinha antes da má implementação do MQ.
Do que você está falando?
Então, temos que abandonar essa macro?
A macro usava esse recurso.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Nova versão do MetaTrader 5 build 2940: vitrines de serviços MQL5 movidas para o espaço de trabalho e atualização de design
fxsaber, 2021.06.11 09:47 PM
Se você usar o HistorySelect a partir do zero, as novas ordens irão para o final da tabela enquanto o Expert Advisor estiver em execução - corretamente.
Isso foi quebrado. Portanto, a macro não pode garantir sua funcionalidade.
ZY No Virtual, ao excluir uma ordem pendente, ela é sempre gravada no final da tabela de histórico de ordens. O MT5-tester faz o mesmo. O problema ocorre apenas no Terminal.
Depois de comentar o link, tudo compila normalmente. Não entendi por que são necessários esses links.
O MT4Orders não é compilado.