Crie sua própria extensão MetaTrader (dll) - página 5

 

Vejo que você é um grande homem de negócios????

Este não é o fórum onde você pode vender tanta merda que você tem.

O que exatamente você modificou no DGC OZFX EA

firedoji:
Fácil!! Basta baixar todo o e-book do forex e ver as instruções no interior. Eu recebo mais de 200++ e-book de lá e alguns EA também... Todos os EA de lá são editados e modificados...

-----------------------------------------

Baixar todos os EA Baixar todos os indicadores Baixar o e-book
 
prasxz:
é possível fazer a mt4 dll conectada ao serviço web e fazer o php script para mostrar a posição aberta da MT4 através de um site, para que as pessoas sem MT4 possam vê-la do site em tempo real ?

Alguém postou há algum tempo um exemplo MQL / MySQL que funcionou muito bem, o único problema com ele é que a maioria das empresas de hospedagem não permite acesso remoto aos seus servidores de banco de dados. Entretanto, se você tivesse acesso e controle total ao seu servidor, você escreveria um EA que se conectaria ao seu banco de dados e inseriria os dados para cada novo pedido. Então, a partir de seu site simplesmente se conectaria ao banco de dados e leria os dados ... Na minha opinião, esta seria a melhor abordagem.

Agora uma DLL MT4 pode se conectar a um script php, mas eu nunca tentei passar as informações da EA para o site, mas consegui fazer o contrário ... Você teria que olhar os soquetes do Windows, e funções como HTTP_GET / HTTP_POST.

Patrick

 
Mistigri:
Não tem certeza, essa biblioteca parece familiar, você está usando isso para se conectar a um website? Você já tentou usar wininet.lib em vez disso?

Eu não acho que o problema aqui é o arquivo def ou sua dll nem mesmo carregaria e funcionaria corretamente ... Se você puder fornecer mais informações ( ou seja, alguma parte do código que você está usando na dll ) então talvez eu possa tentar ajudar.

Patrick

Oi Patrick!

Eu encontrei a biblioteca e o código fonte aqui:

https://www.mql5.com/en/forum/178272

Coloquei lá meu posto, mas a administração o mudou para este tópico.

Obrigado!

 

Arquivo de leitura localizado na internet

Hi,

Eu quero que um EA leia um arquivo, que não esteja localizado na máquina local, mas na Internet.

FileOpen só funciona quando o arquivo está localizado no diretório do metatrader.

Eu o cansei com um c#-dll, mas recebo a mensagem de erro "cannot call function".

O s.o. tem uma solução fácil para este problema?

Obrigado

 

Solução ao erro 127 - não pode chamar a função

Solução ao erro 127 - não pode chamar a função

Certo,

Finalmente voltei a olhar para isto na noite passada. O problema tem a ver com a associação do arquivo def errado ou do arquivo nodef com a dll.

É assim que você corrige isso no Visual Studio 2008 Express -

1) Ir para projeto, propriedades - ou alt-F7

2) Vá para Linker - clique duas vezes sobre ele e você receberá uma lista suspensa

3) Selecione a Entrada

4) Altere o arquivo de definição de módulo para ser o que quer que você tenha nomeado seu arquivo def

Certifique-se de que ele tenha o caminho e o nome completo do arquivo - tal como .\MyDef.def

Na versão 2008 Express, isto não é gerado automaticamente como nas versões profissionais.

Este é o principal culpado. Pode haver outros problemas de linker/compiler que ainda podem causar um problema. O que você precisa fazer é carregar o projeto de exemplo ExportFunction que é enviado com o Metatrader4. Isto pode ser encontrado na pasta experts/DllSample. Agora vá e veja suas propriedades página por página, item por item, e em todos os lugares que diz ExportSample, ou ExpertSample, (ou o que quer que use em relação a suas convenções de nomenclatura) altere suas propriedades para corresponder a suas próprias convenções de nomenclatura. Eu passei e fiz este item por item, e então verifiquei se obtive o 127 erro. Continuei recebendo esse erro até que o arquivo de definição do módulo correto fosse declarado como dependência. Não estou dizendo que pode não haver outras coisas além disso, porque mudei tudo para corresponder à amostra, mas uma vez que o arquivo def foi explícito, isso o consertou.

