Discussão sobre "Como escrever uma DLL para MQL5 e trocar dados em 10 minutos". - página 8
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
Declaração da função DLL
Chamada de uma função DLLNo último exemplo, também fez algumas alterações à dll, não fez?
É a isso que me refiro.
Poderia também dar-me uma dica, se não for muito incómodo. Há uma dll, um valor de texto é-lhe passado, a saída é um número em cadeia do tipo
Por exemplo, como este:
Não posso corrigir o dll devido à falta de conhecimento. Aconselhar como fazer um código correcto para o passar para dll, e como o receber correctamente. Tenho a sensação de que o meu dll não vai funcionar no MT5.
Obrigado antecipadamente pela ajuda.
Poderia também dar-me uma dica, se não for muito incómodo. Há uma dll, um valor de texto é-lhe passado, a saída é um número em cadeia do tipo
Não posso corrigir o dll devido à falta de conhecimento. Por favor, aconselhar como escrever correctamente o código para o submeter à dll, e como obtê-lo correctamente. Porque o meu dll não funciona em MT5 neste momento.Obrigado antecipadamente pela vossa ajuda.
Verifiquei novamente o trabalho com retorno de strings da DLL e encontrei erro em x64 (apareceu após algumas optimizações). A correcção será incluída na próxima construção.
Se estiver a trabalhar em x64, aguarde, por favor, pela libertação da construção.
A única coisa que posso acrescentar, lembre-se que a MQL5 funciona com cordas Unicode.
Artigo publicado Como escrever uma DLL para MQL5 em 10 minutos e trocar dados?:
Autor: Renat Fatkhullin
Obrigado pelo artigo. Já a utilizei.
A dica é muito boa. Mas ! Demorei 10 minutos a descobrir como definir correctamente o caminho DLL no VS2010.
Acabou por ser assim:
C:\Users\пп\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries
Sugiro copiar o caminho a partir do MetaEditor.
Ou especificar o seu próprio caminho no ambiente (não o verificou).
E outra coisa, como lidamos com a multithreading?
Obrigado pelo artigo. Repeti-o na íntegra, mas quero dizer algumas palavras sobre o que encontrei durante a implementação - estas coisas aparentemente pequenas quase que me deixaram perplexo. O que eu queria esclarecer (usando VS2010 + MT5 (32 bit) construir 756 + Win 7 Máximo x64):
Caso contrário, não é um mau artigo... Respeito!
Em 64 bit MT5 exemplo não funciona. O terminal informa que é DLL de 32 bit e não a liga. Mas sob Win32 (como neste exemplo e em todos os outros exemplos - como em Delphi) - todas as DLLs são de 32 bits. Tal como no post anterior, tenho de desinstalar a versão de 64 bits do terminal e instalar uma de 32 bits. Também preciso de saber como fazê-lo, uma vez que a versão de 64 bits é instalada à força. Acontece que o MT5 64 bits é um terminal morto, não sei porque é que é lançado. Caros programadores, se for possível, tornem por favor possível ligar uma DLL de 32 bits a МТ5 64 bits.
Se isto for tecnicamente impossível ou difícil, escreva as armadilhas que esta versão não funcionará com DLL de 32 bits e os utilizadores sofrem e não conseguem compreender o que está errado. E escreva abertamente que a pasta Bibliotecas não está nos directórios do próprio terminal, e sabe onde, e sem experiência, não vai encontrar, nem sequer tente. A propósito, neste lugar secreto há todos os indicadores e peritos, por isso instalando o MT5 pode esquecê-los - se não sabe que tudo isto está numa pasta escondida C:\Users\nAppData\Roaming... ...ou o utilizador pensa que está a instalar um programa bem escrito, o que é um embuste.
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 foram implementadas há muito tempo no MetaEditor e nas plataformas MT4 e MT5. Muitos criadores não estão a par das novas funcionalidades.