Sunday 9 July 2017

Forex Vb6


Eu finalmente descobri como fazê-lo. Embora esta não seja a solução ideal, funciona. Estou documentando aqui para futuras gerações. Basicamente, estou usando um programa chamado DLLExporter. Exe que converte um método de classe. Net gerenciado em uma função direta não gerenciada. Ele em: codeproject Artigos 37675 Simples-Método-de-DLL-Export-sem-C-CLI Exemplo do meu código VB. Net: Após a compilação do código acima, acabo de executar DLLxport myFXTrader. dll e fará sua mágica. O arquivo. dll resultante pode ser copiado para a pasta da biblioteca MT4s e pode ser importado e usado. Veja o exemplo do código do Advisor Especialista abaixo: Espero que isso ajude a quem quer que seja que esteja tentando a mesma coisa. Eu tive que fazer muita pesquisa de leitura para descobrir isso. Você não encontrará nenhum exemplo oficial do metatrader. O apoio deles é sempre menos útil. O api como você notou é de fato c, significando nativo. Você está procurando escrever algo no vb. net. Net sendo o código gerenciado, seja você procurando por vb ou c ou mesmo f, você precisará de uma camada de tradução que converterá estruturas de dados e api nativos para manged. Olhe para c cli. O Cli é uma estrutura que permite misturar código nativo e gerenciado na mesma montagem. Declspec (dllexport) é uma instrução que informa o vinculador que funciona para exportar uma dll nativa para que eles sejam visíveis para o consumidor da dll e podem ser invocados no código. Quando você exporta uma função como essa, ela ainda é uma função nativa. Não tenho certeza se você está tentando implementar o administrador ou o servidor api. No caso de um gerente, a api inteira está em uma classe, cujo ponteiro é fornecido pela única função exportada pela dll do gerente. No caso do servidor, você é o que escreve a dll como um plugin para o servidor, então, em teoria, você pode exportar todas as funções do seu plug-in, mas os tipos de entrada e saída ainda serão nativos, caso em que você terá Para escrever conversores ou usar pinvoke nas funções que você exportou. Heres uma explicação do código de pinvoke Artigo 4965 Usando-Platform-Invoke Em qualquer caso, você ainda precisa escrever código c nativo. Visual Basic e MT4 Sim, eu sei, todos me dizem que não pode ser feito. Mas estou esperando que Somone possa descobrir algo. Mt4excel. dll é uma biblioteca escrita em Delphi. Ao chamar a DLL, a biblioteca COM é inicializada. Antes de usá-lo, você deve chamar uma das seguintes funções: ExcelOpen ou ExcelOpenPattern ou ExcelOpenFile. Ao chamar, um objeto OLE é criado, o MS Excel é aberto, um novo livro e página são criados por modelo ou um arquivo Excel existente é aberto (dependendo da função). Função ExcelClose fechará o MS Excel e liberará o objeto OLE. Você pode escrever e ler em uma célula separada: ExcelSetFormulaCell, ExcelSetValueCell, ExcelSetTextCell, ExcelGetValueCell, ExcelGetTextCell, ExcelGetFormulaCell, ou em um intervalo anteriormente memorizado com função ExcelSetRange, usando ExcelSetFormula, por exemplo, ou outras funções que exigem que um intervalo seja definido. Há várias funções auxiliares para gerenciar exibir, formatar informações, etc. Você pode encontrar mais detalhes sobre eles nos comentários no exemplo. Use a função ExcelSetDiagramma para criar um diagrama. Então, não pode ser feito algo como isso no VB PS. Se alguém sabe de bons grupos de VB para publicar esta questão, envie-os. Tente encontrar uma maneira de criar uma dll que exporta as funções que você precisa com o VB. Não tenho certeza se é possível, acho que você precisa criar um objeto activex que deve estar cadastrado e, de alguma forma, pode usar isso como uma dll comum em MT4 (existem alguns artigos sobre VB para criação de dlls na web) . Eu não uso o VB, por isso não posso ser de grande ajuda com as coisas específicas da VB, mas se a VB geralmente não é adequada para determinadas tarefas de programação, você pode estar interessado em procurar outros idiomas que sejam mais fáceis de integrar com o MT4 e abandonem completamente VB: Por exemplo, há uma ligação Python que permitirá que você chame o código Python arbitrário do MT4 se desejar expressar uma lógica complexa (talvez até multithreaded) em um dos idiomas dinâmicos orientados a objetos mais belos e elegantes atualmente existentes (pesquisa Google para quotmetatrader python integrationquot). Para criar DLL nativas (porque a velocidade de execução bruta é sua principal preocupação), sugiro usar C ou ObjectPascal, sendo este o mais fácil, use Delphi (comercial) ou Lazarus (grátis). A linha inferior é se você deseja interagir com o MQL4 com sua interface limitada com qualquer outra coisa que você definitivamente deve adicionar algo novo em sua caixa de ferramentas, algo que pode ser facilmente ajustado às necessidades do mql4s e pode servir como um invólucro se você ainda precisar das outras ferramentas. VB sozinho não é a solução para todos os problemas. Gostaria de sugerir ObjectPascal para preencher perfeitamente a lacuna entre seus idiomas de alto nível, objetos e APIs e todas as coisas desagradáveis ​​de baixo nível, como convenções de chamadas de funções obscuras, ponteiros para estruturas de dados engraçadas, acesso direto a locais de memória e registros de CPU, mesmo código de montagem em linha. Junte-se a abril de 2007 Status: Receba o kick no nutz todos os dias 719 Posts Obrigado pela informação. Foram cerca de 20 anos desde que fiz tudo em Pascal. Talvez eu tente isso. Tente encontrar uma maneira de criar uma dll que exporta as funções que você precisa com o VB. Não tenho certeza se é possível, acho que você precisa criar um objeto activex que deve estar cadastrado e, de alguma forma, pode usar isso como uma dll comum em MT4 (existem alguns artigos sobre VB para criação de dlls na web) . Eu não uso o VB sozinho, então eu não posso ser de grande ajuda com as coisas específicas do VB, mas se o VB geralmente não é adequado para determinadas tarefas de programação, você pode estar interessado em procurar outros idiomas com mais facilidade de integração.

No comments:

Post a Comment