Lembre-se que a dll tem que estar na pasta lib. Você tem que ter um arquivo mqh no diretório include que explicita a dll, e lista os nomes das funções com parâmetros, tipos de retorno, etc. E então, em seu indicador ou especialista, você deve incluir o arquivo de cabeçalho. Isso deve ser feito.

CodersGuru e Mistigri têm ambos bons exemplos de como fazer isso, mas as versões Express não-profissionais não explicitam o arquivo def como uma dependência, e essa é a raiz do problema que todos nós usando as versões Express temos. (Pelo menos não se explicita ao selecionar o projeto em particular para fazer com que nós, que temos o problema, selecionemos).

Veja a imagem em anexo. Lembre-se, você provavelmente ainda quer ter certeza de que seus valores de compilador e linker correspondem aos da amostra de função de exportação que vem com Metatrader.

Cumprimentos,

MG

Arquivos anexados:
properties.jpg  75 kb
 
fedecosta:
Olá Patrick!

Encontrei aqui a biblioteca e o código fonte:

https://www.mql5.com/en/forum/178272

Coloquei lá meu posto, mas a administração o mudou para este tópico.

Obrigado!

Desculpe ainda não ter tido a oportunidade de olhar para ele, tenho estado ocupado, mas não esqueci e vou tentar voltar a falar com você sobre isso.

Peco07:

Quero que um EA leia um arquivo, que não está localizado na máquina local, mas na Internet.

Você tem 2 opções, escreva um aplicativo C# que se conectará ao site, escreva um arquivo de dados em seu computador e o leia do MT4 ou escreva uma dll C++ que se conectará ao site leia os dados ....

Se você seguir a rota C#, até agora parece muito mais rápido do que a rota da DLL ... Se você quiser escrever uma DLL C++ aqui está algum código para ajudá-lo a começar.

MT4 DLL Web Connect | Mistigri

MG_1:

O problema tem a ver com a associação do arquivo def errado ou nenhum arquivo def com a dll.

É assim que você corrige isso no Visual Studio 2008 Express -

Obrigado pela informação! Se você não se importa, reproduzirei algumas partes de seus posts em meu site...

 
Mistigri:
Obrigado pela informação! Se você não se importa, reproduzirei algumas partes de seus posts em meu site...

Não há problema, eu sei que muitas pessoas vão lá para aprender, então espero que isso ajude os usuários do Express e os usuários de gnu, etc.

-MG

 
fedecosta:
Olá, pessoal!

Tenho um problema ao tentar usar esta biblioteca.

Coloquei-os na biblioteca de especialistas em metatrader

Eu defino corretamente o caminho para o arquivo .def

... mas minha EA imprime no registro este erro: -65495

Qual pode ser o problema?

E, em sua maioria, como resolvê-lo?

É possível que o arquivo .def possa ser corrompido?

Obrigado antecipadamente...

Olá Fedecosta,

Tente copiar o arquivo def diretamente embaixo de sua unidade c:\ Isso parece funcionar para mim.

Note que isto não tem nada a ver com programação DLL, é específico para esta EA...

Patrick

 
Mistigri:
Oi Tim,

Ao utilizar dev-c++ o arquivo def é gerado automaticamente para você, o problema é que você acaba com nomes de funções que se parecem com isto :

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

Em anexo estão os arquivos de exemplo que fiz para o VS2008, mas desta vez usando dev-c++ ...

Espero que isso ajude

significa que ao escrever um arquivo dll,

a função no arquivo def deve adicionar _z12 no início?

ou seja, em arquivo .mq4

chamada finction: get_max_deviation

então em arquivo .def

a função transferida : _z12get_max_deviation????

o que significa para o @ número após o nome da função

obrigado

 
Mistigri:

Em anexo estão os arquivos de amostra que fiz para o VS2008, mas desta vez utilizando o dev-c++ ...

Espero que isto ajude

Arquivos anexos

MistigriFX Amostra Debug.mq4 (2.1 KB, 15 visualizações)

MSFXDEV.zip (8.6 KB, 17 visualizações )

Eu tenho seus arquivos, e compilarei o .cpp pela mostra de fotos

mas ocorrem erros

Como posso compilar o meu método de compilação errado, como posso compilá-lo para dll ? (eu sou um iniciante c++ ^^)

Arquivos anexados:
dev_dll.jpg  298 kb