Discussão sobre "Como escrever uma DLL para MQL5 e trocar dados em 10 minutos". - página 9
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
Deverá melhorar o seu nível técnico.
Para programas de 64 bits, são necessárias bibliotecas de 64 bits e não há forma razoável de ligar bibliotecas de 32 bits. Para instalar a versão de 32 bits, o instalador deve ser executado com o interruptor /32
Reescreverei o artigo e acrescentarei características fixes que há muito têm sido implementadas no MetaEditor e nas plataformas MT4 e MT5. Muitos criadores não estão a par das novas características.
E vejo que a Microsoft começou a comprimir C++. No mais recente compilador até removeram a capacidade de trabalhar com formulários em C++. E quando eu perguntei porquê? A resposta é porque não tenta o novo e melhorado C+++. Portanto, se olharmos para o futuro, devemos também tê-lo em conta.
Bem, a Microsoft é um famoso assassino tecnológico, e ultimamente tem vindo a cavar a sua própria sepultura atrás de sepultura.
Porquê interferir com ela - deixá-la cair no seu próprio buraco. É tão figurativamente, não perder tempo com pormenores técnicos. Quem quer detalhes - há milhares deles na Internet. Depois de "melhor C#" não tenho outras palavras.
Deverá melhorar o seu nível técnico.
Para programas de 64 bits precisa de bibliotecas de 64 bits e não há maneira de ligar bibliotecas de 32 bits de uma forma razoável. Para instalar a versão de 32 bits é necessário executar o instalador com o interruptor /32.
Reescreverei o artigo e acrescentarei características fixes que foram implementadas há muito tempo no MetaEditor e nas plataformas MT4 e MT5. Muitos criadores não estão a par das novas funcionalidades.
Acabou por ser fácil!
Instalou a Comunidade Visual Studio 2015 gratuita (exactamente Comunidade, pois tem x64 de apoio, ao contrário do Express) As versões pagas também têm x64, claro, mas eu estava a olhar para as opções gratuitas. O Web Installer deu-me um erro, por isso instalei a partir da imagem ISO. Ao instalar, seleccionar instalação "Personalizada" e verificar C++ (não está instalado por defeito).
Depois fiz tudo como descrito no artigo, ou seja, criei um projecto Win32. Fez uma montagem, que o terminal x64 se recusou a aceitar (como esperado).
Depois no separador "Build" -> "Configuration Manager" mudei a plataforma para x64, (também pode mudar a "Active Solution Platform" para x64)
Construiu-o novamente. A nova dll acabou por estar na pasta \x64 (a compilação final será em x64), esse terminal x64 processado sem problemas e devolvido a seguinte saída:
19:29:01.883 dll_test (EURUSD.e,H1) Tempo 16 msec, int: -752584127 duplo: 17247836076609.0
19:29:01.883 dll_test (EURUSD.e,H1) Array: 0 1 2 3 4 5 6 7 8 9
19:29:01.883 dll_test (EURUSD.e,H1) Substituir: Um gato castanho rápido salta sobre o cão preguiçoso
19:29:01.886 dll_test (EURUSD.e,H1) Violação de acesso a 0x000007FEFB0F176F escreva para 0x00000000000000000000 em '...\MQL5\Libraries\ConsoleApplication1.dll
e descrição adicional do erro interceptado
Isto é, tudo funciona!!!
Nota:
Ao transferir a DLL para outro computador, recusou-se a trabalhar porque estava a utilizar componentes da própria VS. O problema é resolvido em Projecto -> Propriedades -> Usar MFC, definido para "Usar MFC na biblioteca estática". Depois disso, reconstruir e recompilar a DLL
Encontrei-o no fórum:
É possível optimizar EAs com DLLs não só no computador local, mas também numa rede local. Para o fazer em computadores de rede, adicionar /dlls chave ao registo para agentes de teste. Chamada ao editor do registo: regedit
Renat Fatkhullin:
Para agentes instalados existentes, os comandos de arranque só podem ser alterados através do registo nas filiais HKEY_LOCAL_MACHINE_SYSTEM
Basta clicar em cada parâmetro ImagePath e adicionar /dlls ao final da linha
Estou no processo de ligação do ZeroMQ ao MT4 via DLL.
É muito mau, de alguma forma. O terminal está sempre a cair ao iniciar o indicador ou ao descarregar. E não aparece em modo de depuração, por isso não sei o que se passa.
Boa tarde.
Por alguma razão, quando executo o exemplo de teste, o guião trava na primeira chamada para a função importada
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) removido
O que é que estou a fazer mal?
Boa tarde.
Por alguma razão, quando executo o exemplo de teste, o guião trava na primeira chamada para a função importada
2016.07.30 23:30:14.088 Scripts script mql5dll_test (EURUSD,H1) removido
O que é que estou a fazer mal?
este artigo tem 6 anos de idade, algo deve ter mudado.
O que é o código de erro?