Sunday 26 November 2017

Forex vb net


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 gerenciada em uma função direta não gerenciada. É em: codeprojectArticles37675Simple-Method-of-DLL-Export-without-C-CLI Exemplo do meu código VB: Após a compilação do código acima, eu apenas executo o DLLxxportradutor. dll DLLExporter e ele 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 um monte de pesquisas 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 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 o ccli. 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 de pinvoke codeprojectArticles4965 Using-Platform-Invoke Em qualquer caso, você ainda precisa escrever código nativo c. Respondeu 28 de fevereiro às 20:34 Obrigado pela informação. É útil. Mas eu já encontrei uma resposta como fazê-lo, não o ideal, mas funciona. Veja a minha resposta. Cheersd. Ndash Joseph Lee Mar 4 13 às 2:10 Há um projeto de código aberto, que lhe dá acesso quase completo ao mtmanapi: MetaTrader4.Manager. Wrapper. Está escrito em CCLI, então não será um problema para usá-lo da VBI, procurando por um corretor que forneça uma API de negociação gratuita para o FX. O objetivo é desenvolver algoritmos em casa em C (possivelmente Qt) para serem executados em um portfólio falso e, em seguida, em dinheiro real com taxas de corretor competitivas. Você saberia alguma comparação de tais APIs O que você acha da OANDA Dukascopy TD Ameritrade Aqui está a lista de APIs que encontrei até agora: Delta Trading API FxSpyder AVAFx Dukascopy API de negociação bancária TD Ameritrade FxCM Eu acho que MattWolf mostrou um bom ponto, os corretores don39t Tem interesse em fornecer API com base em infra-estrutura de mercado falso, por causa de nenhuma renda com isso. Normalmente, os testes são cobertos por aplicativos de plataforma de negociação de terceiros baseados em dados baixados do corretor executados em máquinas cliente locais. Quando você quer testar sua estratégia, você pode fazer simulações internas com api e próxima simulação real usando o capital baixo ou encontrar o sistema de teste fora da infraestrutura do corretor quando estiver baseado em alguns protocolos bem conhecidos. Ndash BlackMamba 27 de outubro 13 em 10: 12Programação de serviços Aviso de investimento de alto risco: a negociação de divisas e contratos para diferenças de margem traz um alto nível de risco e pode não ser adequado para todos os investidores. Existe a possibilidade de que você possa sustentar uma perda em excesso de seus fundos depositados e, portanto, você não deve especular com o capital que não pode perder. Antes de decidir trocar os produtos oferecidos pela FXCM, você deve considerar cuidadosamente seus objetivos, situação financeira, necessidades e nível de experiência. Você deve estar ciente de todos os riscos associados à negociação na margem. A FXCM fornece conselhos gerais que não levam em consideração seus objetivos, situação financeira ou necessidades. O conteúdo deste site não deve ser interpretado como um conselho pessoal. A FXCM recomenda que você procure o conselho de um consultor financeiro separado. Clique aqui para ler o aviso de risco total. A FXCM é uma negociante de câmbio mercantil e varejista registrada da Futures Commission com a Commodity Futures Trading Commission e é membro da National Futures Association. NFA 0308179 Forex Capital Markets, LLC (FXCM LLC) é uma subsidiária operacional do grupo de empresas FXCM (coletivamente, o Grupo FXCM). Todas as referências neste site para FXCM se referem ao Grupo FXCM. Tenha em atenção que as informações contidas neste site destinam-se apenas a clientes de varejo e certas representações aqui contidas podem não ser aplicáveis ​​aos Participantes de Contrato Elegíveis (ou seja, clientes institucionais) conforme definido na Lei de Câmbio de Mercadorias, seção 1 (a) (12). Direitos autorais copiam 2017 Forex Capital Markets. Todos os direitos reservados. 55 Water St. 50th Floor, Nova Iorque, NY 10041 USAVisual 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 Abr 2007 Status: Recebendo kick in the nutz todos os dias 721 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