Substituição de funções dos arquivos MT4. - página 4

 
tworkman:
Além disso, não sou um especialista, mas pelo pouco que aprendi sobre winsock, as funções de escuta são funções de bloqueio, o que significa (acho) que a aplicação (mt4) precisa ser multi-tarefa. Ele teria que alternar entre ouvir uma mensagem recebida e fazer seu próprio trabalho...

O mt4 já é multi rosqueado. Cada gráfico tem sua própria rosca. A fim de usar as funções de bloqueio do winsock, deseja-se anexar um roteiro a um gráfico com um loop contínuo. O script pode então definir/desajustar algumas variáveis globais que, por outro lado, podem ser usadas por qualquer EA.

 
 

MT4 no servidor SQL - como transferir dados?

Beluck:
bem feito , mas as funções de arquivo (assim como muitas outras) podem ser usadas diretamente das dlls API do windows.

exemplo de importação da função de cópia de arquivo:

#importar "Kernel32.dll

bool CopyFileA (string source_file, string destination_file, bool if_exist);

com DLLs você pode fazer muitas coisas, como acesso a banco de dados SQL e assim por diante.

Obter os registros e citações do MT4 em um banco de dados SQL seria ótimo.

Mas eu não sei como fazer isto funcionar.

Alguém poderia explicar passo a passo com amostras de código como transferir automaticamente esses dados para o servidor SQL?

 

codersguru,

Você ainda acha que estas funções baseadas em soquetes são uma boa idéia? Gostaria de saber se você já investigou de alguma forma? Por favor, me informe se você não teve tempo, ou simplesmente desistiu da idéia.

Obrigado.

 
tworkman:
codersguru,

Você ainda acha que estas funções baseadas em soquetes são uma boa idéia? Gostaria de saber se você já investigou de alguma forma? Por favor, me informe se você não teve tempo, ou simplesmente desistiu da idéia.

Obrigado.

tworkman,

Meu problema é a hora, eu não desisti da idéia.

Informá-lo-ei com a atualização assim que eu tiver tempo.

 

Olá novamente,

Eu tenho trabalhado com um amigo para escrever uma dll em c++ que faz essas coisas de netcomm, mas eu não consigo superar o problema mencionado acima: não consigo chamar o nome da função da dll ' dllname.dll'.

Se e quando seu tempo permitir, você estaria disposto a dar uma olhada na fonte e me avisar se você puder ver o que está errado? Na verdade, tentamos compilar com dois compiladores diferentes de c++, e ainda assim obtemos o mesmo erro. Até pegamos o código fonte de amostra que o mt4 entrega, e obtemos o mesmo erro quando tentamos chamar essas funções. Parece que deve ser um problema de compilação.

Por favor, me avise.

Obrigado.

 
tworkman:
Olá novamente,

Eu tenho trabalhado com um amigo para escrever uma dll em c++ que faz essas coisas de netcomm, mas eu não consigo superar o problema mencionado acima: não consigo chamar o nome da função da dll ' dllname.dll'.

Se e quando seu tempo permitir, você estaria disposto a dar uma olhada na fonte e me avisar se você puder ver o que está errado? Na verdade, tentamos compilar com dois compiladores diferentes de c++, e ainda assim obtemos o mesmo erro. Até pegamos o código fonte de amostra que o mt4 entrega, e obtemos o mesmo erro quando tentamos chamar essas funções. Parece que deve ser um problema de compilação.

Por favor, me avise.

Obrigado.

tworkman,

Você tentou o código fonte da minha dll? ele está escrito em VC++.

Por favor, tente compilar meu código fonte e me diga o que você conseguiu.

 
tworkman:
Nós até pegamos o código fonte de exemplo que o mt4 entrega, e obtemos o mesmo erro ao tentar chamar essas funções. Parece que deve ser um problema de compilação.

Por favor, me avise.

Obrigado.

Isto não é bom. Não tenho problemas com a compilação. Talvez simples demais, mas você já ativou as funções DLL de chamada do MT4?

 
michal:
Isto não é bom. Não tenho problemas com a compilação. Talvez simples demais, mas você já ativou as funções DLL de chamada do MT4?

Claro, você tem que habilitar "Permitir a importação de DLL".

 

Sim, eu tenho a caixa Permitir a importação de DLL marcada.

Quando tento abrir o arquivo dsw do seu código, recebo um aviso de que o projeto deve ser convertido para o formato VC++ atual. Estou usando a versão .Net. Poderia ser este o problema? Sei muito pouco sobre o C++, por isso não tentei ir mais longe. O amigo que estava me ajudando não tem estado disponível ultimamente.