![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
JIC, Por favor, note que o problema não ocorre em plataformas de 32 bits. Eu forneci algum código em um dos posts anteriores.
Até que você entenda porque o desenho das linhas roxas pára quando há um espaço nas barras M1, então eu trataria tudo o resto como coincidência.
Vou fechar voltando à minha declaração de abertura: não há razão para que janelas de 64 bits causem qualquer problema como os que você está descrevendo. Muitas pessoas levantaram relatos neste fórum de que o MT4 não funciona corretamente nas plataformas x, y e z, apenas para que eventualmente se descubra que o problema estava com seu código. Você descobriu o primeiro bug MQL4 de boa fé em vários anos em um software maduro usado por literalmente milhões de pessoas, ou o problema é com seu código. É extremamente provável, a partir das evidências até agora - por exemplo, relatórios separados de você de que o problema ocorre após 16 horas ou após 3-4 horas - que o problema seja causado por flutuações ocasionais nos dados que você não está alimentando adequadamente.
AnkaSoftware:
a) A corrupção de indicadores ocorre apenas na plataforma Windows 64 bit
d) O uso do código é o seguinteDeclarações
<código>
#janela_do_cartão_indicador de propriedade
Em anexo está o indicador de amostra, que reproduzirá o problema. Na plataforma Windows de 64 bits, anexe o indicador a um gráfico M1, e deixe-o rodar por mais de 4 horas.
Entretanto, se este indicador realmente reproduzir o problema, então devo concordar que é interessante. Não consigo ver imediatamente onde qualquer problema interno pode estar escondido. (Assumindo, como antes, que você tenha definitivamente descartado coisas como uma correlação entre o problema ocorrendo e um blip recente em conexão entre o MT4 e o corretor. Você mencionou sua fé no CNS; na verdade, você não confirmou que o jornal MT4 não contém nenhuma menção de problemas de conexão, o que, por sua vez, poderia estar causando o preenchimento posterior do histórico do bar).
Se você quiser seguir a rota de um problema da MT4, então parece mais provável que ele esteja relacionado à passagem das matrizes de indicadores por referência. As matrizes em MQL4 têm propriedades estranhas, como sempre serem estáticas, e suponho que é possível que exista apenas um estranho problema latente com a passagem das matrizes especiais de tampão indicador por referência, o que só desencadeia problemas em Win64. Embora a razão pela qual o sistema operacional deveria fazer a diferença em um contexto como este permaneça um mistério completo.
Eu tentaria alterar o DrawMoveEx() de modo que ele não tome mais uma referência à matriz de indicadores, e em vez disso existem funções separadas como DrawMoveEx_Down1(), DrawMoveEx_Up1() etc. que simplesmente abordam os buffers como variáveis globais. Se isso faz diferença, então, parabéns, você quase certamente encontrou um bug MT4. Possivelmente o segundo, hoje.
Em anexo está o indicador de amostra, que reproduzirá o problema. Na plataforma Windows de 64 bits, anexe o indicador a um gráfico M1, e deixe-o rodar por mais de 4 horas.
Está funcionando há mais de 5hrs no Windows 7 Ultimate 64 bit, sem problemas.
JIC a) Como sugerido por você modificou o código remover passando a referência, não resolve o problema. Código modificado anexo.
b) As barras em falta a que você se refere, muito provavelmente devido a nenhuma condição comercial, portanto, o corretor não enviou barras. IMHO, em caso de perda de conectividade, as barras que faltam estão disponíveis uma vez restabelecida a conexão. Se você vir meu código de amostra, não há dependência de barras serem contíguas.
Raptor, obrigado por testar. Talvez você precise se juntar a nós para ver o erro. Sou capaz de reproduzir o problema no Windows Server 2008 R2 Enterprise. Portanto, pode ser um problema de O/S. Qualquer idéia, de onde obter uma lista de patches recomendados pelo MT4, para uma determinada plataforma.
.
Qualquer idéia, de onde obter uma lista de patches recomendados pelo MT4, para uma determinada plataforma.
Em anexo está o indicador de amostra, que reproduzirá o problema. Na plataforma Windows de 64 bits, anexe o indicador a um gráfico M1, e deixe-o rodar por mais de 4 horas.
Ainda funcionando bem até onde posso dizer . . . como posso reproduzir o erro ?
Você não tem que fazer nada. Além de fazer zoom no gráfico para ver se o erro ocorreu.
Se estou procurando linhas que parecem estar desconectadas das barras do gráfico (conforme seu primeiro posto), então não estou tendo nenhum problema.