Discussão do artigo "Expondo código C# para MQL5 usando exportações não gerenciadas" - página 4
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
Há um mês venho sugerindo timidamente que deveríamos criar um wiki-tutorial sobre o mql5, preenchido pela comunidade, o que resolveria os problemas do mega-tutorial. Os autores poderiam até ser recompensados com créditos por artigos especialmente visitados.
O mecanismo wiki é gratuito e está disponível.
// Se o Metaquotes não quiser fazer isso, alguém poderá fazê-lo em um site externo. Eu, por exemplo, estou pensando nisso.
Para sites externos, há um problema - temos direitos autorais sobre nosso material. E ao criar um wiki externo, quase 100% do texto será um copypaste de nossos materiais.
Pode-se argumentar que os wikis públicos são uma utopia. A ideia de wikis públicas está enterrada na prática há muito tempo. Veja quanto esforço dedicamos ao desenvolvimento de nossas comunidades e documentação. É muito dinheiro e trabalho diário.
A solução para o problema está na área de criação de conteúdo gerenciado com fornecimento obrigatório para o terminal de cada usuário. Isso aumenta a eficiência da familiarização em massa de um insignificante 0,00x% para um muito realista 3-5%.
Aumentamos o volume e a conectividade dos materiais MQL5 diariamente. O projeto de documentação(linguagem MQL5, ajuda, multilíngue) tem uma participação muito grande em nosso trabalho.
Para sites externos, há um problema: temos direitos autorais sobre nossos materiais. E ao criar um wiki externo, quase 100% do texto será copiado de nossos materiais.
Pode-se argumentar que os wikis públicos são uma utopia. A ideia de wikis públicos está enterrada na prática há muito tempo. Veja quanto esforço dedicamos ao desenvolvimento de nossas comunidades e documentação. É muito dinheiro e trabalho diário.
A solução para o problema está na área de criação de conteúdo gerenciado com fornecimento obrigatório para o terminal de cada usuário. Isso aumenta a eficiência da familiarização em massa de um insignificante 0,00x% para um muito realista 3-5%.
Aumentamos o volume e a conectividade dos materiais MQL5 diariamente. O projeto de documentação(linguagem MQL5, ajuda, multilíngue) tem uma participação muito grande em nosso trabalho.
E se revivermos os concursos no âmbito do tutorial? Afinal, os novatos estão pedindo um livro-texto.
Faça um concurso de várias etapas, os participantes se registram, enviam um plano de livro-texto, 50% são eliminados, os demais recebem US$ 20 cada, passam para a segunda etapa etc.
Até o final da maratona, chegarão ao final poucos, mas com os melhores trabalhos. Estabeleça prazos reais de criação com meio ano, divida-os em etapas e tudo dará certo.
Esse é um artigo muito interessante e útil sobre a interoperabilidade geral entre C++ e .NET.
A estratégia mais simples de implementar é a "2.4. Classe envolvente de C++/Cli", porque você pode usar a API do .NET em C++/cli sem problemas, de modo que o único código de cola é uma classe pequena e direta que contém "gcroot".
Essa abordagem foi escolhida como base para a implementação de http://www.nquotes.net, uma biblioteca que permite a programação MQL em C#.
Embora a primeira versão seja compatível apenas com MQL4, ela será definitivamente portada para MQL5 em versões futuras.
Ótimo artigo, muito, muito útil. Mas...
Tenho um pequeno problema com o Visual Studio. Se eu criar um novo projeto usando o modelo e construí-lo, o VS não terá problemas. Posso então salvar o novo projeto (incluindo a dll criada) no disco, em uma pasta de solução. A dll é executada sem problemas. No entanto, se eu voltar ao projeto salvo no VS, ele reclamará que o projeto "RGiescke.DllExport.targets" não foi encontrado ou não está no disco, embora o arquivo esteja lá.
Acho que é um problema com o arquivo de projeto.....
Muito bom o tutorial, gostei dele.
Muito obrigado.
Oi Investeo,
Obrigado por esse artigo, ele foi muito útil, mas parece que enfrentei um problema ao tentar usar o modelo do RGiesecke.
Quando criei e construí uma DLL, usei o DLL Export Viewer para verificar os nomes das funções exportadas para poder localizá-las e chamá-las por meio de GetProcAddress. Infelizmente, a própria DLL está carregando bem na função LoadLibrary, mas GetProcAddress retorna o erro 127 - Function not found (Função não encontrada). Ao mesmo tempo, o DLL Export Viewer mostra que nenhuma das minhas funções foi exportada...
Você poderia sugerir o que pode estar errado no meu código?
E no aplicativo Win 32 Console, estou fazendo o seguinte:
Obrigado, Art
A propósito, o MetaTrader 5 tem sido capaz de importar nativamente funções de DLLs escritas em .NET há várias compilações
Adicionamos especialmente esse suporte e agora não há necessidade de usar soluções alternativas.
Não consigo encontrar informações sobre como fazer com que a função .Net seja improvisada. Quem puder, por favor, compartilhe um link ou um exemplo simples.
Ative a opção "Mostrar todos os tipos de arquivo" no navegador do editor, pegue sua DLL com o mouse e jogue-a na janela MQL5 do programa.
Você provavelmente ficará surpreso com o resultado.
Ative a opção "Show all file types" (Mostrar todos os tipos de arquivo) no navegador do editor, pegue sua DLL com o mouse e jogue-a na janela MQL5 do programa.
Você provavelmente ficará surpreso com o resultado.
legal.
Se eu pudesse inserir todas as funções da DLL de uma só vez.
Ative a opção "Show all file types" (Mostrar todos os tipos de arquivo) no navegador do editor, pegue sua DLL com o mouse e jogue-a na janela MQL5 do programa.
Você provavelmente ficará surpreso com o resultado.
P.S.
Win8 Enterprise 64
MetaEditor build 842
.Net lib tem uma função: